锁相环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);