一、时钟源

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+)的更多相关文章

  1. LPC2478时钟模块详解

    时钟框图如上图,系统时钟来源分别是内部4M的RC振荡器和外置晶振,RTC模块在某些情况下也可以作为主时钟,经过系统时钟选择s\de时钟需要经过PLL倍频(或者不倍频),处理过的PLL输出USB时钟分频 ...

  2. SynergyS7G2RTC时钟模块的使用

    RTC功能描述 RTC时钟模块是Synergy芯片的一个时间外设,主要用于日期时间的存储和控制,有别于一般MCU中的Timer,RTC时钟有两种计时模式,日期模式和二进制计时模式,其中日期模式的时间可 ...

  3. msp430学习笔记-时钟及延时函数

    引用:http://blog.chinaunix.net/uid-24343357-id-3271380.html MCLK默认时钟源是DCOCLK,SMCLK默认时钟源也是DCOCLK,DCOCLK ...

  4. 通过Anuglar Material串串学客户端开发 - NodeJS模块机制之Module.Exports

    module.exports 前文讲到在Angular Material的第二个编译文件docs/gulpfile.js中却看到了一个奇怪的东西module.exports那么module.expor ...

  5. 人体时钟hone hone clock

    摘要:一个由日本人设计的有意思的Flash时钟:人体时钟 hone hone clock .安装很简单,直接js导入即可,包括两种样式:透明背景和白色背景. 很可爱的一个设计,实现后效果如下: 使用方 ...

  6. (译)Node.js的模块-exports和module.exports

    原文标题:Node.js Module – exports vs module.exports 原文链接:http://www.hacksparrow.com/node-js-exports-vs-m ...

  7. 基于STM8的IIC协议--实例篇--时钟模块(DS3231)读取

    1. 综述 由上篇博客可知道IIC协议如何用代码实现,本篇博客就不涉及协议内容,只讲解如何使用. 本次的实验传感为:DS3231(时钟模块),对于时钟模块的具体信息我也就不多介绍,大家可以自行度娘,具 ...

  8. 「雕爷学编程」Arduino动手做(29)——DS1302时钟模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  9. Arduino 时钟模块(clock module) DS1306

    http://www.pjrc.com/teensy/td_libs_DS1307RTC.html 下载相关的库程序 连接: DS1306: 1.接3.3V 2.SDA接A4 3.SCL接A5 读取: ...

随机推荐

  1. 学习笔记之SQL 教程

    SQL 教程 | 菜鸟教程 http://www.runoob.com/sql/sql-tutorial.html SQL,指结构化查询语言,全称是 Structured Query Language ...

  2. [Android] 开发第五天

    布之前开发的 Android 电话拨号器 Android-Studio 已经带了发布菜单, Build -> Generate Signed APK 进入发布界面 我们新增一个证书,或者使用已有 ...

  3. Docker系列05:docker镜像制作 &Docker file

    1 什么是Dockerfile? Dockerfile是一个包含用于组合映像的命令的文本文档.可以使用在命令行中调用任何命令. Docker通过读取Dockerfile中的指令自动生成映像. dock ...

  4. [ML] Gradient Descend Algorithm [Octave code]

    function [theta, J_history] = gradientDescentMulti(X, y, theta, alpha, num_iters) m = length(y); % n ...

  5. Python之分布式监控系统开发

    为什么要做监控? –熟悉IT监控系统的设计原理 –开发一个简版的类Zabbix监控系统 –掌握自动化开发项目的程序设计思路及架构解藕原则 常用监控系统设计讨论 Zabbix Nagios 监控系统需求 ...

  6. ADO.Net学习总结

    一.讲述6个ADO.NET中的常用对象: Connection对象Command对象DataReader对象DataAdapter对象DataSet对象DataTable对象DataRow对象Data ...

  7. jdk1.6 eclipse kepler 中安装jda

    原因这是个比较老的版本的jad 参考:https://www.cnblogs.com/zhikou/p/8098137.html 1.在eclipse的help—>Install New Sof ...

  8. eclipse 预览Android界面报错

    This version of the rendering library is more recent than your version of ADT plug-in. Please update ...

  9. php使用curl库进行ssl双向认证

    官方文档: http://www.php.net/manual/zh/function.curl-setopt.php#10692 官方举例: <?phpcurl_setopt($ch, CUR ...

  10. window10上安装python+CUDA+CuDNN+TensorFlow

    软件 版本 Window10 X64 python 3.6.4(64位) CUDA CUDA Toolkit 9.0 (Sept 2017) CuDNN cuDNN v7.0.5 (Dec 5, 20 ...