- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第六章Z-STACK的低功耗电源管理
第一节Z-STACK协议栈下的电源管理机制
6.1.1电源管理的概念
电源管理是指设备(一般是采用电池供电的终端节点)通过软件设置在设备空闲时自
动进入多种睡眠模式,从而延长电池的使用。
Zigbee的低功耗特性即通过恰当的电源管理实现,即需要尽量减少短暂无线电通信之
间的功耗。通常有以下两种途径:
◆禁用外设以降低设备功耗。
◆空闲期间进入睡眠模式。Z-STACK提供了两种睡眠模式:轻度定时器休眠和深度
休眠。轻度定时器睡眠在系统需要周期性被唤醒去执行预定时间延迟的任务时被使用。深
睡眠通常在没有明确时间延迟,需要外部中断刺激(如按一个按钮)唤醒设备才开始任务
的情况下使用。轻度定时器睡眠可以降低功耗到几毫安,而深度睡眠可以减少到几个微安。
睡眠的终端设备的例子产品包括:传感器——它被周期性的唤醒汇报它们的传感
器数据;还有设备——它被用户按键唤醒并发送数据。在这些类型的设备共同特点是
它们可以在大部分时间里处于睡眠模式,最度地减少系统功耗。
6.1.2Z-Stack协议栈下的系统电源管理机制
Z-SATCK协议栈下的系统电源管理通过OSAL实现。OSAL主循环每个任务完成后
的系统状态。如果系统当前没有任务有预定的发生,同时电源管理功能启用,系统将
判断是否进入睡眠模式。系统进入睡眠模式必须同时满足如下条件:
◆-睡眠POWER_SAVING编译选项启用。
◆-ZDO节点状态描述显示“RX在系统空闲时关闭”:设置RFD_RCVC_ALWAYS_ON在
f8wConfig.cfg为FALSE。
◆-所有的Z-Stack的任务“同意”睡眠。
◆–所有的Z-Stack的任务没有预定的安排。
◆-MAC没有预定的安排。
1
Z-Stack中终端设备的工程项目在默认情况下没有电源管理功能。要启用此功能,在
建立工程时需要将POWER_SAVING编译选项设置为使能。如下图所示,该编译选项位于C/C++
Compiler下Preprocessor里的Definedsymbols:(oneperline)下:
为了将系统功耗降到最低,终端设备在进入睡眠模式之前需要尽可能多地把不必要的
电路关闭。这包括设备、无线和以及MCU本身的一些重要部分。为了避
免在睡觉模式下丢失信息,终端设备的父设备需要保存子节点的信息直至终端设备查询到
这些信息为止(终端设备功能设置中需将CAPINFO_RCVR_ON_IDLE设置项设置关闭)。在
Z-Stack的工程中,设备功能的默认设置在ZDO_Config_Node_Descriptor结构中描述,保
存在ZDConfig.c文件中。终端设备的默认设置只设置了CAPINFO_DEVICETYPE_RFD项,表
明它是电池供电并可在设备空闲时关闭其无线
文档评论(0)