版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、STM8L05低功耗模式测试文档STM8L051的五种低功耗模式wait,lowpowerrunmode,lowpowerwaitmode,Ative-Haltmode,Haltmode。1、WAITmode在等待*II式,CPU的时钟是停止的,被选择的外设继续运行。WAITmode分为两种方式:WFE,WFI。WFE是等待事件发生,才从等待模式中唤醒。WFI是等待中断发生,才从等待模式中唤醒。2、lowpowerrunmode在低功耗运彳T模式下,CPU和被选择的外设在工作,程序执行在LSI或者LSE下,从RAM中执行程序,Flash和EEPROM都要停止运行。电压被配置成UltraLowP
2、ower模式。进入此模式可以通过软件配置,退出此模式可以软件配置或者是复位。3、lowpowerwaitmode这种模式进入是在lowpowerrunmode下,执行wfe。在此模式下CPU时钟会被停止,其他的外设运行情况和lowpowerrunmode类似。在此模式下可以被内部或外部事件、中断和复位唤醒。当被事件唤醒后,系统恢复到lowpowerrunmode。4、Active-Haltmode在此模式下,除了RTC外,CPU和其他外设的时钟被停止。系统唤醒是通过RTC中断、外部中断或是复位。5、Haltmode在此模式下,CPU和外设的时钟都被停止。系统唤醒是通过外部中断或复位。关闭内部的
3、参考电压可以进一步降低功耗。通过配置ULP位和FWU位,也可以6us的快速唤醒,不用等待内部的参考电压启动。一、各个低功耗模式的代码实现1、 WAITmode等待模式分为两种:WFI和WFE。1.1、 WFImode当执行“wfi”语句时,系统就进入WFI模式,当中断发生时,CPU被从WFI模式唤醒,执行中断服务程序和继续向下执行程序。通过置位CFG_GCR的AL位,使主程序服务完中断服务程序后,重新返回到WFI模式。程序如下:voidMcuwfi()PWR_UltraLowPowerCmd(ENABLE);/开启电源的低功耗模式CLK_HSEConfig(CLK_HSE_OFF);关闭HSE
4、时钟(16MHz)#ifdefUSE_LSECLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSE);CLK_SYSCLKSourceSwitchCmd(ENABLE);while(CLK-SWCR)&0x01)=0x01);CLK_HSICmd(DISABLE);#elseCLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);CLK_SYSCLKSourceSwitchCmd(ENABLE);while(CLK-SWCR)&0x01)=0x01);CL
5、K_HSICmd(DISABLE);#endif切换时钟到LSI(38KHz)wfi();进入WFI模式#ifdefOnly_Interrupt设置CFG_GCR的AL位,服务完中断后回到WFI模式CFG-GCR=CFG_GCR_AL;#endif1.2、 WFE当执行“wfe”语句时,系统就进入WFE模式。WFE有两种唤醒模式,一种是:中断唤醒,一种是:事件唤醒。当中断唤醒时,当执行到wfe时,进入wfe模式休眠。系统执行步骤如下:进入WFE模式-有中断产生-系统唤醒-执行中断服务程序-继续休眠。当事件唤醒时,当执行到wfe时,进入wfe模式休眠。系统执行步骤如下:进入WFE模式-有中断产生
6、-系统唤醒-执行中断服务程序-继续往下执行。2、lowpowerrunmode这种模式程序在RAM中执行,EEPROM和FLASH是在IDDQ(低功耗模式),时钟切换到低速时钟。进入此模式的步骤如下:1、进入RAM2、切换系统时钟到LSE或LSI3、关闭高速时钟、外设和ADC4、屏蔽中断5、通过设置FLASH_CR1的EEPM位来关闭FLASH和EEPROM6、等待FLASH和EEPROM关闭7、通过设置CLK_REGCSR的REGOFF位进入校准低功耗模式退出lowpowerrunmode的步骤如下:1、通过重置CLK_REGCSR的REGOFF位进入主校准模式,延时等待主校准稳定。2、通过
7、设置FLASH_CR1的EEPM位来打开FLASH和EEPROM,延时等待FLASH和EEPROM打开。3、屏蔽所有中断。程序如下:voidLPR_init(void)(/*SwitchtheclocktoLSEanddisableHSI*/CLK_HSEConfig(CLK_HSE_OFF);#ifdefUSELSECLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSE);CLK_SYSCLKSourceSwitchCmd(ENABLE);while(CLK-SWCR)&0x01)=0x01);CLK_HSICmd(DISABLE);#elseCLK_SYSC
8、LKDivConfig(CLK_SYSCLKDiv_1);CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);CLK_SYSCLKSourceSwitchCmd(ENABLE);while(CLK-SWCR)&0x01)=0x01);CLK_HSICmd(DISABLE);#endifPWR_UltraLowPowerCmd(ENABLE);ConfigureeventforWAKEUPandFUNCTION,disabletheinterrupts*/CLK_RTCClockConfig(CLK_RTCCLKSource_LSI,CLK_RTCCLKDi
9、v_1);切换系统时钟/至ijLSIsim();屏蔽中断LPR_Ram();/CallinRAM程序在RAM里执行/if(lowpowerwait_flag=1)/lowpowerwait_flag=0;/Switchontheregulator/CLK-REGCSR=0xb9;/while(CLK-REGCSR)&0x1)!=0x1);/*SwitchtheclocktoHSI*/CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);CLK_HSICmd(ENABLE);while(CLK-ICKCR)&0x02)!=0x02);CLK_SYSCLKSourceConfi
10、g(CLK_SYSCLKSource_HSI);CLK_SYSCLKSourceSwitchCmd(ENABLE);while(CLK-SWCR)&0x01)=0x01);sim();退出Lowpowerrunmode/3、Lowpowerwaitmode进入Lowpowerwaitmode模式是在MCU进入Lowpowerrunmode后执行wfe指令。从Lowpowerwaitmode模式退出只能通过外部中断。退出Lowpowerwaitmode模式后,CPU会返回至ULowpowerrunmode。_ramfuncvoidLPR_Ram(void)/voidLPR_Ram(void)#e
11、ndifuint8_ti=0;/*ToreduceconsumptiontominimalSwithofftheFlash*/FLASH-CR1=0x08;while(CLK-REGCSR)&0x80)=0x80);/*SwithofftheRegulator*/CLK-REGCSR=0x02;while(CLK-REGCSR)&0x01)=0x01);if(lowpowerwait_flag=0)while(1);Else/在此处进入Lowpowerwaitmode,进入WFE的配置。/*SettriggeronGPIOBpin3*/WFE-CR2=0x01;/*Waitforendofco
12、unter*/wfe();EXTI-SR1|=0x10;EXTI-SR2|=0x01;WFE-CR2=0x00;退出Lowpowerwaitmode,进入Lowpowerrunmode4、Active-Haltmode在Active-Halt模式下,主时钟和CPU,以及大部分的外设都停止了,只剩下LSE或LSI为一部分的外设提供时钟,能在Active-Halt模式运行的外设包括:SWIM、beeper、IWDG、RTC和LCD。进入Active-Halt模式,是通过halt语句。退出是通过外部中断、RTC和复位。参看代码如下:voidMcuActive_Halt()(/Halt_Init();
13、PWR_UltraLowPowerCmd(ENABLE);RTC_Config(10000);初始化RTC/*#ifdefUSE_LSECLK_LSEConfig(CLK_LSE_OFF);while(CLK-ECKCR&0x04)!=0x00);#elseCLK_LSICmd(DISABLE);while(CLK-ICKCR&0x04)!=0x00);#endif*/sim();halt();/进入Active-Halt模式5、Haltmode在Haltmode下,系统时钟停止,CPU和所有的外设停止。进入Haltmode,是执行halt语句。退出此模式,是通过外部中断和复位。Haltmod
14、e和Active-Haltmode的区别是:Active-Haltmode下的一些外设还在工作。参考代码如下:voidMcuHalt()(Halt_Init();关闭外设sim();屏蔽中断halt();进入Halt模式二、测试功耗1.3、 测试的各个模式下的功耗的测试步骤如下:1、烧写不同模式下的代码,配置外部中断唤醒。2、外部不需要的模块,停止供电。3、把万用电串到电路中测试整个系统的电流。1.4、 各个部分的测试结果如下:LOWpowermode进入方式手册值实际值waitmodewaitforinterruptWFI55uA87uAwaitforeventWFE55uA92uAlowpowerlowpowerrunmodeSoftwareSequence5.4uA3.7uAlowpowerwaitmodeSoftwaresequence+W
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 担保协议在主协议前签订的合法性分析
- 店铺全面经营管理权让渡协议范例
- 2024年劳动法规定劳动协议范例
- 2024年载重车租赁协议范本
- 补贴发放细则:2024年协议
- 2024企业互相借款协议模板解析
- 权交易授权协议:2024模板
- 2024年出租车租赁经营协议模板
- 2024适用高端人才竞业约束协议
- 2024年全球贸易合作协议文本
- 二年级(上)音乐第四单元 单元分析
- 道路运输企业职业安全健康管理工作台帐(全版通用)参考模板范本
- 中国小学生生命教育调查问卷
- 通用模板-封条模板
- 集团公司后备人才选拔培养暂行办法
- 第五章旅游餐饮设计ppt课件
- 从马克思主义视角看当前高房价
- 长沙市某办公建筑的冰蓄冷空调系统的设计毕业设计
- 不抱怨的世界(课堂PPT)
- 企业盈利能力分析——以青岛啤酒股份有限公司为例
- 消火栓灭火器检查记录表
评论
0/150
提交评论