




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、MSP430时钟模块总结最近开始学习MSP430,看过不少视频,读过许多文章,逛过各大论坛之后,以为自己懂得差不多了,等板子回来后便摩拳擦掌跃跃欲试。先来个LED闪灯程序小试以下,OK没问题。(我用的芯片是MSP430F5438A)然后开始调试先前写好的大程序,结果不尽如人意,没能通过,不过这很正常。于是回头开始单步调试,仔细研究。程序中好多是直接借用的TI官网的例程。 其中程序开始前的一句注释就让我困惑了很久,这句注释如下: MCLK = SMCLK = BRCLK = default DCO = 1.045MHz
2、60; 都知道MSP430在时钟方面是灵活多变的,它的UCS模块有三个时钟信号(MCLK、SMCLK和ACLK)和五个时钟源(XT1CLK、VLOCLK、REFOCLK、DCOCLK和XT2CLK)。 PUC(上电清零)之后,UCS模块的默认配置如下: XT1为LF模式,作为XT1CLK时钟源。XT1CLK作为ACLK。 DCOCLKDIV 作为MCLK DCOCLKDIV 作为SMCLK
3、; 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
4、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 f
5、ault 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. 这段英
6、文的前半部分正好解释了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官网的例程,对这句注释
7、也没做太多关注。 经过自己的研究摸索,发现其实是这样的:刚才在说PUC之后的默认状态时提到MCLK和SMCLK都是取自DCODIV的,而这个DCODIV从字面意思就可知道是DCO的分频,而做几分频是由UCSCTL2寄存器中的FLLD位决定的,该位的默认状态是001,即二分频。所以默认状态下应该是MCLK = SMCLK = DCODIV = DCO/2。所以说TI官网例程中的那句注释严格来说是不对的。 那现在又有一个疑问,DCO的默认频率是多少?上面的2.097152MHz又是怎么来的呢?网上介绍到DCO默认频率时一般有8
8、00KHz和1.045MHz(根据前面的分析,我觉得网友们普遍提到DCO默认1.045MHz的说法,其实严格来说指的是通过使用DCO产生的MCLK和SMCLK是1.045MHz,而不是指DCO本身,DCO默认频率是要翻倍的。)两种说法。貌似800KHz主要是针对1系列单片机的,1.045MHz主要是针对4、5系列而言的。这里又出现了一个有必要关注的东西FLL(锁频环)。网上一致说,因为4(5)系列内有FLL,所以即便不外接晶振,只使用内部DCO也会获得比较精确的频率。那FLL和DCO的产生有什么关系呢?下面通过从MSP430x5xx Family User's Guide截取的一部分U
9、CS原理图分析开始:我们看到DCOCLK和DCOCLKDIV其实是从FLL模块输出的。通过分析用户手册,我的理解如下: DCOCLK的产生可以通过两种途径: 第一种就是直接通过UCSCTL0和UCSCTL1寄存器中的DCORSELx、DCOx、MODx来设置。其中DCORSELx负责DCO频率范围的选择,DCOx负责DCO频率阶梯选择,MODx负责混合两个DCO频率,在Fdco和Fdco+1之间产生一个有效的频率并扩展时钟驱动能力,减少电磁干扰。 这应该就是包括1系列在内的没有FLL的M
10、SP430设置DCO频率的方式。对于有FLL的430,将其FLL关闭后应该也是这种设置方式。这种方式设置的频率不会太精确,只是一个大体的范围,可用于对时钟精度要求不高的设计。 MSP430F5438的DCO频率设置如下图:可以看到这种方式设置的DCO频率有一个很大的范围。 第二种设置DCO频率的方式是DCO和FLL配合使用。先通过DCORSEL确定一个大致范围,然后通过FLL将DCO频率精确稳定到该范围内一确定值。PUC之后FLL是默认开启的。且有如下计算DCOCLK和DCOCLKDIV的公式:
11、160; 其中的D由UCSCTL2中的FLLD位决定,N由FLLN位决定,n由UCSCTL3中的FLLREFDIV决定。默认情况下,D取2,N取31,n取1。 那FLLREFCLK又怎么确定呢?还是在本文开始提到PUC之后默认配置中有一条为:FLL模块使能。XT1CLK作为FLL基准时钟FLLREFCLK。但XT1CLK上电后默认是失效的啊?我们说MSP430有5种时钟源,这里面有个REFOCLK(内部参考时钟)。在UCS中的位置如下图:用户手册中对REFO的介绍为:“内部参考时钟可以在没有外部晶振,对成本又比较敏感的场
12、合得到很好的应用。内部参考振荡器可以产生一个比较稳定的频率,其典型值为32768Hz,他可以用作FLLREFCLK。REFOCL和FLL相结合可为系统提供灵活可变的时钟,而不需要外接晶振。REFO在不使用时,不消耗任何功耗。REFO被选中时,可以为ACLK、SMCLK、MCLK提供时钟源或者是作为FLLREFCLK。如果REFO不作为ACLK、SMCLK、MCLK的时钟源,软件设置OSCOFF将禁止REFO振荡器。在LPM4模式下OSCOFF禁止REFO振荡器。”(OSCOFF位于状态寄存器SR中,手册中对它的解释是“当该位置1时会关闭XT1晶体振荡器。”可见REFO与XT1的功能是极为相近的
13、,且XT1推荐值是32.768KH在,而REFO的典型值也是32.768KHz。另外手册中还提到当XT1(32.768KHz)使能作为ACLK时钟源时,因为XT1不会立即稳定,这时失效标志位OFIFG会置位,ACLK就会自动切换到REFO,等XT1稳定后,ACLK将会取自外部的XT1。由此可见REFO和XT1不过是一个内置一个外接而已,功能是相同的。) 当PUC之后,XT1不能作为FLLREFCLK时钟源,我个人认为FLLREFCLK会选择REFO作为其时钟源。那我们就来计算一下到底是不是如此。我们将D = 2、N = 31、FLLREFCLK = 3276
14、8、n = 1代入下式:2 x (31 + 1) x 32768 = 2097152 Hz = 2.097152 MHz 这与前面提到的用户指南中的默认值是一致的。 还要注意的一点是,用户指南中提到,UCSCTL0寄存器中的DCO和MOD(就是第一种设置DCO频率方式中的两个因素)位会随着FLL的操作自动更新,或者说FLL使能后,DCO和MOD的值便会由FLL硬件控制。(用户指南59页和67页)。另外,先前以为在不使用外接晶振时,上电时ACLK默认无效的,但后来经过实测发现ACLK默认也会输出327
15、68Hz的频率的,应该也是取自REFO的。MSP430F5438的datasheet注明MCLK支持的最高频率为18MHZMSP430F5438A的datasheet注明MCLK支持的最高频率为25MHZ 这是MSP430X5XX的时钟系统框图。乍一看很复杂,不过简化之后就清楚多了整个系统主要分为左右两大块,左边是时钟源模块,右边是时钟调整模块。左边的模块XT1、内建时钟(DCO)、XT2用来产生时钟源,也就是右边最终输出的时钟信号的基准信号。而时钟调整模块负责将源时钟信号选通、分频输出成系统使用的三大时钟信号MCLK,ACLK和SMCLK,分别是系统的主时钟(供CPU使用),辅助时钟(可给外
16、设模块使用,也可以从管脚引出),子系统时钟(外设模块时钟,可从管教引出)。二USC +IfCY;Y 5个时钟源: /lB,* XT1CLK:有低频(LF)和高频(HF)模式,低频32768HZ的手表晶振、标准晶振、谐振器或者外部的4M32MHZ的晶振 >Q!ahj VLOCLK:内部10KHZ低功率、低频振荡器 d<Nl K| REFOCLK:内部32768HZ平衡的、低频参考振荡器、作为FLL的参考晶振 9;BT"&8 DCOCLK:内部数字控制振荡器,可被FLL稳定 QhEmD)DF XT
17、2CLK:可选的高频振荡源,可选用标准晶振、谐振器或来自外部的4M40MHZ的晶振 jnwCh#t USC系统默认配置: w Z)j Io XT1在低频模式下作为振荡源给XT1CLK、XT1CLK提供给ACLK pQ|Pxv!Q DCOCLKDIV提供给MCLK和SMCLK urhNQq FLL使能,XT1CLK作为FLL参考时钟FLLREFCLK sWcWwRy& XIN和XOUT设为普通I/O口功能、XT1处于关闭状态直到XT1操作配置该I/O口 fSNhgC6-5 XT2IN和XT2OUT同样被配成普通I/O
18、口,XT2关闭 _NIn3Dp?e REFO: -pu!y 32768HZ提供一个稳定的参考晶振为FLLREFCLK,它联合FLL在不需要晶体的情况下可提供范围灵活的系统时钟设置,REFO不工作时不耗电!if the REFO oscillator is not used to source MCLK, SMCLK. or FLLREFCLK. The OSCOFF bit disables REFO
19、for LPM4四、通用串口 g2g7x+ I 两类串口模块:USCI_AxUARTIrDASPI zJU$9 k USCI_BxI2CSPI =MN"ij:5 32K手表晶振(XT1 低频模式)、内部低频振荡器VLO、内部平衡低频振荡器REFO、内部集成数字控制器DCO、高频晶振(XT1高频模式 or XT2)。4.频率范围和电压等级MSP430把内核的工作频率划分为若干范围,比如543x和541x的工作频率就被分为了8个范围。每个范围又被DCO这个参数分为了32个小段,每个小段又被MOD分为32个小小段(待验证)
20、。所以可以把DCO看作是粗调旋钮,MOD是微调旋钮。另外,需要注意的是,这个频率范围是指DCO的频率范围,当DCO被禁用的时候,这个范围就没意义了。喜欢超频的同学都知道,核心电压和工作频率之间有着密切的关系。430单片机也是如此,它有4个电压等级,涵盖了从1.2V到2V广阔的核心电压范围。一般来说,核心电压越高,频率范围越大,功耗越大;核心电压越低,频率范围越小,功耗越小。当电压等级为1的时候(默认电压等级),5418的各个频率范围的可用上下限如下表所示:The ACLK、MCLK、SMCLK三个时钟可以由XT1CLK, REFOCLK, VLOCLK, DCOCLK,DCOCLKDIV分频得
21、来(可以进行1, 2, 4, 8, 16, or 32分频)。当禁止了晶振XT1,而通过置位XT1BYPASS位来使能BYPASS模式,此时使用外部时钟信号来给系统提供时钟,这个时钟信号是通过Xin接入,这个外部时钟作为XT1CLK,将它分频可以得到三个时钟信号(ACLK、MCLK、SMCLK)。2.6.1 DCO频率调整 默认情况下,FLL功能是允许的,可以通过置位SCG0或 SCG1 来禁止 FLL。一旦 FLL被禁止,DCO将在寄存器UCSCTL0和UCSCTL1定义的当前设置下继续工作;DCO频率也可以在需要的时候手动调整,否则,DCO的频率将由FL
22、L来稳定。 PUC后,DCORSELx = 2、DCOx = 0。DCOCLKDIV为 MCLK 和 SMCLK 提供时钟源。由于 CPU 执行代码的时钟来自MCLK,而MCLK 由DCO提供,所以从上电复位到执行代码的时间小于 5us。 DCOCLK 的频率由以下方式设置: 1)DCORSEL位为3时,从8个频率范围中选择 1 个频率。具体可查看数据手册。 2)DCORSEL选择5,将DCO 分成 32个频率级别,相邻两个级大约相差 8%。 3)MOD 为5, 将在 DCO选择的频率和DCO+1设置的下一更高频率中转换。如果 DCO=31,MOD位不起作用,因为DCO 频率已经是由DCORSEL选择的频率范围的最大值。 2.6.2 DCO调制器 调制器混合两个 DCO 的频率:fDCO和 fDCO+1,来产生一个有效的中间频率,提高时钟驱动,减少电磁干扰。调制器通过配置 MOD 位,在32 个DCOLK 时钟周期中混合 fDCO和 fDCO+1。当 MOD=0时调制器关闭。 调制器混频公式如下:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年北京戏曲艺术职业学院单招综合素质考试题库完整版
- 2025年西安科技大学高新学院单招职业倾向性考试题库带答案
- 2025年临夏现代职业学院单招职业适应性考试题库1套
- 2025年云南机电职业技术学院单招职业倾向性测试题库完整
- 分级护理行业标准
- 项目经理聘用合同
- 村级安全生产工作计划3
- 最低生活保障服务项目风险识别与评估综合报告
- 基于CFG桩复合地基跨正断层抗断裂试验分析
- 会计实务:关于2015年关税实施方案的通知
- 病区8S管理成果汇报
- 2025年人教版七年级历史下册阶段测试试卷含答案
- 林下经济中药材种植基地建设项目可行性研究报告立项新版
- 急诊预检分诊标准
- 2025年1月浙江高考首考英语应用文范文讲评课件
- 2024年06月湖南浏阳农村商业银行股份有限公司社会招考30名员工笔试历年参考题库附带答案详解
- 专科护理人才培养
- 《广东省建设工程消防设计、审查疑难问题解析》
- 公路工程施工质量控制培训
- 组织拳击比赛行业市场突围建议书
- 2024年上海市安全员-B证(项目负责人)理论考试题及答案
评论
0/150
提交评论