2473|0

3836

帖子

19

TA的资源

纯净的硅(中级)

楼主
 

MSP430G2553默认的MCLK、SMCLK、ACLK时钟频率 [复制链接]

摘要:
  本文将介绍如何从手册中查找出G2553各个时钟的默认时钟频率,以及使用定时器中断方法测出各个时钟频率。实验所用平台是MSP-EXP430G2 LaunchPad,MCU为MSP430G2553
1、查阅datasheet。
  手册原文:After a PUC,MCLK and SMCLK are sourced from DCOCLK at ~1.1Mhz (see the device-specific data sheet for parameters) and ACLK is sourced from LFXT1CLK in LF mode with an internal load capacitance of 6pF.
  从上边我们不难发现,主时钟MCLK和子时钟SMLK由内部数控震荡器DCO产生,大约在1.1MHz左右,需要声明一点的是,内部数控振荡器受电源电压和外界温度影响比较大,范围在800kHz~1.5MHz,室温下,3.5V时测得DCO频率为1.04Mhz。辅助时钟ACLK由外部低频晶振产生,一般为32.768kHz。
2、通过寄存器默认设置判定

  从上图我们发现这些寄存器初始值并非全0,这样我们可以查看寄存器对应为的含义从而确定各个时钟的默认值。
2.1、先确定DCO
  

  从上边我们得到RSELx = 7,DCOx = 3,MODx = 0,然后查看下表:

  从上表得到DCO默认值再1Mhz附近,这与前面所说的一致,范围在800kHz~1.5MHz。
2.2、主时钟MCLK、子时钟SMCLK

  很容易发现MCLK、SMCLK时钟源均来自DCO且分频系数为1,故MCLK、SMCLK默认时钟频率为DCO,大小为1MHz左右。
  同样,辅助时钟ACLK也可以通过查看手册得到其时钟源来自于外部低频晶振,大小一般为32.768kHz。而且430系列单片机大部分辅助时钟默认时钟源均来自外部低频晶振。
3、定时器法
  也可使用一下代码进行验证,例如验证ACLK。
#include void main(void){        WDTCTL = WDTPW + WDTHOLD;         P1DIR |= BIT0;        P1OUT |= BIT0;        /*  时钟源ACLK 清计数器 增模式 开启定时器A中断  */        TACTL |= TASSEL_1 + TACLR + MC_1 + TAIE;        TACCR0 = 1024;    //频率:32768/1024/2=16Hz        _EINT();          //开总中断        while(1)        {            LPM3;         //进入低功耗模式3        }}#pragma vector = TIMER0_A1_VECTOR__interrupt void Timer_A(void){        switch(TAIV)        {          case  2:  break;          case  4:  break;          case 10:  P1OUT ^= BIT0;  //中断任务                    break;        }}
  • #include
  • void main(void)
  • {
  •         WDTCTL = WDTPW + WDTHOLD;
  •         P1DIR |= BIT0;
  •         P1OUT |= BIT0;
  •         /*  时钟源ACLK 清计数器 增模式 开启定时器A中断  */
  •         TACTL |= TASSEL_1 + TACLR + MC_1 + TAIE;
  •         TACCR0 = 1024;    //频率:32768/1024/2=16Hz
  •         _EINT();          //开总中断
  •         while(1)
  •         {
  •             LPM3;         //进入低功耗模式3
  •         }
  • }
  • #pragma vector = TIMER0_A1_VECTOR
  • __interrupt void Timer_A(void)
  • {
  •         switch(TAIV)
  •         {
  •           case  2:  break;
  •           case  4:  break;
  •           case 10:  P1OUT ^= BIT0;  //中断任务
  •                     break;
  •         }
  • }
  将以上代码编译并载入g2553开发板上,能看到红色LED等在闪烁,用示波器测量P1.0端口后,我们发现其频率为15.98Hz。由此往上推断定时器A所使用的辅助时钟的确是外部低频晶振32.768kHz。
总结:
  以上,我们介绍了三种方法判定G2553系统的三种时钟的默认时钟频率,其中第三种方法我们尽可能的动手实践一下,可以很直观的看到系统的时钟频率值。

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表