MSP430 G2553 基本时钟模块+ (Basic Clock Module+)
一、时钟源
MSP430的Basic Clock Module+支持的时钟源有:
- DCOCLK:内部数字控制振荡器,Internal digitally contrlled oscillator。所有MSP430芯片都有。
MSP430G2553的DCO支持的最大频率一般为16MHz,且保存了1MHz、8MHz、12MHz、16MHz四个频率的校正信息。 - VLOCLK:内部超低功耗、低频振荡器,Internal very low power, low frequency oscillator,典型频率12kHz。所有MSP430芯片都有。使用方便,但精准性不是太高。
MSP430G2553的VLO频率在4kHz到20kHz之间,且受温度、供电电压影响较大。 - LFXT1CLK:低频/高频晶体振荡器,Low-frequency/high-frequency oscillator。可以是32.768kHz的晶体或外部时钟(LF模式时),或者是400kHz到16MHz的晶体/晶振/外部时钟源(HF模式时)。不是所有MSP430芯片都支持。
MSP430G2553支持的低频晶体(LFXT1)的典型频率是32.768kHz,且不支持HF模式。 - XT2CLK:高频振荡器,high-frequency oscillator,频率范围最多支持400kHz到16MHz,可以是晶体/晶振/外部时钟源。不是所有的MSP430芯片都支持。
MSP430G2553不支持XT2。
二、时钟信号
MSP430的Basic Clock Module+包含了三个时钟信号:
- MCLK:主时钟,Master clock。可以从以上四个时钟源中选择其一作为MCLK来源,并支持1/2/4/8分频。用于CPU和系统。
- SMCLK:子主时钟,Sub-main clock,可以从以上四个时钟源中选择其一作为SMCLK来源,并支持1/2/4/8分频。用于特定的外设。
- ACLK:辅助时钟,Auxiliary clock,可选择LFXT1CLK或VLOCLK作为ACLK来源,并支持1/2/4/8分频。用于特定的外设,特别是低功耗待机时。
典型的时钟系统框图如下图:

留意只有DCO和VLO是所有MSP430的标配,其他的要看具体型号:

三、DCO频率设置
调整DCO频率可以通过修改BCSCTL1寄存器中的RESELx位段、DCOCTL寄存器的DCOx、MODx位段来实现。如,若要设置DCO频率为1MHz左右,通过查数据手册中“DCO Frequency”表可得0.8MHz~1.5MHz频率对应设置参数为(7,3),即RSELx=7, DCOx=3, MODx=0。但这样做误差很大。
BCSCTL1 &= ~BIT3; // set to DCO(7,3)
BCSCTL1 |= BIT0 + BIT1 + BIT2;
DCOCTL &= ~BIT7;
DCOCTL |= BIT5 + BIT6;
更好的方法是直接将BCSCTL1和DCOCTL寄存器设置成已校准好的值。
BCSCTL1 = CALBC1_1MHZ;
DCOCTL = CALDCO_1MHZ;
这样做的频率误差如下图所示。

四、ACLK时钟源设置
ACLK时钟来源由BCSCTL3寄存器中的LFXT1Sx位段设置,可以切换为LFXT1、VLOCLK或外部时钟源;由BCSCTL1寄存器中的DIVAx位段设置分频比。当设置为LFXT1时,还需要根据板子情况设置effective capacitance。
如设置ACLK来源为VLOCLK、四分频:
BCSCTL3 |= LFXT1S_2; //VLO mode
BCSCTL1 |= DIVA_2; //ACLK divided by 4
设置ACLK来源为LFXT1、八分频:
BCSCTL3 |= LFXT1S_0; //32k crystal selected
BCSCTL3 |= XCAP_2; //~8.5pF effective capacitance (for G2553)
BCSCTL1 |= DIVA_3; //ACLK divided by 8
MSP430 G2553 基本时钟模块+ (Basic Clock Module+)的更多相关文章
- LPC2478时钟模块详解
时钟框图如上图,系统时钟来源分别是内部4M的RC振荡器和外置晶振,RTC模块在某些情况下也可以作为主时钟,经过系统时钟选择s\de时钟需要经过PLL倍频(或者不倍频),处理过的PLL输出USB时钟分频 ...
- SynergyS7G2RTC时钟模块的使用
RTC功能描述 RTC时钟模块是Synergy芯片的一个时间外设,主要用于日期时间的存储和控制,有别于一般MCU中的Timer,RTC时钟有两种计时模式,日期模式和二进制计时模式,其中日期模式的时间可 ...
- msp430学习笔记-时钟及延时函数
引用:http://blog.chinaunix.net/uid-24343357-id-3271380.html MCLK默认时钟源是DCOCLK,SMCLK默认时钟源也是DCOCLK,DCOCLK ...
- 通过Anuglar Material串串学客户端开发 - NodeJS模块机制之Module.Exports
module.exports 前文讲到在Angular Material的第二个编译文件docs/gulpfile.js中却看到了一个奇怪的东西module.exports那么module.expor ...
- 人体时钟hone hone clock
摘要:一个由日本人设计的有意思的Flash时钟:人体时钟 hone hone clock .安装很简单,直接js导入即可,包括两种样式:透明背景和白色背景. 很可爱的一个设计,实现后效果如下: 使用方 ...
- (译)Node.js的模块-exports和module.exports
原文标题:Node.js Module – exports vs module.exports 原文链接:http://www.hacksparrow.com/node-js-exports-vs-m ...
- 基于STM8的IIC协议--实例篇--时钟模块(DS3231)读取
1. 综述 由上篇博客可知道IIC协议如何用代码实现,本篇博客就不涉及协议内容,只讲解如何使用. 本次的实验传感为:DS3231(时钟模块),对于时钟模块的具体信息我也就不多介绍,大家可以自行度娘,具 ...
- 「雕爷学编程」Arduino动手做(29)——DS1302时钟模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...
- Arduino 时钟模块(clock module) DS1306
http://www.pjrc.com/teensy/td_libs_DS1307RTC.html 下载相关的库程序 连接: DS1306: 1.接3.3V 2.SDA接A4 3.SCL接A5 读取: ...
随机推荐
- Java-Runoob-高级教程-实例-字符串:02. Java 实例 - 查找字符串最后一次出现的位置
ylbtech-Java-Runoob-高级教程-实例-字符串:02. Java 实例 - 查找字符串最后一次出现的位置 1.返回顶部 1. Java 实例 - 查找字符串最后一次出现的位置 Jav ...
- 微信JS接口汇总及使用详解
这篇文章主要介绍了微信JS接口汇总及使用详解,十分的全面.详尽,包含分享到朋友圈,分享给朋友,分享到QQ,拍照或从手机相册中选图,识别音频并返回识别结果,使用微信内置地图查看位置等接口,有需要的小伙伴 ...
- javascript精髓篇之原型链维护和继承.
一.两个原型 很多人都知道javascript是原型继承,每个构造函数都有一个prototype成员,通过它就可以把javascript的继承演义的美轮美奂了. 其实啊,光靠这一个属性是无法完成jav ...
- PyQt5系列教程(二)利用QtDesigner设计UI界面
软硬件环境 OS X EI Capitan Python 3.5.1 PyQt 5.5.1 PyCharm 5.0.1 前言 在PyQt5系列教程的第一篇http://blog.csdn.net/dj ...
- 修改eclipse 代码字体大小以及文档字体大小
1..点击[window]在弹出的窗口中选择[preferences] 2.在弹出窗口中找到依次点击General(常规)——Apprearance(外观)——Colors and Fonts(颜色和 ...
- jquery的html代码中a的onclick的正确显示的代码
jquery的html代码中a的onclick的正确显示的代码 需要转义一下,试了好久才试出来 img_delete.html('<a onclick="deleteImg(\''+s ...
- selenium webdriver——JS滚动到最底部
JS控制滚动条的位置: window.scrollTo(x,y); 竖向滚动条置顶 window.scrollTo(0,0); 竖向滚动条置底 window.scrollTo(0,document.b ...
- 使用API调用外部程序并监控程序状态
Public Type SHELLEXECUTEINFO cbSize As Long fMask As Long hwnd As Long lpVerb As String ...
- 跟我学算法- tensorflow 实现RNN操作
对一张图片实现rnn操作,主要是通过先得到一个整体,然后进行切分,得到的最后input结果输出*_w[‘out’] + _b['out'] = 最终输出结果 第一步: 数据载入 import ten ...
- 路由的分发include实现
在主程序里面的URL.py 中 from django.conf.urls import url, include urlpatterns = [ url(r'^cmdb/', include('ap ...