MSP430x2xx 系列的时钟--3
请加入286272858这个群,大家一块交流!
默认的系统复位以后MCLK、SMCLK都是接到DCOCLK的,而ACLK则是接到的LFXT1CLK的LF模式下的,并使用6pf的电容。
VLOCLK是使用的内部12Khz的频率,不用外部器件,在LPM4时可以被关闭。(上讲这里讲错了LPM4是可以关闭ACLK的)
LFXT1CLK 是使用的外部的32k的晶振,内部有负载电容,也可以接外部电容,这是低频模式。如果是高频模式的话要外加接振荡器和电容(这个不能省略)。
XT2CLK与LFXT1CLK的高频模式完全一样。
DCOCLK 内部的数控振荡器,可以有DCOx、MODx、RSELx来控制频率。也可以用外部的电阻(有的器件不支持)来调节频率。
DCOCLK是有Fdco和Fdco+1来调制输出的。使用MODx(5位)来确定输出频率的各Fdco的比例。
模块有外部晶振失效检测中断,包括:
1)LFXT1CLK 低频模式
2)LFXT1CLK 高频模式
3)XT2CLK
如果发生了失效的情况,则MCLK自动切换到DCO,并且如果其中断允许的情况下,产生一个NMI中断。这个就不详细的介绍了,以后专门做一个专题吧,有点复杂。
下面讲相应的寄存器:
一共6个寄存器:DCOCTL、BCSCTL1、BCSCTL2、BCSCTL3、IE1、IFG1
下面分别简单的介绍一个(因为不同的器件是不一样的)
BCSCTL1:XT2OFF bit 7 这个是控制XT2的使能位的;
XTS Bit6 这个是控制LFXT1的高低频率的
DIVAx Bit5-4 这个是控制ACLK的分频
RSELx Bit3-0 这个是设定DCOCLK的频率(粗调,变化大概是10…%)
DCOCLK:DCOx bit 7-5 这3位是DCOCLK频率的细调
MODx bit4 - 0 这5位是DCOCLK输出频率的比例调节(前面说过了)
BCSCTL2:SELMx:bit7-6 这两位是MCLK的时钟源的选择位
DIVMx:bit 5-4 这两位是MCLK的分频
SELS:bit3 这是SMCLK的时钟源选择位(这里有点绕)
DIVSx bit2-1 SMCLK的分频
DCOR:bit0 外部电阻的使用
BCSCTL3:XT2Sx:bit7-6 XT2的频率选择
LFXT1Sx:bit5-4 低频时钟选择(这个挺重要)根据高低频的是不同的。
XCAPx:bit3-2 电容
XT2OF:bit1 XT2高频失效检测
LFXT1OF:bit0 LFXT 失效检测(这个前面没有讲清楚,以后补充吧)。
基本上这4个就够了
后面的2个是关于失效检测的,以后补充。
看起来有点麻烦但是把里面的方框图看清楚了以后还是比较清楚的。
|