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的规范晶体振动器。此刻需求接负载电容,不必时能够封闭。
低频振动器首要用来下降能量消耗,如运用电池供电的体系,高频振动器用来对事情做出快速反应或许供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等几个寄存器。详细设置,参看DataSheet。
单片机上电后,假如不对时钟体系进行设置,默许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
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/272858.html