tandby模式下,如何唤醒MCU APM32的RTC与WKUP?
部分应用中,会有功耗要求,在功耗要求比较高的场景,要提高使用电池供电设备的待机时间,就需要关闭耗电高的器件,比如LCD屏幕、LED灯等,MCU也可以配置到低功耗状态来进一步降低。
APM32F103系列低功耗模式有三种:睡眠模式、停止模式和待机模式。通过关闭内核、时钟源、设置调压器来降低功耗。
每种低功耗模式的功耗、唤醒启动时间、唤醒方式、唤醒后数据的保存存在差异;功耗越低,唤醒时间越长,唤醒方式越少,唤醒后保存的数据越少,用户可以根据需求选择最合适的低功耗模式。下图是三种低功耗模式的差异。
APM32F103系列查看数据手册,可以看到各工作模式下的功耗差异。
根据主频和外设使用情况的不同:
Run mode:19.4~32.9mA
Sleep mode:5.2~21.5mA
Stop mode:20μA左右
Standby mode:4μA左右
可以看到各低功耗模式的功耗差异还是非常大的,特别的是standby模式,可以满足绝大部分低功耗需求。
Standby模式功耗最低,但待机时内核停止工作,外设也停止工作,内核寄存器、内存的数据会丢失。唤醒后相当于程序复位从头开始执行。
唤醒的方式可以通过WKUP引脚的上升沿, RTC闹钟、唤醒、入侵事件或 NRST引脚外部复位及IWDT。
一般常用的就是通过WKUP引脚或RTC来唤醒MCU。接下来简单测试下这两种方式。
WKUP唤醒的配置比较简单,只需要配置PMU_CSTS的WKUPCFG位即可。
对应库函数为: PMU_EnableWakeUpPin();
然后在进入standby前清除唤醒标志位,避免标志位干扰即可:
PMU_ClearStatusFlag(PMU_FLAG_WUE);
PMU_EnterSTANDBYMode();
而RTC的唤醒首先需要对RTC进行初始化。
void RTC_Init(void)
{
if(PMU_ReadStatusFlag(PMU_FLAG_SB) == SET)
{
APM_MINI_LEDOn(LED3);
PMU_ClearStatusFlag(PMU_FLAG_SB);
RTC_WaitForSynchro();
}
else
{
BAKPR_Reset();
RCM_EnableLSI();
while(RCM_ReadStatusFlag(RCM_FLAG_LSIRDY) == RESET);
RCM_ConfigRTCCLK(RCM_RTCCLK_LSI);
RCM_EnableRTCCLK();
RTC_WaitForSynchro();
RTC_ConfigPrescaler(40000);
RTC_WaitForLastTask();
}
}
这里使用LSI作为时钟源,Standby唤醒虽然主程序会从头运行,但RTC的配置不受影响,所以根据PMU_CSTS的待机标志,可以不用重复配置RTC,节省初始化时间。
再配置SysTick中断和按键PA1的中断,分别做系统运行闪烁指示和按键进入Standby的判断。
同时在EINT1_IRQHandler中进入standby前,进行RTC闹钟配置,让MCU进standby唤醒3秒后自动唤醒。
void SysTick_Handler(void)
{
APM_MINI_LEDToggle(LED2);
}
void EINT1_IRQHandler(void)
{
if(EINT_ReadIntFlag(KEY1_BUTTON_EINT_LINE) != RESET)
{
EINT_ClearIntFlag(KEY1_BUTTON_EINT_LINE);
APM_MINI_LEDOn(LED2);
RTC_ClearStatusFlag(RTC_FLAG_SEC);
while(RTC_ReadStatusFlag(RTC_FLAG_SEC) == RESET);
RTC_ConfigAlarm(RTC_ReadCounter()+ 3);
RTC_WaitForLastTask();
PMU_ClearStatusFlag(PMU_FLAG_WUE);
PMU_EnterSTANDBYMode();
}
}
对应main中进行初始化配置。
int main(void)
{
RCM_EnableAPB1PeriphClock((RCM_APB1_PERIPH_T)(RCM_APB1_PERIPH_PMU | RCM_APB1_PERIPH_BAKR));
APM_MINI_LEDInit(LED2);
APM_MINI_LEDInit(LED3);
APM_MINI_PBInit(BUTTON_KEY1, BUTTON_MODE_EINT);
APM_MINI_LEDOn(LED2);
APM_MINI_LEDOff(LED3);
PMU_EnableWakeUpPin();
PMU_EnableBackupAccess();
RTC_Init();
SysTick_Init();
while(1)
{
if(PMU_ReadStatusFlag(PMU_FLAG_WUE) == SET)
{
APM_MINI_LEDOn(LED3);
}
else
{
APM_MINI_LEDOff(LED3);
}
}
}
运行效果为:
上电LED2闪烁 ,表示MCU在运行状态。
按下PA1的按键,LED2熄灭,MCU进入standby模式。
3秒后MCU自动唤醒,或者给PA0一个上升沿信号也可以唤醒。
唤醒后,LED2继续闪烁,LED3常亮,表示进入过了standby模式。
而我main中多了一句:
if(PMU_ReadStatusFlag(PMU_FLAG_WUE) == SET)
{
APM_MINI_LEDOn(LED3);
}
这是为了验证用户手册说的:
实测也是运行状态下,如果PA0也就是WKUP引脚是高电平,这个标志位就会置位,并且由于标志位一直置位,如果保持PA0一直是高电平的状态进入standby,RTC闹钟无法唤醒MCU,需要PA0有个上升沿型号才行。
所以,应用中使用WUKP需要保持空闲状态低电平,需要唤醒时拉高,避免标志位不对。
补充下standby模式下的功耗,只有3μA,还是相当不错的。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由Vicky转载自极海半导体 微信公众号,原文标题为:APM32芯得 EP.27 | Standby模式 RTC唤醒与WKUP唤醒,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关研发服务和供应服务
相关推荐
【经验】极海MCU APM32F103 IAP的实现方式
拿到了一块APM32F103VC的MINI开发板,在学习了一段时间后发现其有非常丰富的外设资源,主频能达到96Mhz。最近在项目中使用到了IAP(In Application Programming)功能,特来评估一下APM32F103的IAP实现方式。
设计经验 发布时间 : 2022-12-30
还可以这样玩?极海半导体APM32F411系列MCU与pyocd的火花
前段时间笔者学习了一下如何使用pyocd配合APM32F411VCTINY板在命令行下给它进行各种骚操作,在使用一段时间后就想着:pyocd是基于python的,那是不是也可以使用python脚本+pyocd使用起来呢?本文中极海半导体与大家分享能够自动化完成重复操作的设计经验。
设计经验 发布时间 : 2024-08-29
什么?MCU APM32F072_RTC会恢复默认值?
本文介绍了APM32F072的RTC计数值会在断电后重新上电(Vbat未断电)后,APM32F072的RTC计数会恢复默认值发生的原因,查找问题的方法以及解决问题的办法。
设计经验 发布时间 : 2024-04-20
【应用】极海半导体MCU APM32F103系列用于HMI人机界面,可满足HMI功耗调整、蓝牙通信等需求
本文推荐采用极海半导体推出的APM32F103系列MCU作为HMI人机界面的主控,最高96MHz工作频率,FLASH 256K,SRAM 64K,支持FPU单元;资源丰富,有CRC/RTC/DMA通道,两个DMA;通信接口丰富。
应用方案 发布时间 : 2023-05-25
【视频】极海APM32F407xG系列MCU培训
型号- APM32F405VGT6,APM32F091VCT6,APM32F051K6T6,APM32F091CCT6,APM32F003F6P6,APM32F051K8T6,APM32F103CCT6,APM32F405RGT6,APM32F003F6P7,APM32F103VET6,APM32E103VCT6,APM32F051C8T6,APM32F103RCT6,APM32E103ZET6,APM32F103RCT7,APM32F103VCT6,APM32F103ZET6,APM32E103RCT6,APM32E103VET6,APM32F415RGT6,APM32F407RGT6,APM32F030RCT6,APM32F091RCT6,APM32F003F6U7,APM32E103CET6,APM32F407RET6,APM32F407VGT6,APM32F415VGT6,APM32F407VET6,APM32F051K8U6,APM32F051C8U6,APM32F103TBU6,APM32F417VGT6,APM32F103RET6,APM32F051R8T6,APM32F417ZGT6,APM32F405ZGT6,APM32F051K6U6,APM32F030CCT6,APM32F030C8T6,APM32F103CBT6,APM32F103C8T6,APM32F030K6T6,APM32F030R8T6,APM32F103VBT6,APM32F103RBT6,APM32F407ZET6,APM32F407ZGT6,APM32F072VBT6,APM32F072RBT6,APM32F072RBT7,APM32F415ZGT6,APM32F407IET6,APM32F072CBT6,APM32F407IGT6,APM32F030K6U6,APM32E103RET6
极海半导体APM32F407系列MCU支持国密算法,助力国产安全可控,适用于新能源等领域
极海推出的APM32F407系列MCU,结合当前环境要求,设计出了支持国密算法(SM2,SM3,SM4)的IP, 符合国家密码管理局认定和公布的密码算法标准及其应用规范,并凭借显著的性能优势,已应用至新能源、工业控制、医疗设备等众多领域。
原厂动态 发布时间 : 2023-01-07
极海半导体(Geehy Semiconductor)微控制器MCU选型指南(英文)
描述- Geehy Semiconductor Co., Ltd. is an IC Fabless company dedicated to developing industrial & automotive-grade MCUs, analog & mixed-signal ICs, and SoCs.
型号- APM32F030,APM32F051K6T6,APM32F4,APM32F405RGT6,APM32F003F6P6,APM32F003F6P7,APM32F103VET6,APM32E103,APM32F103VET7,APM32F051C6T6,APM32F0,APM32 SERIES,APM32F103RCT6,APM32F103RCT7,APM32E103RCT6,APM32E103VET6,APM32F105RCT6,APM32F035,APM32F407RGT6,GALT61120,APM32F030RCT6,APM32E103CET6,AGW32F103T4T6S,GW8811,APM32F407VET6,APM32A407ZGT7,GURC01,APM32A091RCT7,APM32F003F4U6,APM32A091,APM32F411VET6,APM32F051C6U6,APM32F103TBU7,APM32F103TBU6,APM32F107RBT6,G32A1445,APM32F051R8T6,APM32F417ZGT6,APM32F411CET6,G32A,APM32F405ZGT6,APM32F051K6U6,APM32M3514C8T7,APM32F030C8T6,G32A1445UAT0MLL,AGM32F103T4T6S,G32A1445UAT0MLH,APM32F103C8T6,APM32F103RBT7,APM32F411,GW3323HGU6,APM32F030K8T6,APM32F103RBT6,APM32A407,APM32F417,APM32F091CBU6,APM32M3514,APM32F407ZET6,APM32F072VBT6,APM32M3514C8U7,APM32E1,APM32,APM32F091CCU6,APM32E103CEU6,APM32F072R8T6,APM32F003F4M6,GW SERIES,APM32F107RCT6,APM32F072CBT6,APM32F407IGT6,APM32F003,APM32A103VET7,APM32F072CBT7,APM32F105RBT6,APM32F407,APM32F405,APM32F091,APW32F103T4T6S,APM32F405VGT6,APM32F035C8T7,GHD,APM32F072,APM32E103CCT6,APM32F103CCT6,APM32F051K8T6,APM32E103VCT6,APM32F051C8T6,APM32F072CBU6,APM32E103ZET6,GHD3125R,APM32F103VCT6,APM32F103ZET6,GEEHY-LINK,AP/GM/W32F103T4T6S,APM32F107VBT6,APM32A407VGT7,APM32A103,APM32F003F6U7,APM32F407RET6,APM32F407VGT6,GW3323,APM32F003F6U6,APM32F417IGT6,APM32F103T8U6,APM32F051K8U6,APM32F051C8U6,APM32F107,APM32F4T1RET6,APM32F105,APM32F105VCT6,APM32F103,APM32F417VGT6,GHD3440R5,APM32F051R6T6,APM32F103RET6,GHD3440R3,APM32F003F4P6,APM32F035K8T7,GURC,APM32F030CCT6,APM32F030C6T6,APM32F103R8T6,GALT,APM32F051,APM32F103CBT7,G32A1465UAT0MLL,APM32F103CBT6,GHD3440QE,G32A1465UAT0MLH,APM32F030K6T6,APM32F030R8T6,APM32F103VBT6,APM32F030K6T7,APM32F072C8T6,APM32F107VCT6,APM32F103T4T6S,APM32A103CBT7,APM32EF1,APM32F411CEU6,GW8811KEU6,GW8811CEU6,APM32F407ZGT6,APM32F072RBT6,APM32F072RBT7,APM32F003F6M6,GHD3440PF,APM32F407IGH6,APM32E103CCU6,GHD1620T,APM32A103RET7,APM32F105VBT6,APM32F030K6U6,GW,APM32E103RET6,APM32F072C8U6,G32A1465,APM32F072V8T6
极海车规级MCU凭借可靠的产品品质,斩获“2023汽车芯片50强”与“MCU创新先锋”两项大奖
近日,极海车规级MCU凭借可靠的产品品质、专业周到的客户技术支持服务,以及量产级解决方案良好的市场表现,相继斩获“2023汽车芯片50强”、“MCU创新先锋奖”两项行业大奖。作为国内领先的32位车规级芯片设计企业,极海积极布局以服务汽车智能化、电动化、网联化的快速融合。
原厂动态 发布时间 : 2023-11-30
【应用】国产极海半导体APM32系列工业级MCU助力推动新型工业化发展
工业级MCU应用场景范围十分广泛,并对使用寿命、温度、湿度、电磁辐射等有着严格的品质要求。极海半导体长期深耕中高端工控市场,本文就以绝对值编码器、高性能伺服驱动器及变频器方案为例,详细介绍极海半导体32位APM32位工业级MCU在工控领域的出色表现。
应用方案 发布时间 : 2022-11-02
基于极海半导体APM32F411工业级高适配型MCU的移动电源控制板应用方案
随着技术的发展,消费者对移动电源产品品质和体验提出了更高要求,除了储电量、安全性、便携度等基本要求,更具美观、多功能、人性化等优势的产品才能赢得消费者的青睐。采用极海APM32F411RET6工业级高适配型MCU作为主控的移动电源控制板方案,满足性能、功能、体积等综合设计需求,可帮助客户打造更具性价比和市场竞争力的移动电源产品。
应用方案 发布时间 : 2024-08-14
【应用】极海MCU APM32F103系列用于人机界面产品,可满足HMI功耗调整、蓝牙通信等多样化需求
HMI人机界面方案采用APM32F103系列作为主控,通过SPI接口连接LCD和NFC模块,通过GPIO口驱动LED灯,通过按键输入控制信号,通过I²C接口与EEPROM通信,外置8M晶振提供时钟信号,使用超低功耗蓝牙4.2 SoC GW8811。
应用方案 发布时间 : 2023-05-17
【应用】国产工业级高性能MCU APM32F407VGT6用于PLC工控板,主频168MHz,通信外设丰富
某客户主要做各种工业自动控制系统装置,其中一款国产PLC工控板主控要更换成国产物料,推荐极海工业级高性能MCU APM32F407系列,主频高达168MHz、通信外设资源丰富,工作温度范围-40℃到+85℃。
应用方案 发布时间 : 2023-03-14
极海联亮相2024全球MCU及嵌入式生态发展大会,展出新技术和产品并发表演讲
2024年7月25日,2024全球MCU及嵌入式生态发展大会在深圳君悦酒店举行,由AspenCore主办。极海作为特邀嘉宾在主论坛进行演讲,并展出新技术和产品,包括搭载Arm Cortex M52内核且采用Helium技术的G32R5系列实时控制MCU和针对电机市场的栅极驱动器与APM32M3514系列SoC等新品。
原厂动态 发布时间 : 2024-07-29
【应用】M3内核32位MCU APM32F103用于便捷POS机,支持低功耗射频,主频高达96MHz
本文推荐采用极海半导体32位MCU APM32F103作为便捷POS机的主控。该产品基于Arm®Cortex®-M3内核,支持加密,安全启动,防篡改保护,安全存储等功能;主频高达96MHz,支持低功耗射频,RFID等无接触式支持方式。
应用方案 发布时间 : 2023-03-15
【应用】极海32位MCU用于光伏逆变器,内置3个精度12位的ADC,主频高达168MHz
极海半导体APM32F407VGT6在硬件上标准LQFP100封装,高达168MHz的主频,独立FPU模块,高达82个I/O,操作简单,提供标准DEMO驱动程序等优点,是光伏逆变器应用或者其他通用MCU场景的优秀选择。
应用方案 发布时间 : 2022-12-23
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论