MSP5438A时钟模块总结(UCS).doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MSP5438A时钟模块总结(UCS)

MSP430时钟模块总结 最近开始学习MSP430,看过不少视频,读过许多文章,逛过各大论坛之后,以为自己懂得差不多了,等板子回来后便摩拳擦掌跃跃欲试。先来个LED闪灯程序小试以下,OK没问题。(我用的芯片是MSP430F5438A)然后开始调试先前写好的大程序,结果不尽如人意,没能通过,不过这很正常。于是回头开始单步调试,仔细研究。程序中好多是直接借用的TI官网的例程。 ??? 其中程序开始前的一句注释就让我困惑了很久,这句注释如下: ? ?MCLK = SMCLK = BRCLK = default DCO = ~1.045MHz ??? 都知道MSP430在时钟方面是灵活多变的,它的UCS模块有三个时钟信号(MCLK、SMCLK和CLK)和五个时钟源(XT1CLK、VLOCLK、REFOCLK、DCOCLK和XT2CLK)。 ??? PUC(上电清零)之后,UCS模块的默认配置如下: ??? ●? XT1为LF模式,作为XT1CLK时钟源。XT1CLK作为ACLK。 ??? ●? DCOCLKDIV 作为MCLK ??? ●? DCOCLKDIV 作为SMCLK ??? ●? FLL模块使能。XT1CLK作为FLL基准时钟FLLREFCLK。 ??? ●? XIN 和XOUT管脚为普通IO 口,XT1仍然不能用直到I/O口配置为XT1模式。 ??? ●? XT2IN 和XT2OUT脚作为普通IO 口,XT2禁止。 ????MCLK = SMCLK = BRCLK = default DCO = ~1.045MHz。首先我不太清楚1.045MHz是怎么来的,后来在MSP430x5xx Family User's Guide中找到了相关解释。在第56页有如下英文介绍: As shown above, FLL operation with XT1 is enabled by default. On MSP430x5xx devices, the crystalpins(XIN, XOUT) are shared with general-purpose I/O. To enable XT1, the PSEL bits associated with the crystal pins must be set. When a 32,768Hz crystal is used for XT1CLK, the fault controllogic will immediately cause ACLK to be sourced by the REFOCLK since XT1 will not be stable immediately. See Section 3.2.12 for further details. Once the crystal startup is obtained and settled, the FLL stabilizes MCLK and SMCLK to 1.048576MHz and f DCO=2.097152MHz. ??? 这段英文的前半部分正好解释了FLL和XT1上电后的默认状态。关键是最后一句,说一旦晶振启动并稳定,ACLK 将取自外部的32768Hz晶振,FLL将使MCLK 和SMCLK 稳定为1.047586MHz和Fdco=2.097152MHz。我想刚才的1.045MHz应该就是取自这个地方吧。但是此处的Fdco=2.097152MHz,差不多是1.045MHz的两倍。那为什么要说MCLK = SMCLK = BRCLK = default DCO = ~1.045MHz呢?default DCO不是1.045MHz呀?于是将这句注释粘贴在百度里去查找,凡是能搜索到的,大部分都是照搬TI官网的例程,对这句注释也没做太多关注。 ??? 经过自己的研究摸索,发现其实是这样的:刚才在说PUC之后的默认状态时提到MCLK和SMCLK都是取自DCODIV的,而这个DCODIV从字面意思就可知道是DCO的分频,而做几分频是由UCSCTL2寄存器中的FLLD位决定的,该位的默认状态是001,即二分频。所以默认状态下应该是MCLK = SMCLK = DCODIV = DCO/2。所以说TI官网例程中的那句注释严格来说是不对的。 ??? 那现在又有一个疑问,DCO的默认频率是多少?上面的2.097152MHz又是怎么来的呢?网上介绍到DCO默认频率时一般有800KHz和1.045MHz(根据前面的分析,我觉得网友们普遍提到DCO默认1.045MHz的说法,其实严格来说指的是通过使用DCO产生的MCLK和SMCLK是1.045MHz,而不是指DCO本身,DCO默认频率是要翻倍的。)两种说法。貌似

文档评论(0)

juhui05 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档