Zigbee网络低占空比机制实验解析.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.5 Zigbee网络低功耗模式机制研究 ZigBee网络节点通常由电池供电,并部署在野外环境中,要求常年连续工作。因此,低功耗设计对延长ZigBee网络生存寿命具有至关重要的意义。低占空比机制是一种非常重要的节能措施,通常应用在网络节点间通信频率较低的空闲型场合。本文首先介绍Z-Stack协议栈的低功耗电源管理模式,然后在应用层实现ZigBee节点周期性休眠与唤醒。这对减少ZigBee网络能量消耗,实现低占空比(low duty-cycle)网络具有重要参考意义。 6.6.1 实验目的与器材 1)实验目的 学习和理解Z-Stack协议栈电源管理模式,睡眠机制。 学会使用Z-Stack协议栈低功耗模式。 学会使用CC2530睡眠定时器进行睡眠和唤醒。 学会在应用层实现简单的低占空比模式。 2)实验器材 2个CC2530开发套件(1个协调器模块,1个终端模块); 6.6.2 实验原理与步骤 1)实验原理 ZigBee网络节点一般由能量有限的电池供电,长期处于无人值守的状态下,并且个数多、分布区域广、所处环境复杂,使得难以进行电池更换。如果节点电池能量耗尽之后,网络连通性以及网络生存时间会受到极大影响。为使节点长期正常工作下去,必须从能量供应的角度进行研究,采取有效的方法为无线传感器网络提供可持续的能量供应。 周全的传感器节点能量管理设计方案,必须从“开源”和“节流”两个方面采取相应措施,以达到能量有效使用。所谓“开源”,就是通过采取各种措施补充传感器节点能量,其中主要措施是能量收集网络。例如,利用太阳能电池板可以为传感器节点供电。白天,光伏电池在为传感器节点供电,同时将富余能量储存到电池中。夜间,太阳光不足时,由电池为传感器节点供电。所谓“节流”,就是通过采取各种节能措施减少传感器节点的能量消耗,延长网络使用寿命。“开源”措施的目标是最大化地扩展能量来源,而“节流”措施为了在保证通信质量同时,尽可能地减少能量消耗。 本节主要关注如何节约ZigBee网络节点能量。ZigBee通信协议中MAC层,网络层已经采用许多能量节约机制。其中,最常用的设计思想是当ZigBee节点空闲时,尽快进入休眠状态的低功耗电源模式,从而节约能量消耗。 1.CC2530电源管理 电池供电的终端设备通常采用电源管理方案来最小化节点功耗。一个终端设备在空闲时会关闭大功耗外设和空闲期间进入休眠模式。Z-Stack提供了两种休眠模式,分别为轻度休眠和深度休眠深度休眠最大限度地减少功耗睡眠模式#define HAL_SLEEP_OFF CC2530_PM0 #define HAL_SLEEP_TIMER CC2530_PM2 #define HAL_SLEEP_DEEP CC2530_PM3 #define CC2530_PM0 0 /* PM0, Clock oscillators on, voltage regulator on */ #define CC2530_PM1 1 /* PM1, 32.768 kHz oscillators on, voltage regulator on */ #define CC2530_PM2 2 /* PM2, 32.768 kHz oscillators on, voltage regulator off */ #define CC2530_PM3 3 /* PM3, All clock oscillators off, voltage regulator off */ 电源管理默认设置为HAL_SLEEP_OFF,即处于正常工作模式,时钟、电源稳压器都处于工作状态。CC2530处于睡眠模式时会关闭系统时钟、微控制单元(MCU),不是默认模式,需要在Z-Stack中增加编译选项POWER_SAVING 才能够使用。HAL_SLEEP_TIMER 和HAL_SLEEP_DEEP分别为轻度睡眠和深度睡眠模式。CC2530处于HAL_SLEEP_TIMER模式可以被睡眠定时器、I/O、重置唤醒,而处于深度睡眠时,只能够被I/O中断和重置唤醒。因此,轻度睡眠模式比较省功耗被定时唤醒;模式最省电只能被外部中断唤醒/* MAX_SLEEP_TIME 计算: * Sleep timer maximum duration = 0xFFFF7F / 32768 Hz = 511.996 seconds * Round it to 510 seconds or 510000 ms */ #define MAX_SLEEP_TIME 510000 /* maximum time to sleep allowed by ST */ 休眠定时器有一个 24 位计数器和一

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档