aerkate

MSP430时钟系统四【原创】

0
阅读(4506)

 

又到周末了,做了两个小时的车从公司回到学校,看看周围那熟悉的环境,不枉这么长时间的煎熬啊。

回首前面主要是以msp430x1xx为模板介绍的此款单片机的时钟模块,其他各系列的时钟模块主体相同,只是根据需要有了些小的差异,下面我们来简单的认识一下,然后结束时钟模块的旅程。

上图是msp430x2xx的基础时钟模块的方框图,我们可以看到它与msp430x1xx系列可见的主要区别在于增加了一个VLOCLK部分。

Internal Very Low Power, Low Frequency Oscillator

内部的超低功耗、低频率振荡器(VLO )在不需要晶振的情况下能够提供12KHz 时钟频率。在XTS=0时通过设置LFXT1Sx = 10来选择VLOCLK时钟源。我们可以通过设置OSCOFF位来关闭VLO进而是系统进入低功耗模式LPM4 工作状态。当VLO被选做低功耗时LFXT1被禁止。并且VLO在不使用时不消耗能量。

 

我们需要注意的是并不是所有的MSP430x2xx 系列器件都具有一样的时钟特性。例如在MSP430x20xx中LFXT1 不支持高频模式,也没有XT2,不支持晶体振荡器。在MSP430x21xx中没有内部低功耗/低频振荡器,没有XT2,不支持晶体振荡器。而MSP430x22xx中没有XT2。因此我们需要根据不同的单片机来具体选择ACLK、MCLK和SMCLK的时钟来源。

 

MSP430x4xx单片机功能比较强大,时钟系统也比较特别,还没有用过啊,就顺便说说吧。

在MSP430x4xx整个系列中都使用了一个全新的模块—FLL+clock module(锁频环时钟模块)。

上图是MSP430x4xx的时钟模块结构,需要注意MSP430F41/42x系列时钟模块没有XT2部分。

DCOCLK可以用作MCLK和SMCLK,由于RC振荡器DCO的频率会因温度和电压的不同而变化,FLL+通过频率积分器和调制器自动调使DCOCLK的频率趋于稳定。

数字倍频环是一种非常巧妙的电路。核心部件是数控振荡器和一个频率积分器。FLL+通过比较ACLK和DCOCLK/(N+1)的大小,在频率积分器产生一个10位的频率偏差,频率积分器的输出控制着DCOCLK以这个偏差来调整频率,形成一个调整反馈环。

负反馈的最终效果是fDCO/(N+1)=ACLK,也就是fDCO=(N+1)ACLK,从而实现倍频。DCO频率积分器的输出可以在SCFI0和SCFI1中读出。理论上通过环路分频系数N可以实现2~128倍频,再加上DCO额外分频系数FILDx,最大能实现1024倍频。复位后的默认N=31,DCOPLUS=0,相当于对ACLK进行32倍频。对于32.768KHz晶振,MCLK和SMCLK均为32*32.768KHZ=1.048MHz,在一般的应用中可以无需更改了。

 

设ACLK=LFXT1=32768Hz,令MCLK=SMCLK=DCOCLK=8MHz,将MCLK和ACLK分别通过P1.1和P1.5输出。

 

好了 时钟系统算是可以先告一段落了,然后下面要说什么呢,还需要想一下,我发现好像漏掉了上电复位那一点