ARM时钟体系(ARM9)
首先要明确一点,在编写带有时序性质的程序时,如果没有思路可以先了解其工作时的时序图,这一点是非常重要的。一个时序图能够清楚的描述其运行的整个过程,弄懂时序图会对编程思路有着明显的提升。
本次学习使用的开发板为:JZ2440
ARM版本为:AMR9
一、时钟框架概述
1.框架结构
在讲解如何通过程序改变芯片的运行时钟频率之前,先搞清楚ARM9时钟框架,如下图所示为S3C2440芯片手册上关于时钟框架的框架图。
通过观察上述的框架图可以发现,整个SOC被划分成了三部分,可以总结为:CPU部分、AHB总线设备部分、APB总线设备部分。而且AHB总线设备一般包括LCD、Camera、Nand Flash等,APB总线设备一般包括UART、IIC、SPI、GPIO等。三部分所使用到的时钟频率是不相同的,因此需要给特定的部分设置特定的频率。
2.时序图分析
(1)首先可以看到当CPU一开始上电时,系统并没有立刻进行复位操作,而是过了一段时间之后[t]之后才开始复位操作,这样做的目的是因为当系统刚上电时,电压不稳定,因此需要延时一会等待电压稳定后再进行复位操作。