一、什么是时钟?SoC 为什么需要时钟?
- 时钟是同步工作系统的同步节拍。
- SoC 内部有很多器件,譬如 CPU、串口、DRAM 控制器、GPIO 等内部外设,这些东西要彼此协同工作,需要一个同步的时钟系统来指挥。这个就是我们 SoC 的时钟系统。
二、时钟一般如何获得
- SoC 的时钟获得一般有:
- 外部直接输入时钟信号,SoC 有个引脚用来输入外部时钟信号,用的很少。
- 外部晶振 + 内部时钟发生器产生时钟,大部分低频单片机都是这么工作的。
- 外部晶振 + 内部时钟发生器 + 内部PLL产生高频时钟 + 内部分频器分频得到各种频率的时钟,210属于这种。
- S5PV210 属于第三种。为什么这么设计?
第一问:为什么不用外部高频晶振产生高频信号直接给 CPU?
主要是因为芯片外部电路不适宜使用高频率,因为传导辐射比较难控制;高频率的晶振太贵了。
第二问:为什么要内部先高频然后再分频?
主要因为 SoC 内部有很多部件都需要时钟,而且各自需要的时钟频率不同,没法统一供应。因此设计思路是 PLL 后先得到一个最高的频率(1GHz、1.2GHz),然后各外设都有自己的分频器再来分频得到自己想要的频率。
三、时钟和系统性能的关系、超频、稳定性
- 一般 SoC 时钟频率都是可以人为编程控制的,频率的高低对系统性能有很大影响。
- S5PV210 建议工作频率 800MHz~1.2GHz,一般我们都设置到 1GHz 主频。如果你设置到 1.2GHz 就叫超频。超频的时候系统性能会提升,但是发热也会增大,因此会影响系统稳定性。
四、时钟和外设编程的关联
- 每个外设工作都需要一定频率的时钟,这些时钟都是由时钟系统提供的。时钟系统可以编程控制工作模式,因此我们程序员可以为每个外设指定时钟来源、时钟分频系统、从而制定这个外设的工作时钟。
五、时钟和功耗控制的关系
- SoC 中各种设备工作时,时钟频率越高其功耗越大,发热越大,越容易不稳定,需要外部的散热条件越苛刻。
- SoC 内部有很多外设,这些外设不用的时候最好关掉(不关掉会一定程度浪费电),开关外设不是通过开关,而是通过时钟。也就是说我们给某个外设断关时钟,这个外设就不工作了。
源自朱有鹏老师.