zigbee总是退出低功耗

Zigbee 子设备开发


caowen
Posts: 27

麻烦问一下,除了tal_cpu_force_wakeup,以及定时器,SDK是否还配置了其他方式唤醒,现在需要排查一下什么原因总是退出休眠,
TUYA_SLEEP_CB_T sleep_cb = {
.pre_sleep_cb = __tuya_pre_sleep_cb,
.post_wakeup_cb = __tuya_post_sleep_cb,
};
tal_cpu_sleep_callback_register(&sleep_cb);
通过打印得知,固件总是来回退出和进入休眠,想找一下退出休眠的原因

caowen
Posts: 27

Re: zigbee总是退出低功耗

我看泰凌威的芯片,唤醒休眠的只有定时器与管脚电平,我这没有设置电平唤醒,在没有定时器运行的情况下,也是会退出休眠的

huanghuan
Posts: 202

Re: zigbee总是退出低功耗

1.sdk会判断zigbee协议栈无线收发是否处于忙碌状态,协议栈timer,应用层timer是否到达设置定时进行处理;
2.同时pwm,hal timer等强制要求保持唤醒状态
3.频繁退出低功耗状态请确定退出休眠周期是多久,是否开启了一个循环timer不断执行任务

huanghuan
Posts: 202

Re: zigbee总是退出低功耗

目前telink 每隔120s唤醒一次,这是目前底层休眠设置的最长时间;请确认是否与这个时间匹配

huanghuan
Posts: 202

Re: zigbee总是退出低功耗

附件为原厂进入低功耗处理函数 demo ;你可以参考 drv_pm_lowPowerEnter 进行确认机制

Attachments
drv_pm.c
(11.33 KiB) Downloaded 25 times
caowen
Posts: 27

Re: zigbee总是退出低功耗

huanghuan 2024年 Feb 27日 10:09

1.sdk会判断zigbee协议栈无线收发是否处于忙碌状态,协议栈timer,应用层timer是否到达设置定时进行处理;
2.同时pwm,hal timer等强制要求保持唤醒状态
3.频繁退出低功耗状态请确定退出休眠周期是多久,是否开启了一个循环timer不断执行任务

zigbee协议栈无线收发是否处于忙碌状态,那模组上报心跳包,以及 poll 及 Rejoin是不是也会唤醒休眠

huanghuan
Posts: 202

Re: zigbee总是退出低功耗

是的,退出休眠模式才能发送无线包

huanghuan
Posts: 202

Re: zigbee总是退出低功耗

1.你想要关闭 data request 的目的是什么?
2.你目前配置的 data request是定时发送还是只有在发送数据后才会附带?

caowen
Posts: 27

Re: zigbee总是退出低功耗

huanghuan 2024年 Feb 27日 17:55

1.你想要关闭 data request 的目的是什么?
2.你目前配置的 data request是定时发送还是只有在发送数据后才会附带?

想要就降低模组唤醒的频率,这个data request的配置是在哪里看呢

huanghuan
Posts: 202

Re: zigbee总是退出低功耗

1.你好,你可以参考 https://support.tuya.com/zh/help/_detail/Kdajf848dswec
2.修改poll间隔 需要修改 config.sleep_ed_cfg.poll_config.interval_ms

Post Reply