【英飞凌CYW20829测评】+ RTC低功耗特性


本次实验将涉及如何进入深度睡眠和休眠模式,并使用RTC警报唤醒。将MCU从深度睡眠和休眠模式唤醒。


软硬件环境:

  • ModusToolbox™ v3.1 or later (tested with v3.1)
  • Board support package (BSP) minimum required version for:
  • CYW920829M2EVK-02: v1.0.1
  • Programming language: C
  • Associated parts: All PSoC™ 6 MCU parts, AIROC™ CYW20829 Bluetooth® LE SoC and AIROC™ CYW89829 Bluetooth® LE SoC


主循环检查用户按钮是否被按下以及按了多长时间。

如果短按(小于2秒),设置RTC报警,然后进入深度睡眠模式;10秒后产生RTC报警中断,然后通过UART打印DeepSleep唤醒信息。

若长按该按钮(大于2秒),设置RTC报警,将设备从休眠模式唤醒的源配置为RTC报警,系统进入休眠模式;RTC告警在10秒后产生,导致MCU复位。主程序在cyhal_system_get_reset_reason()函数的帮助下检查重置的原因是否为Hibernate唤醒。如果重置的原因是Hibernate唤醒,那么通过UART打印Hibernate唤醒信息。

顺便提一下,在CPU Active功率模式下,看门狗计数器有能力向CPU发出中断请求。在CPU休眠和深度睡眠电源模式下,它可以向唤醒中断控制器(WIC)发送中断请求。
 

  • 活动模式(Active Mode):在此模式下,WDT能够向CPU发送中断,CPU接收中断请求并继续执行中断服务程序(ISR)。ISR负责清除中断
  • 休眠或深度休眠模式:来自WDT的中断请求直接发送到WIC。WIC负责唤醒CPU。一旦CPU确认了中断请求,它就继续执行执行ISR。ISR固件负责在其操作中清除中断
  • Hibernate模式:很少有外设(如WDT)保持活动状态。任何旨在唤醒的中断设备在此模式下将导致设备复位。没有特定的中断服务程序或与此特定模式相关的机制


实物测试:
烧录程序后,短按SW2进入DeepSleep模式:
 


 

10s钟后,退出低功耗模式。



长按SW2进入Hibernate模式。



10s钟后,退出低功耗模式。



在代码层面,可以通过调用如下API来分别进入DeepSleep模式和Hibernate模式。

复制
                /* Go to deep sleep */

                cyhal_syspm_deepsleep();



                /*Go to hibernate and configure the RTC alarm as wakeup source*/

                cyhal_syspm_hibernate(CYHAL_SYSPM_HIBERNATE_RTC_ALARM);


进而调用:

复制
cy_rslt_t cyhal_syspm_deepsleep(void)

{

    if(_cyhal_deep_sleep_lock != 0)

    {

        return CYHAL_SYSPM_RSLT_DEEPSLEEP_LOCKED;

    }

    return _cyhal_syspm_deepsleep_internal();

}
复制
static cy_rslt_t _cyhal_syspm_deepsleep_internal(void)

{

#if defined(COMPONENT_CAT1A) || defined(COMPONENT_CAT1B) || defined(COMPONENT_CAT1C) || defined(COMPONENT_CAT1D)

    return Cy_SysPm_CpuEnterDeepSleep(CY_SYSPM_WAIT_FOR_INTERRUPT);

#elif defined(COMPONENT_CAT2)

    return Cy_SysPm_CpuEnterDeepSleep();

#endif



}


我们这款cyw28029非常适合蓝牙低功耗领域的应用,而且有多种功耗模式可供用户选择,给设计开发提供了非常大的帮助。
---------------------
作者:YangTwo
链接:https://bbs.21ic.com/icview-3390758-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值