这次的帖子是结合我学习M0手册中有关时钟的章节来分享下学习经验的。说得不好大家海涵~~!
ARM系列控制器有个特点,就是可以把时钟频率倍增到很高,M0倍增到好像最高是48MHZ,其他的像
ARM11的处理器主频为433MHZ,所以M0是ARM入门级别的内核。
M0时钟包括,系统时钟有三个(CPU时钟,HCLK,PCLK),所以外设时钟。12M表示外部晶振时钟源
,就是我们一般开始初始化用的那个时钟。22M表示内部RC时钟,22MHZ表示外部的一个晶体振荡器(一般用于实时时钟)。10K表示内部的10KHZ的RC时钟源。
时钟源的功能大概有(电源控制功能,个别时钟开关的控制,时钟源的选择和分频)各个部件的时钟使能和复位都需要这个来完成。
时钟发生器的框图:左边的是三个不同的时钟频率,其中第一个和第二个可以通过选择器来使能PLL模块,进行对时钟的倍频功能.
系统时钟的框图:通过对4个时钟信号选择及是否进入掉电模式来确定系统时钟源。其中AHB是系统时钟分频器,它可以给AHB提供时钟还给内核,存储器及APB提供时钟。
外围设备时钟选择框图:不同的外设工作所需要的频率有所不同,所以在调用各个模块的时候,要对外
设进行时钟的选择。
分频器模块:进行分频率模块,把分出来的频率应用到不同的资源上去。(利用这个可以使小灯亮的程度发生变化)先对时钟源进行选择,在通过APB时钟分频的选择,可以选取分频器的时钟源。
哪里有说的不对的,请帮我指出来,以便共同进步~~ |