打印
[AIROC™ 蓝牙]

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

[复制链接]
260|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
YangTwo|  楼主 | 2024-7-21 12:49 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 YangTwo 于 2024-7-21 11:56 编辑

本次实验将涉及如何进入深度睡眠和休眠模式,并使用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非常适合蓝牙低功耗领域的应用,而且有多种功耗模式可供用户选择,给设计开发提供了非常大的帮助。



使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

101

帖子

1

粉丝