***************************************************************还有一个模块时钟源:MODOSC,产生MODCLK时钟源信号,一般只为闪存控制模块和ADC12模块提供服务。
该模块不被使用时自动关闭,任何模块对该时钟源提出使用要求时,MODOSC无需被使能即可响应该请求。430F5529中MODCLK为5MHZ。
***************************************************************
MSP430F5529有多个时钟源,而且很多模块其时钟源都是可以自由选择的。此外,由于一般情况下,系统功耗是和工作频率成正比的,因此有些时候通过选择较低频率的时钟源,在满足正常工作条件下,是可以有效降低功耗的。虽然函数库HAL_UCS.c/h,有完整的各个控制函数,但我觉得对于这一章还是对寄存器直接操作比较简单,因为函数太短、太多了。
根据需求设置,如果要求系统跑得快些,时钟精准些,就设置成XT2一般是8MHz;如果没什么特别的要求,就用系统DCO提供的1M的频率,如果是要求低功耗或时间相关的时钟源,最好用32768Hz的外部晶振。还有关于其他的就参照楼上说的:
ACLK是辅助时钟,一般是低频的时钟,使用32768Hz的低频振荡或者12KHz的VLO。
MCLK是主时钟,给CPU提供,这个需要根据实际情况来,可以是DCO或者是HF的振荡器。
SMCLK是外设时钟,常用的是从DCO获取时钟源。
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一模一样。
ACLK:XT1(无效时,低频模式切换为REFO,其他情况切换为DCO)
如果连接XT1和XT2的引脚不进行PXSEL的设置,那么这两个时钟源都是无效的;
REFOCLK、VLOCLK、DCOCLK默认状态下是可用的;
系统稳定后,DCOCLK默认为2.097152MHZ,FLL默认2分频,则MCLK和SMCLK的频率都为1.048576MHZ。(实验三会提到如何计算)
另外,系统复位、系统工作模式LPM的选择都会对UCS有一定影响,这里限制太多,具体可参考TI官方资料UCS部分。LPM以及系统复位下章将会讲到。
③XT1和XT2特点相同。使用的时候,不仅要配置与其相连的引脚,还要配置电容,还要注意其本身工作在低频还是高频模式。而且,在不同工作模式下也有不同的要求;
④DCO作为数控振荡器,其频率的调节不仅可以通过自身设定,也可以通过FLL锁相环设定;
⑤FLL锁相环,是变换频率的灵活选择。它既可以设置基准频率,也可以选择分频数,还可以被直接关闭来实现降低功耗等目的;
⑦对有严格时序要求的地方,要选择精度高的时钟源,并且做好FLL和DCO部分的调制设置;
⑧不同模式下(有些时钟源是禁止的)的时钟控制图:(只需用到的时候注意一下即可,查表)
共有10组16位读写寄存器,为UCSCTL0-UCSCTL9。同样支持字和字节操作,即UCSCTL0包括UCSCTL0_H和UCSCTL0_L。
注:凡是标记“Reserved”的位,如果没有特意声明,则读回时都按0处理。
DCO :DCO频拍选择。选择DCO的频拍并在FLL运行期间(因MOD位的变化)自动调整。。DCO 的5个控制位把由DCORSELx选择的DCO频率分为32等份,间隔大约8% 。
MOD:调制位计数器。选择调制类型,所有的MOD位在FLL运行期间自动调整,无需用户干预。
DISMOD:调制器禁止使能位。0—使能调制器;1—禁止调制器。
FLLD:预分频器(即fDCO分频)。000-1分频,001-2分频,010-4分频,
FLLN:倍频系数。设置倍频值N,N必须大于0,如果FLLN=0,则N被自动设置为1。
000-XT1,001-待用,默认为XT1,010-REFO,
FLLREFDIV:FLL参考时钟分频器。000-1分频,001-2分频,010-4分频,
000-XT1,001-VLO,010-REFO,011-DCO,
100-DCOCLKDIV,101 -XT2有效时为XT2,否则为DCOCLKDIV
110 、111保留以备后来使用。当XT2有效时默认为XT2CLK,否则默认
DIVPA:ACLK外部有效输出分频000-1分频,001-2分频,010-4分频,
00 最低电流消耗。XT2振荡器工作在4MHz到8MHz …
XT2BYPASS:XT2旁路选择 0-XT2来源于内部时钟(使用外部晶振)
0 -当XT2引脚被设置为XT2功能且没有被设置位旁路模式时,XT2被打开;
1 -当XT2没有被用作时钟源以及没有用作FLL参考时钟时,XT2被关闭。
SMCLKOFF:SMCLK关闭控制位 0-SMCLK开 1-SMCLK关闭
XT2OFFG:XT2出错时置位,同时OFFIFG也会置位,需要软件清零。
XT1HFOFFG:高频工作模式下XT1出错时置位,同时OFFIFG也会置位,需要软件清零。
XT1LFOFFG:低频工作模式下XT1出错时置位,同时OFFIFG也会置位,需要软件清零。
DCOOFFG:DCO出错时置位,但当DCO=1或31时,也会置位,同时OFFIFG也会置位,需要软件清零。
实验一:将MCLK和SMCLK配置为REFOCLK、VLOCLK(需要示波器测量)
P1SEL |= BIT0;//声明有特殊功能,将不被用作普通I/O
P1DIR |= BIT0;//ACLK输出端,用来测量ACLK频率,外接频率计测
P2SEL |= BIT2;P2DIR |= BIT2;//SMCLK输出端
P7SEL |= BIT7;P7DIR |= BIT7;//MCLK用输出端
//UCSCTL4 = UCSCTL4&(~(SELS_7|SELM_7))|SELS_1|SELM_1; //将SMCLK和MCLK配置为VLOCLK
UCSCTL4 = UCSCTL4&(~(SELS_7|SELM_7))|SELS_2|SELM_2; //将SMCLK和MCLK配置为REFOCLK
上一篇:msp430f5529中断笔记(二)--中断嵌套
下一篇:MSP430F5529 默认时钟频率(1.05MHz)的来源探究
推荐阅读最新更新时间:2024-11-12 16:17
设计资源 培训 开发板 精华推荐
- 【抢楼】正式开始!来抢TI LM3S811评估板吧!!!
- EEWorld加磅双重礼 ELEXCON深圳国际电子展诚邀您参加
- 《带您了解ADI数字健康生物传感器系列》有奖直播
- 【迎新迎国庆】dcexpert带你“全栈”动手搞:基于ESP8266可充电的触控创意LED灯
- 领取评测任务,免费体验NUCLEO-L452RE开发套件
- CadenceLIVE China 2022中国线上用户大会 报名中!
- 看视频赢京东卡 | 泰享实测之水哥秘籍第三期
- Intel最新物联网解决方案,抢先阅读,下载有惊喜
- 2023 DigiKey KOL 系列——将TinyML融入IoT物联网应用中
- 证明自己,VICOR技术问题测试问卷,等您来挑战!好礼等您拿!