ContikiMAC翻译选读.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ContikiMAC周期性休眠RDC协议Adam Dunkels(瑞典)2011.12摘要低功耗设备必须尽可能的保持射频的关闭,以达到尽量的能耗,但也需经常的醒来以接收周围节点的通信数据。这份报告描述了ContikiMAC周期性休眠机制,在Contiki2.5中的默认机制中使用了一个高效的唤醒机制,并使用一系列的时序管理尽可能使射频处于关闭状态。使用ContikiMAC,节点可以在网络中通信时,保持基本上99%的时间中射频都处于关闭状态。这份报告描述了ContikiMAC机制,测量单个ContikiMAC操作的能量消耗,以及评估快速休眠和时序锁定的优化效果。1. 前沿低功耗无线设备必须维持严格的能耗以获得数年的生存时间。在低功耗无线设备的所有部件中,无线收发器通常能耗消耗更高。无线收发器在被动监听其他设备的信号中的功率与主动传输的功率一致,因而收发机必须完全的关闭以节省能量。因为节点在收发机关闭状态不能接受任何数据,周期性的休眠管理机制必须被用于不时地打开收发机。在多年发展中,提出了许多的周期休眠机制(例如,Dutta和Dunkels的更加彻底的周期休眠机制的审视);这篇文档描述了ContikiMAC的周期休眠机制,使用的是Contiki 2.5 中的默认机制。ContikiMAC被设计来易于理解和实现。ContikiMAC仅使用异步机制,没有同步信息,也没有额外的包头数据。ContikiMAC数据包是普通的链路层信息。ContikiMAC具有更为高效节能的唤醒机制。通过一系列的精准的时间约束来实现。另外,ContikiMAC使用了快速休眠的优化方法,以允许快速的检测到失败的唤醒,并且采用传输时序锁优化方法,允许传输数据时能耗的实时优化。ContikiMAC中的机制是由现有的周期循环机制中启发而来的。周期唤醒的想法在许多的协议中都使用过,如B-MAC,X-MAC和BoX-MAC。时序锁优化已经先前由WiseMAC中所推荐使用,也已经被用于其他的一些协议。重发数据包作为唤醒方式也已经被TinyOS的BoX-MAC协议所使用。本报告的结构如下所示。第二部分介绍ContikiMAC机制和它的原理。第三部分介绍在Contiki 2.5系统中的ContikiMAC实现。第四部分评估ContikiMAC协议的节能效果,包含微基准测试和在网络中的数据收集。相关工作在第五部分介绍,并且第六部分做总结。图1.ContikiMAC:节点在大部分时间内休眠,周期性的醒来检测射频信号。如果检测到了信道中有数据包传输,接收端保持唤醒状态以接收数据包,并发送链路层确认信息。当发送数据包时,发送端不断重发数据包直至收到链路层确认信息。图2.广播数据包在整个唤醒周期内不断重发2. ContikiMACContikiMAC是一个射频周期休眠(Radio Duty Cycling Protocol)协议,使用周期性的唤醒来监听邻居节点的数据包传输。如果检测到数据包传输,接收端保持唤醒以能够接收完整的数据包。当数据包被成功接收时,接收端发送一个链路层确认信息。为了传输数据,发送端不断重发数据包直到接收到来自接收端的链路层确认信息。发送广播包时不要求确认。另外,发送端会在整个周期内重发数据包以确保所有的邻居可以接收到。ContikiMAC的基本原理如图1和图2所示。图3.ContikiMAC传输和CCA时间2.1 ContikiMAC时序关系ContikiMAC有一个高效节能的唤醒机制,依赖精确的时间控制。ContikiMAC唤醒使用了低代价的信道确认(CCA)机制,使用射频收发机中RSSI信息用来给出信道中射频能量的指示。如果RSSI低于某个给定的阈值,CCA会返回正值,标示信道内饰没有信号的。如果RSSI值高于某个给定的阈值,CCA会返回负值,标示信道现在正被使用。ContikiMAC时序关系如图3所示。从图中所示的各个时间为:ti: 数据包间隔;tr:一个稳定的RSSI测量所需的时间,用以给出一个稳定的CCA值;tc:每个CCA间的间隔;ta: 接收数据包和发送确认包之间的间隔;td: 接收端成功接收到确认信息所需的时间;图4.数据包的传输时间必须足够长,才不会落在两个CCA间隔的时间内。所有的时间必须满足一系列的约束。首先,对于ti,每个传输数据包之间的间隔,必须要小于tc,每个CCA之间的间隔。这是为了确保第一个或者第二个CCA能够检测到传输的数据包。如果tc小于ti,两个CCA将有不会可靠的检测到数据传输。ti和tc的关系也限定了ContikiMAC中所能支持的数据包的最短大小,如图4所示。对于ContikiMAC,使用两个CCAs来检测数据,传输包长不能太短而使其落在两个CCAs之间。特别的,ts,最短数据包的传输时间,必须要长于tr+ tc+ tr。

文档评论(0)

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

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

1亿VIP精品文档

相关文档