ARM cortex a 之时钟系统1

发布时间:2020-07-15 09:52:05 作者:飞寞
来源:网络 阅读:622

ARM cortex a系列的时钟系统是一个非常复杂而且麻烦的东西,下面我们首先明确一些概念和东西。

本部分主要介绍一下时钟系统的初始化工作,以及里面的一些原理。

S5PV210的时钟系统是一个非常麻烦的东西,首先需要时钟信号的产生,时钟发生器只有和晶振一起工作才能产生时钟信号,这两个单独使用的话是没有任何作用的。


时钟系统分为三个大域:即主系统(MSYS),显示系统(DSYS),和外围系统(PSYS)。

(1)MSYS域包括cortexA8处理器,DRAM内存控制器(DMC0和DMC1),3D,内部SRAM((IRAM, and IROM),

INTC和配置接口(SPERI)。cortex—A8仅支持同步模式,因此它必须在200 mhz 的AXI总线上同步操作。

(2)DSYS域包含显示相关模块,包括FIMC FIMD,JPEG,多媒体IPs(所有在X,L,T模块中提到的“IPs”),

(3)PSYS域用于安全、I/O设备,和低功耗音频。


时钟的来源:

1、从时钟信号来,比如XRTCXTI, XXTI, XUSBXTI, 以及 XHDMIXTI

2、从CMU来,例如ARMCLK, HCLK, PCLK

3、从USB协议中来

4、从GPIO中输入

内部外设的时钟来源源于:晶振+时钟发生器+PLL锁相环+分频电路

特别提示:XUSBXTI中,推荐使用24 mhz晶振因为iROM设计的是基于24 mhz的时钟输入。

HDMI:高清晰度多媒体接口(High Definition Multimedia Interface)

AMBA(Advanced Microcontroller Bus Architecture)协议,是一种面向高性能、高带宽、低延迟的片内总线。

它的地址/控制和数据相位是分离的,支持不对齐的数据传输。AXI:一种总线协议。


内部时钟生成,使用以下组件:

APLL以FINPLL作为输入来产生30MHz ~ 1GHz的时钟

MPLL以FINPLL作为输入来产生50MHz ~ 2GHz的时钟

EPLL以FINPLL作为输入来产生10MHz ~ 600MHz的时钟

VPLL使用FINPLL或SCLK_HDMI27M作为输入来生成10MHz~600MHz的时钟,该锁相环生成54 mhz的电子时钟。 

USB OTG PHY使用XUSBXTI来产生30MHz和48MHz的时钟 

HDMI PHY使用XUSBXTI或者XHDMIXTI来产生54MHz


Cortex A8和MSYS域使用APLL(即ARMCLK, HCLK_MSYS, 和PCLK_MSYS)

DSYS和PSYS clock域(即HCLK_DSYS,HCLK_PSYS,PCLK_DSYS,PCLK_PSYS)和其他外围时钟(即audio IPs, SPI,等)使用MPLL和EPLL

Video时钟(电子/视频时钟使用VPLL

时钟控制器允许绕过PLL来获得低频时钟信号,而且也可以通过软件编程来控制时钟和功能模块的连接和断开。


各个时钟的典型值:

 freq(ARMCLK)       = 1000 MHz 

 freq(HCLK_MSYS)     = 200 MHz 

 freq(HCLK_IMEM)     = 100 MHz 

 freq(PCLK_MSYS)     = 100 MHz 

 freq(HCLK_DSYS)     = 166 MHz 

 freq(PCLK_DSYS)     = 83 MHz 

 freq(HCLK_PSYS)     = 133 MHz 

 freq(PCLK_PSYS)     = 66 MHz 

 freq(SCLK_ONENAND)   = 133 MHz, 166 MHz


PLL锁相环(频率加倍电路)

 APLL可以驱动MSYS域和DSYS域. 可以产生达到1 GHz, 49:51占空比的时钟. 

 MPLL可以驱动MSYS域和DSYS域.它提供 2 GHz和40:60占空比的时钟. 

 EPLL主要用来产生音频时钟. 

 VPLL主要用来产生视频系统操作时钟,54 MHz.  

 比如典型设置中, APLL驱动MSYS域,MPLL驱动DSYS域. 


推荐阅读:
  1. ARM cortex a 之串口通信2
  2. ARM cortex a 的串口通信

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

arm cortex te

上一篇:怎么使用python count函数

下一篇:C++编程->预编译指令小结

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》