MSP430F5529 的统一时钟系统UCS-1
[复制链接]
1、以后要配置时钟的地方到处都是。 2、打字好累,上传更累; 3、之后我会发布PDF版,有心的同学可以下载学习。 之前有一点漏说明了,先补充上 ***************************************************************还有一个模块时钟源:MODOSC,产生MODCLK时钟源信号,一般只为闪存控制模块和ADC12模块提供服务。 该模块不被使用时自动关闭,任何模块对该时钟源提出使用要求时,MODOSC无需被使能即可响应该请求。430F5529中MODCLK为5MHZ。 *************************************************************** MSP430F5529有多个时钟源,而且很多模块其时钟源都是可以自由选择的。此外,由于一般情况下,系统功耗是和工作频率成正比的,因此有些时候通过选择较低频率的时钟源,在满足正常工作条件下,是可以有效降低功耗的。虽然函数库HAL_UCS.c/h,有完整的各个控制函数,但我觉得对于这一章还是对寄存器直接操作比较简单,因为函数太短、太多了。 3.1统一时钟系统(UCS)的简介 Unified Clock System,UCS。合理的配置时钟,可以达到平衡系统且降低功耗的目的。 MSPF5529时钟系统包含5个时钟源: ①LFXT1 外部低频振荡源,32.768KHZ,可以用作FLL的参照源; ②XT2 外部高频振荡源,4MHZ; ③VLO (Internal very low)内部低耗低频振荡源,典型为10KHZ,精度一般; ④REFO 内部低频参照源,32.768KHZ,常被用作锁相环FLL的基准频率,精度很高,不使用时不消耗电源,其设置往往要参考LPM模式的的设置; ⑤DCO (Internal digitally-controlled)内部数字控制振荡源,一般通过FLL来设置;(很有用,很重要,之后会详细讲) 通常使用3种时钟信号,它们都来自于上述5个信号源: ①ACLK (Auxiliary clock)辅助时钟,其时钟源可由软件控制从XT1、REFOC、VLO、DCO、DCOCLKDIV、XT2里面选取。其中DCOCLKDIV是由DCO经1、2、4、8、16或者32分频得到。注意,ACLK同样可以再次被1、2、4、8、16或者32分频。 ②MCLK (Master clock)主时钟,其特性与ACLK一模一样。 ③SMCLK (Subsystem master clock)子系统时钟,其特性与ACLK一模一样。 3.2 UCS的操作说明 开机上电时默认的时钟情况为(必须记清楚!!!!): ACLK:XT1(无效时,低频模式切换为REFO,其他情况切换为DCO) MCLK:DCOCLKDIV SMCLK:DCOCLKDIV 此外,FLL的参照源默认XT1; 如果连接XT1和XT2的引脚不进行PXSEL的设置,那么这两个时钟源都是无效的; REFOCLK、VLOCLK、DCOCLK默认状态下是可用的; 系统稳定后,DCOCLK默认为2.097152MHZ,FLL默认2分频,则MCLK和SMCLK的频率都为1.048576MHZ。(实验三会提到如何计算) 另外,系统复位、系统工作模式LPM的选择都会对UCS有一定影响,这里限制太多,具体可参考TI官方资料UCS部分。LPM以及系统复位下章将会讲到。 关于操作说明的简单总结:(下面基本都是废话,了解即可) ①VLO的选择是最简单的,不需要顾及其它情况; ②REFO的选用,需要参考不同的工作模式,有多种限制; ③XT1和XT2特点相同。使用的时候,不仅要配置与其相连的引脚,还要配置电容,还要注意其本身工作在低频还是高频模式。而且,在不同工作模式下也有不同的要求; ④DCO作为数控振荡器,其频率的调节不仅可以通过自身设定,也可以通过FLL锁相环设定; ⑤FLL锁相环,是变换频率的灵活选择。它既可以设置基准频率,也可以选择分频数,还可以被直接关闭来实现降低功耗等目的; ⑥UCS系统带有时钟信号错误保护机制; ⑦对有严格时序要求的地方,要选择精度高的时钟源,并且做好FLL和DCO部分的调制设置; ⑧不同模式下(有些时钟源是禁止的)的时钟控制图:(只需用到的时候注意一下即可,查表)
|