Cortex-A时钟架构

Cortex-A 时钟系统

源时钟

进入控制器的时钟源头一般有两种:一个是RTC时钟,一个是外部时钟。

其中RTC时钟频率一般为:32.768KHz。外部时钟频率24M。

具体的外围电路:

 

IMX6U的外设有很多,不同的外设需要不同的时钟。I.MX6U内部有7组时钟。而7组时钟都是来自24M晶振。具体的7组PLL如下所示:

图 2 7组PLL时钟结构

 

标号1:此路时钟供ARM内核使用。该路时钟最高频率最高到1.3GHz。此路时钟命名为ARM_PLL。

标号2:此时钟别名system_PLL,此路时钟可以分出4路PFD,作为控制器内部的系统总线时钟源。内核总线包括:DDR接口,内存接口等。

标号3:此路时钟用于USBPHY。此路时钟也可以分为4路PFD,用于各种外设。时钟频率480MHz。

标号4:PLL7,主要用于USBPHY,时钟频率480MHz。

标号5:ENET_PLL(PLL6),此路时钟主要用于网络,时钟频率是500MHz。

标号6:VIDEO_PLL(PLL5)。此时钟用于相关显示的时钟源头。相关外设如LCD。PLL的时钟频率650MHz~1300MHz。而在最终的显示输出端还可以分频,1/2/4/8/16。

标号7:AUDIO_PLL(PLL4)。此时钟用于音频相关的时钟。该路时钟的频率可以调整,频率范围650MHz~1300MHz。在音频相关的输出端可以进行分频处理,1/2/4。

时钟树

图 3 Cortex-A 时钟树架构

 

时钟频率设置

在运行过程中,如何修改目前正在使用的设备频率呢?

例如:目前的Arm内核时钟频率较低,如何修改Arm的内核时钟?

第一步:先将Arm内核的时钟切换为其它时钟源。

图 4 内核时钟来源示意

先将内核时钟切换到3处的时钟(24M)来源,将2处的时钟线路空出。这样时钟内核还在低频振动,

系统还在运行。通过设置寄存器,调整2处的时钟频率至期望值。

第二步:设置内核时钟配置,将时钟频率设置为需要设置的时钟频率。

第三步:将Arm内核的时钟频率切换为原来的时钟源。至此,选择2处的时钟源,输出PLL1时钟,这样内核时钟调整至期望频率。

posted @ 2022-08-06 21:30  JwChu  阅读(261)  评论(0编辑  收藏  举报