您的位置 首页 产品

体系时钟初始化需求留意的问题

MSP430的基本时钟源有3个:LFXT1CLK,XT2CLK,DCOCLK;shy;其中:LFXT1CLK:可以用低频钟表晶体、标准晶体、陶瓷谐振器或

MSP430的根本时钟源有3个:  LFXT1CLK,  XT2CLK,   DCOCLK ; ­

其间: LFXT1CLK:能够用低频挂钟晶体、规范晶体、陶瓷谐振器或外接时钟源作业。 ­
­    XT2CLK:能够用规范晶体、陶瓷谐振器或外接450khz~8mhz的时钟源作业。 ­
­    DCOCLK:它是内部数字操控RC振动器,能够调理。
MSP430的3种时钟信号是:  ACLK,  MCLK,  SMCLK;
­
其间: ACLK(辅佐体系时钟):可选时钟源LFXT1CLK(只能是外部时钟源),且一般为32768hz手表晶体)。
­MCLK(主时钟):可选LFXT1CLK,XT2CLK, DCOCLK 三种时钟源。用于CPU和体系。 ­
­   SMCLK(子时钟):可选LFXT1CLK,XT2CLK, DCOCLK 三种时钟源。用于外围器材.
(Notice:­LFXT1CLK when XT2 oscillator not present on-chip.)
ACLK和MCLK的差异:ACLK一般用于低速外设 ­
         SMCLK首要用于高速外围模块
上电默许是内部800K的RC振动器,
下面给出了切换LFXT和XT2作为体系时钟的比如:
切换为LFXT:
do
{
IFG1 &= ~OFIFG;
for (i = 0xFF; i > 0; i–);
}
while ((IFG1 & OFIFG));
BCSCTL2 |= SELM_3;//挑选挂钟时钟
切换为XT2:
BCSCTL1&=~XT2OFF;//发动XT2时钟
do
{
IFG1 &= ~OFIFG;
for (i = 0xFF; i > 0; i–);
}
while ((IFG1 & OFIFG));
BCSCTL2 |= SELM_2;
BCSCTL2 |= SELS;//挑选XT2时钟
430的时钟问题
2009年10月04日 周日 20:59
体系时钟问题:
体系默许运用DCO,运用外部高速晶振XT2时有必要自己敞开XT2,并延时50us等候XT2起振,然后手艺铲除IFG1中的OFIFG位
!!!!必定要注意操作次序:翻开XT2->等候XT2安稳->切换体系时钟为XT2
若后边两步操作反了,在通常情况下不会出现问题,可是在电压不稳MCU频频复位的情况下,十分简单形成MCU死掉,只能掉电后从头上电才干牢靠复位。
今日做了一下时钟的试验
关于MCLK若挑选了XT2 的话,在外部晶振XT2的运用进程中,需求特别注意的是,一旦外部晶振失效的话带来什么样的作用?关于这个作用,经过测验发现,当运用XT2作为MCLK和SMCLK的时钟源时若XT2不安稳,丢掉一些时钟信号时这时MCLK会主动转化DCO作为其时钟源,经过测验,而SMCLK确仍然用的是XT2(XT2仅仅动摇一下,并非不作业),可是用示波器怎样测不出8M的晶振呢,测其它的怎样能测呢?不过时钟这一点搞清楚了
振动器失效时,msp430也会主动将DCO选作为MCLK的时钟源,用户能够在DCO保持下在中止中检测OFIFG标志位,设置运用别的一个晶体振动器来暂时代替问题时钟源俩持续作业或完结发生警报等应急处理作业。
MSP430的时钟周期(振动周期)、机器周期、指令周期之间的联系
通用常识
时钟周期也称为振动周期:界说为时钟脉冲的倒数(时钟周期便是直接供内部CPU运用的晶振的倒数,例如12M的晶振,它的时钟周期便是1/12us),是计算机中的最根本的、最小的时刻单位。在一个时钟周期内,CPU仅完结一个最根本的动作。时钟脉冲是计算机的根本作业脉冲,操控着计算机的作业节奏。时钟频率越高,作业速度就越快。
机器周期:在计算机中,常把一条指令的履行进程划分为若干个阶段,每一个阶段完结一项作业。每一项作业称为一个根本操作,完结一个根本操作所需求的时刻称为机器周期。8051系列单片机的一个机器周期由6个S周期(状况周期)组成。一个S周期=2个时钟周期,所以8051单片机的一个机器周期=6个状况周期=12个时钟周期。
指令周期:履行一条指令所需求的时刻,一般由若干个机器周期组成。指令不同,所需的机器周期也不同。
专用常识:
在430中,一个时钟周期= MCLK晶振的倒数。假如MCLK是8M,则一个时钟周期为1/8us即为125ns;
一个机器周期 =一个时钟周期,即430每个动作都能完结一个根本操作;
一个指令周期 = 1~6个机器周期,详细依据详细指令而定。
另:指令长度,仅仅一个存储单位与时刻没有必定联系
MSP430的3种时钟信号:MCLK体系主时钟;SMCLK体系子时钟;ACLK辅佐时钟。
(1)MCLK体系主时钟。除了CPU运算运用此时钟以外,外围模块也能够运用。MCLK能够挑选任何一个振动器所发生的时钟信号并进行1、2、4、8分频作为其信号源。
(2)SMCLK体系子时钟。供外围模块运用。并在运用前能够经过各模块的寄存器完结分频。SMCLK能够挑选DCO和XT2所发生的时钟信号并进行1、2、4、8分频作为其信号源。
(3)ACLK辅佐时钟。供外围模块运用。并在运用前能够经过各模块的寄存器完结分频。但ACLK只能由LFXT1进行1、2、4、8分频作为信号源。
430的一个时钟周期=MCLK晶振的倒数。假如MCLK是8M,则一个时钟周期为1/8微秒; 一个机器周期=一个时钟周期,即430每个动作都能完结一个根本操作; 一个指令周期=1~6个机器周期; 也便是说履行一条指令最多花6*1/8微秒。
_NOP()是单周期的指令,I/O口赋值是4周期的。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/259034.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部