目录
描述
根据S3C440芯片手册MPLL的取值表格,修改程序让CPU运行于不同频率,观察LED闪烁速度
解答
关于ARM的时钟发生器如图
对应的锁相环:
因此,我们要通过控制 MPLL , HDIV , PDIV( MPLLCON 与 CLKDIVN ) 得到FCLK时钟
原理如下:
设置MPLL,FCLK:HCLK:PCLK=400m:100m:50m,在start.S中的汇编代码
CLKDIVN(0x4C000014)=0X5 , tFCLK:tHCLK:tPCLK=1:4:8
设置CPU工作于异步模式
MPLL锁相环得到的时钟直接供给FCLK,而FCLK就是CPU使用的频率,因此设置MPLLCON寄存器就可以设置FCLK时钟
修改前在start.S中的汇编码,FCLK=400 MHz
修改后在start.S中的汇编码,FCLK=271.50 MHz
一旦设置PLL,就会锁定lock time直到PLL输出稳定,然后CPU工作于新的频率FCLK
Tist:
分别烧到板子后,原来400MHz,此时对应MDIV : PDIV : SDIV = 92 : 1 : 1
,现在降低频率,修改为MDIV : PDIV : SDIV =
173 : 2 : 2
,FCLK时钟就变为271.5MHz,明显感觉LED闪烁会变慢一点