浅谈Digi XBee模块的休眠模式
2020-3-25
Digi XBee S2C模块,如果仅连接电源线可以测得,在待机情况下,大约是10.5mA左右的电流,在休眠时的功耗可以低到0.5uA。可以知道,休眠几乎不耗电。在Spec上标的待机功耗会比实测只接电源线耗电更高,这时因为实际应用中我们还常接上UART等IO引脚。实际上,终级的低功耗控制往往也和通信引脚和控制引脚(比如休眠使能线)密切相关,不同的CPU串口功耗也不尽相同。一般说来,CMOS的UART省电些,TTL的耗电些。此外Digi模块内部有上拉电阻(29K),除非为了电平转换,否则没必要在通信线上再加上拉电阻,以免并联后消耗更多静态电流。对于一些CPU本身串口比较耗电,则应在通信线上加电压型的隔离器,以尽可能减少功耗,GPIO控制线如果不需要请不要接上拉或是用管子隔离,以减少引脚休眠线的电流。
XBee ZB支持三种休眠模式:
引脚休眠 (SM = 1);
周期休眠 (SM = 4);
周期休眠加引脚唤醒 (SM = 5)。
一个ZigBee的休眠节点在醒来后马上和醒来时每隔100ms去向父节点索取缓存的数据包(这个过程我们称为polling)。
当休眠节点进入睡眠模式时:
On/Sleep拉低(de-asserted)以宣示模块进入睡眠模式;
如果CTS硬件流控被启用,CTS拉高(de-asserted)来提示串口数据不该再送往模块;
如果入网指示Associate引脚被配置使用,它将被拉低以防止电源用于点亮联网提示灯;
如果用到引脚唤醒,睡眠请求引脚Sleep_RQ(D8)被配置为下拉输入口以便外部设备可以拉高来使模块休眠(仅用于 SM = 1 或 SM =5);
其它引脚则不会有任何变化,以便按用户配置方式应用。
当XBee模块从睡眠中醒来:
On/Sleep引脚被拉高以宣示模块醒来;
如果CTS流控被启用,CTS引脚拉低表示模块准备好接收串口数据;<