首页 理论教育 物联网操作系统Contiki及其应用:RDC协议探讨

物联网操作系统Contiki及其应用:RDC协议探讨

时间:2023-11-20 理论教育 版权反馈
【摘要】:Contiki系统中实现了两种基本类型的RDC层:nullrdc-noframer和nullrdc。Contiki 系统中也实现了一种简单的RDC 层,该层的实现代码在程序文件core/net/mac/sicslowmac.c 中,该RDC 层没有考虑节能问题,它使用IEEE 8021.5.4标准协议的帧格式。Contiki 系统中实现了三个以节能为目的的流行RDC 协议,它们是:X-MAC、ContikiMac 和LPP。上述三种RDC 协议的每一个都可用于节能考虑,因为这些协议都可以在占空比模式下运行,本章不讨论这些协议的细节,感兴趣的读者可以参考相关文献。

物联网操作系统Contiki及其应用:RDC协议探讨

Contiki系统中实现了两种基本类型的RDC层:nullrdc-noframer和nullrdc。nullrdc-noframer 的实现在程序文件core/net/mac/nullrdc-noframer.c 中,而nullrdc 的实现在程序文件core/net/mac/nullrdc.c 中。nullrdc-noframer 类型的RDC 层没有使用Framer层的函数,并且直接在无线层(物理层)上发送/接收数据,程序设计者可以完全控制网络上传输的数据分组的格式。第二种类型的RDC层nullrdc在分组首部的建立/解析中使用Framer层几种函数的方法,它尽管没有考虑节能问题,但可以作为仅仅传输分组和返回传输结果(如传输成功或出现冲突)的传输层。Contiki 系统中也实现了一种简单的RDC 层,该层的实现代码在程序文件core/net/mac/sicslowmac.c 中,该RDC 层没有考虑节能问题,它使用IEEE 8021.5.4标准协议的帧格式。

Contiki 系统中实现了三个以节能为目的的流行RDC 协议,它们是:X-MAC、ContikiMac 和LPP。X-MAC 是基于低功耗侦听的短前导同步协议,X-MAC 协议在Contiki系统中有两种不同的实现版本,实现代码分别在程序文件core/net/mac/cxmac.c和core/net/mac/xmac.c中,程序cxmac.c中的实现是一种简单的实现,它不要求严格的定时精度,并且可以在大多数平台上使用。ContikiMAC 协议是基于X-MAC 的一种改进协议,它的实现在程序文件core/net/mac/contikimac.c 中。LPP 协议是一种基于低功耗探测的Contiki 系统协议,该协议的实现代码在程序文件core/net/mac/lpp.c中。

上述三种RDC 协议的每一个都可用于节能考虑,因为这些协议都可以在占空比模式下运行,本章不讨论这些协议的细节,感兴趣的读者可以参考相关文献。为使这些协议运行需定义的一个重要参数是信道检查率CCR(Chan⁃nel Check Rate),这个参数定义了节点将侦听的传输介质的频率,以便从它们的邻居节点接收数据。当节点检测到某种活动时,为接收数据,这些节点必须保持唤醒状态。相反,当没有检测到任何活动时,这些节点返回睡眠模式,等待另一个占空比周期。定义信道检查率CCR 的参数是NETSTACK _CONF_RDC_CHANNEL_CHECK_RATE,它应该被设置为2 的幂(2、4、8、16、32 等),它的单位是Hz,即以秒为单位的节点检测传输介质的次数,后面将说明怎样修改该参数和其他的程序。(www.xing528.com)

程序文件core/net/mac/rdc.h 中定义了struct rdc_driver 的RDC 结构,如下所示:

当一个新的数据分组到达并且需要由RDC 层处理时将调用input方法,为了传输即将输出的数据分组,send方法和send_list方法将被调用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈