在DA14580上,我们一直在使用深度睡眠和一个依赖于GPIO上的级别转换的唤醒机制。这工作非常好和可靠。最近,我们想加入一个额外的功能,要求每1-3分钟定时唤醒一次。这是通过在使用app_easy_timer设置计时器之前将设备设置为深度睡眠模式来实现的。这基本上和预期的一样,但我注意到,每10秒,这个设备自己会很快醒来,然后再次进入睡眠状态。由于这导致额外的电力消耗,我们不再能够满足我们的电力预算的生命周期的产品。
我通过在Smart Snippets Power Profiler中观察当前波形看到了唤醒。我试图在da1458x_config_advanced.h中更改CFG_MAX_SLEEP_DURATION_EXTERNAL_WAKEUP_MS的值,但没有看到自动唤醒频率的变化。
当我消除app_easy_timer唤醒时,设备不会自己唤醒。只有设置了计时器,我才会看到10秒起床。有什么方法可以防止周期性醒来吗?
设备:
嗨abarangan,
根据你的帖子,你提到你在使用深度睡眠模式。那么,你是烧录了OPT还是将设备设置为开发模式?请检查da1458x_config_basic.h头文件中的CFG_DEVELOPMENT_DEBUG定义和注释。无论使用哪种睡眠模式,DA1458x都可以通过两种方式唤醒,要么是同步的,通过BLE定时器可以被编程唤醒系统,要么是异步的,通过外部中断(作为GPIO上的电平过渡)。
谢谢,PM_Dialog