S.D.Lu的MSP430入门学习笔记(4):
时钟选择(2)VLO、LFXT1和XT2
MSP430最多可提供4种时钟源:DCO、VLO、LFXT1和XT2,有些器件不包含XT2或LFXT1。
VLO是一个内部超低功耗、低频率振荡器,上图中的时钟源1,其频率为12KHz。
其使用方法请参考TI官方例程“msp430g2xx2_1_vlo.c”,在此不作赘述。
LFXT1是外部时钟源,它有LF和HF两种模式,分别支持外部低频和高频时钟。
XT2是外部高频时钟源,支持0.4~16MHz高频时钟。
(注:G2xx2系列没有XT2,G2xx2系列LFXT1不支持HF模式。
)
MSP430的主时钟、子时钟和辅助时钟,可以分别通过相应的寄存器控制位选择4种时钟源中的一种作为其来源。
之后还可以通过分频器分频,得到想要的时钟频率。
主时钟是CPU运行的时钟源,子时钟和辅助时钟是各个片内外设的时钟源。
在MSP430系统中,有时为了降低功耗会关闭CPU和一些外设,同时要求一些外设继续工作。
和时钟模块相关的寄存器只有6个,时钟配置的过程就是设置这些寄存器。
具体各寄存器的各个位的功能请查看《MSP430x2xx系列用户指南》(中文版)第五章。
时钟的切换
一次PUC之后,基本时钟模块将DCOCLK用于MCLK。
如果需要将MCLK时钟源改为LFXT1或XT2。
把MCLK的源从DCO时钟转换成晶振时钟(LFXT1CLK 或XT2CLK)的顺序是:
1. 打开晶体振荡器并选择合适的模式
2. 清零OFIFG标志
3. 等待至少50uS
4. 测试OFIFG,并重复2至4的步骤,直到OFIFG保持被清零。
作者:S.D.Lu
深圳
2014-3-25。