MSP430基本外设-低功耗模式PPT_第1页
MSP430基本外设-低功耗模式PPT_第2页
MSP430基本外设-低功耗模式PPT_第3页
MSP430基本外设-低功耗模式PPT_第4页
MSP430基本外设-低功耗模式PPT_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,单片机技术与应用,3.2低功耗模式,MSP430系列单片机最主要的特征就是低功耗,该特性适合应用于采用长时间电池供电的工作场合。MSP430系统使用不同的时钟信号:ACLK、MCLK和SMCLK。这3种不同频率的时钟输出给不同的模块,从而更合理地利用系统的电源,实现整个系统的超低功耗。MSP430单片机具有7种低功耗模式(LPM04、LPM3.5和LPM4.5,后两种模式并非全部系列都具有),通过不同程度的休眠,可降低系统功耗。MSP430系列单片机各个模块运行完全独立,定时器、输入/输出端口、A/D转换、看门狗、液晶显示器等都可在CPU休眠状态下运行。系统能以最低功耗运行,当需要CPU工作时,任何模块都可以通过中断唤醒CPU,完成工作后又可以进入相应的休眠状态。这一特性是MSP430系列单片机最突出的优点,也是与其他单片机的最大区别。,1,2020/5/1,单片机技术与应用,3.2低功耗模式,MSP430单片机能够实现低功耗的根本原因是在不同的低功耗模式下关闭不同的系统时钟,关闭的系统时钟越多休眠模式越深。通过CPU状态寄存器SR中的SCG1、SCG0、OSCOFF和CPUOFF这4个控制位的配置来关闭系统时钟,使MSP430单片机从活动模式进入到相应的低功耗模式。再通过中断方式从各种低功耗模式回到活动模式。,2,2020/5/1,单片机技术与应用,3.2低功耗模式,注意:在任何一种低功耗模式下,CPU都被关闭,程序将停止执行,直到被中断唤醒或单片机复位。因此在进入任何一种低功耗模式之前,都必须设置好唤醒CPU的中断条件、打开中断允许位、等待被唤醒,否则程序将有可能永远停止运行。,另外,MSP430的瞬间响应特性是系统超低功耗事件驱动方式的重要保证。,3,2020/5/1,单片机技术与应用,3.2.1低功耗工作模式,工作模式、控制位和时钟的活动状态之间的相互关系。,4,2020/5/1,单片机技术与应用,5,2020/5/1,单片机技术与应用,MSP430内部各模块运行完全独立。各片内模块可通过禁止相应寄存器中的控制位来关闭。一旦改变了SR中的模式控制位(SCG0、SCG1、OSCOFF、CPUOFF),工作模式便立即改变,有关模块也因为相应的时钟源被禁止而被关闭。改变模式不影响所有的I/O引脚及RAM/寄存器的值。,SR状态寄存器,6,2020/5/1,单片机技术与应用,3.2.2进入和退出低功耗模式,在活动模式下,按低功耗模式设定SR中的控制位,MSP430就进入设定的低功耗模式,此时CPU寄存器的值保持不变,有关的模块也因为相应的时钟源被禁止而被关闭。任意中断均可唤醒处于低功耗模式的MSP430,使MSP430切换到AM活动模式,即退出低功耗模式。,7,2020/5/1,单片机技术与应用,硬件自动中断当前服务PC入栈SR入栈中断向量赋给PCGIE、CPUOFF、OSCOFF和SCG1清除IFG标志位清除(单源中断标志)执行中断处理子程序执行RETI指令(中断返回)SR出栈(恢复原来的标志)PC出栈,在低功耗模式下,所有的I/O引脚和RAM寄存器将保持不变。可以通过开中断后用中断事件来唤醒LMP0到LMP4。,系统响应中断的过程,8,2020/5/1,单片机技术与应用,系统响应中断时的堆栈情况:,9,2020/5/1,单片机技术与应用,中断将CPU从休眠状态中唤醒:在中断处理过程中对控制位GIE、CPUOFF、OSCOFF和SCG1自动清除,从而使CPU进入活动模式。系统低功耗模式的保持:中断响应时,将SR入栈保存,即保存系统某种低功耗状态。中断响应结束时,通过RETI指令使SR出栈,恢复系统进入中断之前的低功耗状态。系统根据需求在各种低功耗模式之间切换:在中断处理子程序过程中,根据中断结束之后要进入的工作模式对压入堆栈的SR内容进行修改,当前中断事件处理完毕,执行RETI指令时,系统就按照出栈的SR内容进入另一种工作模式。,10,2020/5/1,单片机技术与应用,;主程序.;初始化操作开始;初始化完毕BIS#GIE+CPUOFF,SR;主程序中设置低功耗模式0.;主程序在这里停止;中断子程序;中断处理开始;中断处理结束BIS#GIE+CPUOFF+SCG1+SCG0,0(SP);设置SR为低功耗模式3RETI;中断返回;系统进入低功耗模式3,例:系统初始化完毕之后工作于低功耗模式0,中断事件触发到活动模式,中断处理结束后进入到低功耗模式3。,11,2020/5/1,单片机技术与应用,在上述处理过程中,堆栈的变化情况,如下图所示:,12,2020/5/1,单片机技术与应用,;主程序.;初始化操作开始;初始化完毕BIS#GIE+CPUOFF,SR;主程序中设置低功耗模式0L1;操作1L2;操作2;中断子程序;中断处理开始;中断处理结束BIC#0000h,0(SP);设置SR为活动模式RETI;中断返回,系统进入活动模式,例:如果期待主程序在中断返回之后继续执行某些操作,可以在中断处理子程序中改变SR的值为活动模式,13,2020/5/1,单片机技术与应用,当进入LPMx.5(LPM3.5和LPM4.5)模式时,电源管理模块(PMM)的电压调节器也停止工作。所有的RAM、寄存器及I/O口的配置数据都将丢失,所有的I/O口被锁定在当前状态。LMP4.5可以通过上电、复位或具体的I/O口来唤醒。在LPM3.5模式下,除了可以用LPM4.5模式下的唤醒事件外,还可用RTC唤醒事件来唤醒。从LPMx.5模式下退出都会产生一次BOR事件。因此,在退出LPMx.5模式后,I/O口的状态将一直保持锁定状态直到应用程序解除锁定,用户应根据需要重新配置芯片。,进入和退出低功耗模式(LPMx.5),14,2020/5/1,单片机技术与应用,进入LPMx.5前,需要进行以下操作:(1)适当配置I/O口。将所有端口设置为通用I/O口,实际应用的每个端口保证没有悬空输入管脚。如果希望通过I/O口唤醒,需要恰当配置具有中断能力的相关I/O口。(2)在LPMx.5模式下如果希望通过RTC(实时时钟)唤醒,则需要配置RTC中断。,进入和退出低功耗模式(LPMx.5),15,2020/5/1,单片机技术与应用,3.2.3低功耗应用原则,一般的低功耗原则,最大化延长其在LPM3或LPM4模式下的时间,用32KHz晶振作为ACLK时钟,DCO用于CPU激活后的突发短暂运行。如果在应用中有短暂性的周期工作并对反应速度不敏感的场合,可以最大化的利用LPMx.5模式来降低功耗。用接口模块代替软件驱动功能。例如Timer_A和Timer_B可以自动产生PWM和捕获外部时序,而不占用CPU资源。,16,2020/5/1,单片机技术与应用,3.2.3低功耗应用原则,一般的低功耗原则,用中断控制程序运行。用可计算的分支代替标志位测试产生的分支。用快速查表代替冗长的软件计算。在冗长的软件计算中使用单周期的CPU寄存器。避免频繁的子程序和函数调用。尽可能直接用电池供电。,17,2020/5/1,单片机技术与应用,3.2.3低功耗应用原则,在设计外设时还有一些常规原则,将不用的FETI输入端连接到VSS。JTAG端口TMS、TCK和TDI不要连接到VSS。CMOS输入端不能有浮空节点,将所有输入端接适当的电平。不论对于内核还是对于各外围模块,选择尽可能低的运行频率,如果不影响功能应设计自动关机。,18,2020/5/1,单片机技术与应用,与低功耗模式相关的内部函数,_bis_SR_register(LPM0_bits);或LPM0;/进入低功耗模式0_bis_SR_register(LPM1_bits);或LPM1;/进入低功耗模式1_bis_SR_register(LPM2_bits);或LPM2;/进入低功耗模式2_bis_SR_register(LPM3_bits);或LPM3;/进入低功耗模式3_bis_SR_register(LPM4_bits);或LPM4;/进入低功耗模式4_bic_SR_register_on_exit(LPM0_bits);或LPM0_EXIT;/退出低功耗模式0_bic_SR_register_on_exit(LPM1_bits);或LPM1_EXIT;/退出低功耗模式1_bic_SR_register_on_exit(LPM2_bits);或LPM2_EXIT;/退出低功耗模式2_bic_SR_register_on_exit(LPM3_bits);或LPM3_EXIT;/退出低功耗模式3_bic_SR_register_on_exit(LPM4_bits);或LPM4_EXIT;/退出低功耗模式4_bis_SR_register(LPMx_bits+GIE);/常用,进低功耗模式x,启用中断(x=04),#defineLPM0_bits(CPUOFF)#defineLPM1_bits(SCG0+CPUOFF)#defineLPM2_bits(SCG1+CPUOFF)#defineLPM3_bits(SCG1+SCG0+CPUOFF)#defineLPM4_bits(SCG1+SCG0+OSCOFF+CPUOFF),低功耗模式定义,19,2020/5/1,单片机技术与应用,3.2.4低功耗应用举例,(1)利用软件延时的方法实现LED闪烁#includevoidmain(void)volatileunsignedinti;WDTCTL=WDTPW+WDTHOLD;/关闭看门狗P1DIR|=BIT0;/将P1.0设置为输出while(1)/主循环P1OUT=BIT0;/反转P1.0引脚输出状态for(i=50000;i0;i-);/延时一段时间,例:假设MSP430F5529单片机的P1.0引脚外接一个红色的小LED,分别利用软件延迟和定时器实现LED闪烁。,20,2020/5/1,单片机技术与应用,(2)利用定时器延时实现LED闪烁#includevoidmain(void)WDTCTL=WDTPW+WDTHOLD;/关闭看门狗P1DIR|=0 x01;/将P1.0设为输出TA0CCTL0=CCIE;/CCR0中断允许TA0CCR0=50000;TA0CTL=TASSEL_2+MC_1+TACLR;/参考时钟选择SMCLK,/增计数模式,清除TAR计/数器_bis_SR_register(LPM0_bits+GIE);/进入LPM0并使能全局中断/TA0中断服务程序#pragmavector=TIMER0_A0_VECTOR_interruptvoidTIMER0_A0_ISR(void)P1OUT=0 x01;/反转P1.0端口状态,21,2020/5/1,单片机技术与应用,在利用软件延时的方法实现LED闪烁的程序中,CPU从50000开始一直在减计数,直到i等于0,反转一次P1.0端口状态,之后继续计数,从不停止。在利用定时器延时的方法实现LED闪烁的程序中,当程序将定时器TA0配置完成之后,MSP430单片机就进入LPM0模式,CPU立刻被停止。只有当定时时间到(50000个SMCLK时钟周期),CPU才被唤醒执行TA0中断服务程序,进而反转P1.0端口输出状态,之后再次进入LPM0,等待定时时间到再反转P1.0端口输出状态。,22,2020/5/1,单片机技术与应用,(1)采用等待的方法进行串口发送voidUSCI_A0_PutChar(charChr);/*名称:USCI_A0_PutChar()*功能:从串口发送1字节数据*入口参数:Chr:待发送的1字节数据*出口参数:无*说明:该函数在发送数据的过程中会阻塞CPU运行*/voidUSCI_A0_PutChar(charChr)UCA0TXBUF=Chr;while(!(UCA0IFG/等待该字节发送完毕,例:MSP430F5529单片机从串口发送1个字节数据,先将数据写入发送寄存器,等待发送完毕,然后再发送下1个字节。利用低功耗模式替代程序流程中的等待过程。,23,2020/5/1,单片机技术与应用,(2)采用低功耗模式进行串口发送voidUSCI_A0_PutChar(charChr);/*名称:USCI_A0_PutChar()*功能:从串口发送1字节数据*入口参数:Chr:待发送的1字节数据*出口参数:无*说明:利用低功耗模式发送1字节数据,不会阻塞CPU运行*/voidUSCI_A0_PutChar(charChr)UCA0TXBUF=Chr;_bis_SR_register(LPM3_bits+GIE);,例:MSP430F5529单片机从串口发送1个字节数据,先将数据写入发送寄存器,等待发送完毕,然后再发送下1个字节。利用低功耗模式替代程序流程中的等待过程。,24,2020/5/1,单片机技术与应用,(2)采用低功耗模式进行串口发送/USCI_A0中断服务程序#pragmavector=USCI_A0_VECTOR_interruptvoidUSCI_A0_ISR(void)switch(_even_in_range(UCA0IV,4)case0:break;/中断向量0无中断case2:break;/中断向量2接收中断case4:/中断向量4发送中断_bic_SR_register_on_exit(LPM3_bits);break;default:break;,例:MSP430F5529单片机从串口发送1个字节数据,先将数据写入发送寄存器,等待发送完毕,然后再发送下1个字节。利用低功耗模式替代程序流程中的等待过程。,25,2020/5/1,单片机技术与应用,采用等待的方法发送数据速度较慢且会阻塞CPU的运行,同时,CPU也将耗去大部分的电能。若将等待

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论