tandby模式下,如何唤醒MCU APM32的RTC与WKUP?

2024-01-27 极海半导体 微信公众号
MCU,APM32,APM32F103,极海半导体 MCU,APM32,APM32F103,极海半导体 MCU,APM32,APM32F103,极海半导体 MCU,APM32,APM32F103,极海半导体

部分应用中,会有功耗要求,在功耗要求比较高的场景,要提高使用电池供电设备的待机时间,就需要关闭耗电高的器件,比如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,还是相当不错的。



授权代理商:世强先进(深圳)科技股份有限公司
技术资料,数据手册,3D模型库,原理图,PCB封装文件,选型指南来源平台:世强硬创平台www.sekorm.com
现货商城,价格查询,交期查询,订货,现货采购,在线购买,样品申请渠道:世强硬创平台电子商城www.sekorm.com/supply/
概念,方案,设计,选型,BOM优化,FAE技术支持,样品,加工定制,测试,量产供应服务提供:世强硬创平台www.sekorm.com
集成电路,电子元件,电子材料,电气自动化,电机,仪器全品类供应:世强硬创平台www.sekorm.com
  • +1 赞 0
  • 收藏
  • 评论 0

本文由Vicky转载自极海半导体 微信公众号,原文标题为:APM32芯得 EP.27 | Standby模式 RTC唤醒与WKUP唤醒,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关研发服务和供应服务

评论

   |   

提交评论

全部评论(0

暂无评论

相关推荐

【经验】如何在JFLASH中添加极海半导体Geehy APM32系列MCU

本文主要介绍极海半导体MCU产品如何使用第三方Segger公司的JFLASH配合J-Link仿真器对指定型号MCU的Flash进行擦除、写入及读取操作的目的。

2023-01-06 -  设计经验 代理服务 技术支持 采购服务

【经验】APM32F4 MCU在RT-Thread系统上添加以太网驱动和使用LwIP网络组件的方法

本文详细介绍了如何将极海半导体APM32F4 MCU在RT-Thread系统上添加以太网驱动和使用LwIP网络组件,其他APM32带有以太网控制器的MCU,在RT-Thread使用LwIP网络功能也是大同小异的,按照这个过程基本都可以把网络功能应用起来。

2023-08-25 -  设计经验 代理服务 技术支持 采购服务

APM32芯得 | 基于极海APM32E103系列MCU的SPI转CAN芯片MCP2515移植测试

极海半导体APM32E103系列MCU支持CAN协议2.0A和2.0B,通信波特率最大为1Mbit/s,并且拥有双CAN接口,能适应更多的应用场合。将杜邦线按照引脚配置,接好线后仿真就能测试回环模式下收发数据了。可以看到断点打到接收部分,可以接收到CAN数据,与发送的数据一致。

2024-11-15 -  设计经验 代理服务 技术支持 采购服务

极海半导体32位MCU-M0选型表

极海半导体的APM32系列是基于Arm® Cortex®-M0+/M3/M4内核的优质国产32位通用MCU,具有低功耗、高性能、高集成度以及快速移植等特性。凭借优异的系统性能、丰富的协处理功能以及灵活的使用体验,有助于用户缩短产品设计时间、降低开发成本、实现性能最优化。

产品型号
品类
内核
Frequency(MHz)
FLASH(KB)
SRAM(KB)
I/Os
Vmin(V)
Vmax(V)
GPTMR(16bit)
GP TMR(32bit)
Advanced TMR(16bit)
Basic TMR
Systick(24bit)
ADC 12-bit Cell
ADC 12-bit channels
DAC 12-bit Cell
DAC 12-bit channels
Analog Comparator
TSC (Channels)
SPI
I2S
I2C
U(S)ART
CAN
SDIO
USB Device
Package
对照型号
APM32F072V8T6
32位MCU
ARM Cortex-M0
48MHz
64KB
16KB
87
2V
3.6V
5
1
1
2
1
1
16
1
2
2
24
2
2
2
4
1
0
1
LQFP 100
-

选型表  -  极海半导体 立即选型

【应用】极海半导体MCU APM32F103系列用于HMI人机界面,可满足HMI功耗调整、蓝牙通信等需求

本文推荐采用极海半导体推出的APM32F103系列MCU作为HMI人机界面的主控,最高96MHz工作频率,FLASH 256K,SRAM 64K,支持FPU单元;资源丰富,有CRC/RTC/DMA通道,两个DMA;通信接口丰富。

2023-05-25 -  应用方案 代理服务 技术支持 采购服务

还可以这样玩?极海半导体APM32F411系列MCU与pyocd的火花

前段时间笔者学习了一下如何使用pyocd配合APM32F411VCTINY板在命令行下给它进行各种骚操作,在使用一段时间后就想着:pyocd是基于python的,那是不是也可以使用python脚本+pyocd使用起来呢?本文中极海半导体与大家分享能够自动化完成重复操作的设计经验。

2024-08-29 -  设计经验 代理服务 技术支持 采购服务

【经验】极海MCU APM32F103 IAP的实现方式

拿到了一块APM32F103VC的MINI开发板,在学习了一段时间后发现其有非常丰富的外设资源,主频能达到96Mhz。最近在项目中使用到了IAP(In Application Programming)功能,特来评估一下APM32F103的IAP实现方式。

2022-12-30 -  设计经验 代理服务 技术支持 采购服务

极海半导体32位MCU-M3选型表

极海半导体的APM32系列是基于Arm® Cortex®-M0+/M3/M4内核的优质国产32位通用MCU,具有低功耗、高性能、高集成度以及快速移植等特性。凭借优异的系统性能、丰富的协处理功能以及灵活的使用体验,有助于用户缩短产品设计时间、降低开发成本、实现性能最优化。

产品型号
品类
内核
Frequency(MHz)
FLASH(KB)
SRAM(KB)
SDRAM
FPU
I/Os
Vmin(V)
Vmax(V)
GPTMR(16bit)
GP TMR(32bit)
Advanced TMR(16bit)
Basic TMR
Systick(24bit)
ADC 12-bit Cell
ADC 12-bit channels
DAC 12-bit Cell
DAC 12-bit channels
Analog Comparator
EMMC
SPI
I2S
I2C
U(S)ART
CAN
SDIO
Package
对照型号
APM32E103CET6
32位MCU
ARM Cortex-M3
120MHz
512KB
128KB
0
1
37
2V
3.6V
4
0
1
2
1
2
10
2
2
0
0
3
2
2
3
2
0
LQFP48
STM32F103RET6

选型表  -  极海半导体 立即选型

极海联亮相2024全球MCU及嵌入式生态发展大会,展出新技术和产品并发表演讲

2024年7月25日,2024全球MCU及嵌入式生态发展大会在深圳君悦酒店举行,由AspenCore主办。极海作为特邀嘉宾在主论坛进行演讲,并展出新技术和产品,包括搭载Arm Cortex M52内核且采用Helium技术的G32R5系列实时控制MCU和针对电机市场的栅极驱动器与APM32M3514系列SoC等新品。

2024-07-29 -  原厂动态 代理服务 技术支持 采购服务

【应用】国产工业级高性能MCU APM32F407VGT6用于PLC工控板,主频168MHz,通信外设丰富

某客户主要做各种工业自动控制系统装置,其中一款国产PLC工控板主控要更换成国产物料,推荐极海工业级高性能MCU APM32F407系列,主频高达168MHz、通信外设资源丰富,工作温度范围-40℃到+85℃。

2023-03-14 -  应用方案 代理服务 技术支持 采购服务

极海半导体APM32F407系列MCU支持国密算法,助力国产安全可控,适用于新能源等领域

极海推出的APM32F407系列MCU,结合当前环境要求,设计出了支持国密算法(SM2,SM3,SM4)的IP, 符合国家密码管理局认定和公布的密码算法标准及其应用规范,并凭借显著的性能优势,已应用至新能源、工业控制、医疗设备等众多领域。

2023-01-07 -  原厂动态 代理服务 技术支持 采购服务

APM32F411xCXE ARM®Cortex®-M4F核基32位MCU用户手册

型号- APM32,APM32F411XCXE SERIES,APM32F411XCXE

2024.1.24  - 极海半导体  - 用户指南  - V 1.3 代理服务 技术支持 采购服务

极海半导体32位MCU-M4选型表

极海半导体的APM32系列是基于Arm® Cortex®-M0+/M3/M4内核的优质国产32位通用MCU,具有低功耗、高性能、高集成度以及快速移植等特性。凭借优异的系统性能、丰富的协处理功能以及灵活的使用体验,有助于用户缩短产品设计时间、降低开发成本、实现性能最优化。

产品型号
品类
内核
Frequency(MHz)
FLASH(KB)
SRAM(KB)
SDRAM
Voltage
GPTMR(16bit)
GP TMR(32bit)
Advanced TMR(16bit)
Basic TMR
Systick
IWDG
WWDG
ADC 12-bit Cell
ADC 12-bit channels
DAC 12-bit channels
EMMC
SPI
I2S
I2C
U(S)ART
CAN
SDIO
USB OTG_FS
DCI
Ethernet
Package
对照型号
APM32F407IET6
32位MCU
ARM Cortex-M4
168MHz
512KB
192+4KB
1
1.8~3.6
8
2
2
2
1
1
1
3
24
2
1
3
2
3
4+2
2
1
1
1
1
LQFP176
STM32F407IET6

选型表  -  极海半导体 立即选型

极海车规级MCU凭借可靠的产品品质,斩获“2023汽车芯片50强”与“MCU创新先锋”两项大奖

近日,极海车规级MCU凭借可靠的产品品质、专业周到的客户技术支持服务,以及量产级解决方案良好的市场表现,相继斩获“2023汽车芯片50强”、“MCU创新先锋奖”两项行业大奖。作为国内领先的32位车规级芯片设计企业,极海积极布局以服务汽车智能化、电动化、网联化的快速融合。

2023-11-30 -  原厂动态 代理服务 技术支持 采购服务

极海半导体-武汉大学MCU联合实验室揭牌仪式隆重举行,将围绕测绘遥感应用领域探索更多创新实践

2024年6月11日,极海半导体-武汉大学 MCU联合实验室揭牌仪式在武汉大学信息学部教学实验大楼隆重举行。此次仪式标志着极海大学计划正式落子武汉,双方在微控制器(MCU)领域的合作迈上了新台阶。未来实验室将围绕智能无人系统、塔基遥感系统、智慧农业传感网系统等领域探索更多创新应用实践,开展更多基于国产MCU的嵌入式系统开发与教学研究,双方合力推进产学研合作与协同创新。

2024-06-27 -  原厂动态 代理服务 技术支持 采购服务
展开更多

电子商城

查看更多

品牌:极海半导体

品类:MCU

价格:¥1.6200

现货: 100

品牌:极海半导体

品类:MCU

价格:¥14.9850

现货: 60

品牌:极海半导体

品类:MCU

价格:¥14.8500

现货: 51

品牌:极海半导体

品类:MCU

价格:¥9.4500

现货: 50

品牌:极海半导体

品类:MCU

价格:¥9.7200

现货: 50

品牌:极海半导体

品类:MCU

价格:¥12.4200

现货: 50

品牌:极海半导体

品类:MCU

价格:¥15.7950

现货: 50

品牌:极海半导体

品类:MCU

价格:¥13.5000

现货: 50

品牌:极海半导体

品类:MCU

价格:¥14.1750

现货: 50

品牌:极海半导体

品类:MCU

价格:¥12.1500

现货: 50

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

现货市场

查看更多

品牌:RENESAS

品类:16-BIT MCU

价格:¥5.5190

现货:910,635

品牌:RENESAS

品类:MCU

价格:¥5.1500

现货:200,000

品牌:恒烁

品类:MCU

价格:¥1.0800

现货:154,600

品牌:Advanced Digital Chips

品类:MCU

价格:¥6.6000

现货:100,000

品牌:RENESAS

品类:MCU

价格:¥5.8041

现货:86,925

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥7.3800

现货:76,715

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥15.3000

现货:75,000

品牌:Advanced Digital Chips

品类:MCU

价格:¥9.0000

现货:64,841

品牌:ST

品类:MCU

价格:¥15.5600

现货:58,800

品牌:RENESAS

品类:32-BIT GENERAL MCU

价格:¥257.6400

现货:58,799

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

品牌:

品类:

价格:

现货:

服务

查看更多

TFT LCD液晶显示屏/模组定制

可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。

最小起订量: 1000 提交需求>

IC烧录代工及IC自动化烧录

拥有IC烧录机20余款,100余台设备,可以烧录各种封装的IC;可烧录MCU、FLASH、EMMC、NAND FLASH、EPROM等各类型芯片,支持WIFI/BT模组PCBA烧录、测试。

最小起订量: 1 提交需求>

查看更多

授权代理品牌:接插件及结构件

查看更多

授权代理品牌:部件、组件及配件

查看更多

授权代理品牌:电源及模块

查看更多

授权代理品牌:电子材料

查看更多

授权代理品牌:仪器仪表及测试配组件

查看更多

授权代理品牌:电工工具及材料

查看更多

授权代理品牌:机械电子元件

查看更多

授权代理品牌:加工与定制

世强和原厂的技术专家将在一个工作日内解答,帮助您快速完成研发及采购。
我要提问

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

研发客服
商务客服
服务热线

联系我们

954668/400-830-1766(工作日 9:00-18:00)

service@sekorm.com

投诉与建议

E-mail:claim@sekorm.com

商务合作

E-mail:contact@sekorm.com

收藏
收藏当前页面