打印

关于MSP430的时钟问题的简介

[复制链接]
1652|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
51xlf|  楼主 | 2013-1-23 18:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机上电后,如果不对时钟系统进行设置,默认800 kHz的DCOCLK为MCLK和SMCLK的时钟源,LFXTl接32768 Hz晶体,工作在低频模式(XTS=O)作为ACLK的时钟源。CPU的指令周期由MCLK决定,所以默认的指令周期就是1/800 kHz="1".25μs。要得到lμs的指令周期需要调整DCO频率,即MCLK=1 MHz,只需进行如下设置:BCSCTLl=XT20FF+RSEL2;  //关闭XT2振荡器,设定DCO频率为1 MHz
  DCOCTL=DCO2
  //使得单指令周期为lμs
  MSP430的时钟周期(振荡周期)、机器周期、指令周期之间的关系
  通用知识时钟周期也称为振荡周期:定义为时钟脉冲的倒数(时钟周期就是直接供内部CPU使用的晶振的倒数,例如12M的晶振,它的时钟周期就是1/12us),是计算机中的最基本的、最小的时间单位。在一个时钟周期内,CPU仅完成一个最基本的动作。时钟脉冲是计算机的基本工作脉冲,控制着计算机的工作节奏。时钟频率越高,工作速度就越快。机器周期:在计算机中,常把一条指令的执行过程划分为若干个阶段,每一个阶段完成一项工作。每一项工作称为一个基本操作,完成一个基本操作所需要的时间称为机器周期。8051系列单片机的一个机器周期由6个S周期(状态周期)组成。一个S周期=2个时钟周期,所以8051单片机的一个机器周期=6个状态周期=12个时钟周期。指令周期:执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。专用知识:在430中,一个时钟周期 = MCLK晶振的倒数。如果MCLK是8M,则一个时钟周期为1/8us;一个机器周期 = 一个时钟周期,即430每个动作都能完成一个基本操作;一个指令周期 = 1~6个机器周期,具体根据具体指令而定。另:指令长度,只是一个存储单位与时间没有必然关系。 MSP430根据型号的不同最多可以选择使用3个振荡器。我们可以根据需要选择合适的振荡频率,并可以在不需要时随时关闭振荡器,以节省功耗。这3个振荡器分别为:
  (1)DCO 数控RC振荡器。它在芯片内部,不用时可以关闭。DCO的振荡频率会受周围环境温度和MSP430工作电压的影响,且同一型号的芯片所产生的频率也不相同。但DCO的调节功能可以改善它的性能,他的调节分为以下3步:a:选择BCSCTL1.RSELx确定时钟的标称频率;b:选择DCOCTL.DCOx在标称频率基础上分段粗调;c:选择DCOCTL.MODx的值进行细调。
  (2)LFXT1 接低频振荡器。典型为接32768HZ的时钟振荡器,此时振荡器不需要接负载电容。也可以接450KHZ~8MHZ的标准晶体振荡器,此时需要接负载电容。
  (3)XT2 接450KHZ~8MHZ的标准晶体振荡器。此时需要接负载电容,不用时可以关闭。

相关帖子

沙发
51xlf|  楼主 | 2013-1-23 18:57 | 只看该作者
低频振荡器主要用来降低能量消耗,如使用电池供电的系统,高频振荡器用来对事件做出快速反应或者供CPU进行大量运算。当然高端430还有锁频环(FLL)及FLL+等模块,但是初步不用考虑那么多。

  MSP430的3种时钟信号:MCLK系统主时钟;SMCLK系统子时钟;ACLK辅助时钟。

  (1)MCLK系统主时钟。除了CPU运算使用此时钟以外,外围模块也可以使用。MCLK可以选择任何一个振荡器所产生的时钟信号并进行1、2、4、8分频作为其信号源。

  (2)SMCLK系统子时钟。供外围模块使用。并在使用前可以通过各模块的寄存器实现分频。SMCLK可以选择任何一个振荡器所产生的时钟信号并进行1、2、4、8分频作为其信号源。

  (3)ACLK辅助时钟。供外围模块使用。并在使用前可以通过各模块的寄存器实现分频。但ACLK只能由LFXT1进行1、2、4、8分频作为信号源。

  PUC复位后,MCLK和SMCLK的信号源为DCO,DCO的振荡频率默认为800KHZ。ACLK的信号源为LFXT1。

  MSP430内部含有晶体振荡器失效监测电路,监测LFXT1(工作在高频模式)和XT2输出的时钟信号。当时钟信号丢失50us时,监测电路捕捉到振荡器失效。如果MCLK信号来自LFXT1或者XT2,那么MSP430自动把MCLK的信号切换为DCO,这样可以保证程序继续运行。但MSP430不对工作在低频模式的LFXT1进行监测。

  为了实现具体的时钟可以设置跟时钟相关的寄存器,在低端430中是DCOCTL、BCSCTL1和BCSCTL2三个寄存器。而对于高端的430,则要考虑SCFI0、SCFQCTL、FLL_CTL0、FLL_CTL1和BTCTL等几个寄存器。

使用特权

评论回复
板凳
lzmm| | 2013-1-23 19:06 | 只看该作者
关于msp430 时钟配置还真是麻烦的

使用特权

评论回复
地板
51xlf|  楼主 | 2013-1-23 19:06 | 只看该作者
都是为了能够降低功耗 所以才有很多的时钟源

使用特权

评论回复
5
51xlf|  楼主 | 2013-1-23 19:07 | 只看该作者
方便用户的使用 所以就得我们自己麻烦操作一下了

使用特权

评论回复
6
lzmm| | 2013-1-23 19:07 | 只看该作者
也是,就是感觉有时候头绪有点乱的

使用特权

评论回复
7
lzmm| | 2013-1-23 19:08 | 只看该作者
对于我们来说 这点功耗有时候感觉不出来什么 不过今年大学电子设计竞赛的一个赛题就看出来了使用充电电容

使用特权

评论回复
8
51xlf|  楼主 | 2013-1-23 19:09 | 只看该作者
要是用充电电容的话,还是430不错 ,G2553就是好选择的

使用特权

评论回复
9
51xlf|  楼主 | 2013-1-23 19:09 | 只看该作者
脱离电子竞赛好长时间了,很怀念的

使用特权

评论回复
10
prayer_hong| | 2013-1-23 22:39 | 只看该作者
都到公司了,没竞赛了,有的是加班

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

534

主题

9584

帖子

23

粉丝