微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 怎么把ZIGBEE的功耗降到极低?

怎么把ZIGBEE的功耗降到极低?

时间:10-02 整理:3721RD 点击:

有没有什么办法可以把ZIGBEE的功耗降到极低,而又不影响通信;有没有这方面成功的案例和例程

若是终端节点的话,可以进入低功耗模式 PM3 。 但一般进入低功耗会禁用晶振,导致无法传输无线信息,只能等其被唤醒后去父节点请求被缓存的消息。  

请问您现在的应用环境是怎样的?

你好Susan, 我在调试的时候发现只能进入PM2,要有什么条件才能进入PM3呢?

当你把zgPollRate=0,当系统的timeout为0的时候,就会进入PM3 /* HAL_SLEEP_PM2 is entered only if the timeout is zero and * the device is a stimulated device. */ halPwrMgtMode = (timeout == 0) ? HAL_SLEEP_DEEP : HAL_SLEEP_TIMER; /* DEEP sleep can only be entered when zgPollRate == 0. * This is to eliminate any possibility of entering PM3 between * two network timers. */

Hi Susan

1. 注释里面是不是写错了啊?

/* HAL_SLEEP_PM2 is entered only if the timeout is zero and * the device is a stimulated device. */

2. 另外请教一下stimulated device是个什么概念?

3. 通过单步调试能看到设备可以进入PM3么,也就是halPwrMgtMode的值可以看到是HAL_SLEEP_DEEP?

Thanks

注释没有错误的 

 /* DEEP sleep can only be entered when zgPollRate == 0.
   * This is to eliminate any possibility of entering PM3 between
   * two network timers.
   */
您可以参考hal_sleep.c 
 http://zigbee-in-supermaket.googlecode.com/svn/trunk/Components/hal/target/CC2530ZNP/hal_sleep.c   

我都晕死了,PM3是不是deep sleep? 代码注释的地方明显是有矛盾的。。。。到底哪个是对的

/* HAL_SLEEP_PM2 is entered only if the timeout is zero and
   * the device is a stimulated device.
   */
  halPwrMgtMode = (timeout == 0) ? HAL_SLEEP_DEEP : HAL_SLEEP_TIMER;
/* DEEP sleep can only be entered when zgPollRate == 0.
   * This is to eliminate any possibility of entering PM3 between
   * two network timers.
   */

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top