MSP430拥有一个灵活的时钟系统,并且这个时钟系统专门是为电池供电设计的。在此振荡器和系统时钟发生器的主要设计目标是廉价和低功耗。
MSP430系列单片机基础时钟主要是由低频晶体振荡器,高频警惕振荡器,数字控制器(DCO),锁频环(FLL)及FLL+等模块构成。考虑到不同的实现功能,不同系列的MSP430单片机所带的时钟模块也是恰如其分的。下图可以给出一个简单的印象。
虽然不同型号的单片机得基础时钟模块有所不同,但是这些模块产生的结果是相同的。下面我们先看一下MSP430F1XX系列饿时钟模块。
需要注意的是MSP430x11xx和MSP430x12xx系列没有XT2CLK模块,LFXT1CLK被用来代替XT2CLK,也就是说着这两个系列里面LFXT1CLK既可以接低频晶振也可以接高频晶振,但是面对有些需要同时接低频和高频晶振的情况,就需要考虑选择其他系列了。
下面来具体认识下上图中的各部分。
LFXT1CLK:低频/高频时钟源。由外接晶体振荡器,为无需外接两个震荡电容。可是使用32768Hz的手表晶振,或者是450KHz到8MHz范围内的标准晶体和谐振器。
XT2CLK:可选的高频振荡器,可通过标准晶体、振荡器或400KHz到8MHz的外部时钟源提供。
DCOLK:片内数控振荡器。
MSP430单片机时钟模块提供3个时钟信号输出,以供片内各部电路使用。
ACLK:辅助时钟信号。ACLK是从LFXT1CLK信号由1/2/4/8分频器分频后所得,由BCSCTL1寄存器设置DIVA相应位来决定分频因子。ACLK提供CPU外围功能模块做时钟信号使用。
MCLK:主时钟信号。有图可知,MCLK可以通过软件设置选择3个时钟源中的任何一个,然后经过1/2/4/8分频器分频后所得。MCLK用于CPU和系统。
SMCLK:子系统时钟。SMCLK 由软件选择来自LFXT1CLK,VLOCLK,XT2CLK,DCOCLK 之一的时钟信号,然后经过1/2/4/8分频得到。SMCLK 可由软件选作各个外围模块的时钟信号。