时钟节拍(系统时钟)

Cortex M3系列的系统时钟算法:
 
时钟来源是主振荡器(MOSC)或12MHz内部振荡器(IOSC),最终产生的系统时钟(System Clock)用于Cortex-M3处理器内核以及大多数片内外设,PWM(脉宽调制)时钟在系统时钟基础上进一步分频获得,ADC(模-数转换)时钟是恒定分频的16.667MHz输出(一般要求启用锁相环PLL)。

锁相环PLL

Stellaris系列ARM内部集成有一个PLL(Phase Locked Loop,锁相环)。PLL输出频率固定为400MHz(Sandstorm家族为200MHz),误差±1%。如果选用PLL,则MOSC频率必须在3.579545~8.192MHz之间才能使PLL精确地输出400MHz。

经OSC或PLL产生的时钟可以经过1~64分频(Sandstorm家族只能支持到16分频)后得到系统时钟(System Clock),分频数越大越省电。

注意:由于Cortex-M3内核最高运行频率为50MHz,因此如果要使用PLL,则至少要进行4以上的分频(硬件会自动阻止错误的软件配置)。启用PLL后,系统功耗将明显增大。

注意:在所有型号中,不论PLL输出是200MHz还是400MHz,只要分频数相同,则对PLL的分频结果都是一样的,统一按照200MHz进行计算。

例如,LM3S615芯片的PLL是200MHz输出,LM3S1138芯片的PLL是400MHz输出,但执行以下函数调用后,最终的系统时钟都是50MHz:

SysCtlClockSet(SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_6MHZ | SYSCTL_SYSDIV_4);

永不止步步 发表于01-19 10:48 浏览65204次
分享到:

已有0条评论

暂时还没有回复哟,快来抢沙发吧

添加一条新评论

只有登录用户才能评论,请先登录注册哦!

话题作者

永不止步步
金币:67410个|学分:305017个
立即注册
畅学电子网,带你进入电子开发学习世界
专业电子工程技术学习交流社区,加入畅学一起充电加油吧!

x

畅学电子网订阅号