面向无线传感网络的构件化开发方法

时间:2012-10-22来源:网络

由图4 可知,原来方案中的系统集成级构件层的构件没有被调用,而直接调用硬件抽象层构件。由图4 与图2 对比发现,将原来系统集成层构件*能移到PhyP 构件中完成,这样避免了对底层构件的重复使用,整个结构更清晰简单。因此,需要对PhyP 构件做改进,使得其能够完成初始化射频芯片,调用射频芯片发送和接受数据。虽然看起来PhyP 构件要比实际代码量大,但是对改进后系统运行的测试结果表明,提高了10%的工作效率,缩减3000 行的代码量。

3 测试直接调用法

将直接调用法应用IEEE802.15.4 的设计与实现。IEEE802.15.4 标准目前已成为事实上的无线传感器标准,并在各自硬件平台上开发该协议。以IEEE802.15.4 标准为例,在TinyOS系统、CC2420 射频芯片的环境下使用本文直接调用法来设计实现该标准,并测试其工作性能。

设计按照TinyOS 系统的构件化编程思路进行。物理层将设计两个构件(PhyP,PhyC),相关操作通过标准中定义的两个接口进行:数据访问接口(PD)、管理接口(PLME)。构件PhyP 是物理层的主要实现构件,它具有初始化构件、发送数据、接受数据三个基本功能。MAC 层设计两个构件:MacC、MacP,其中MacP 是主要的执行构件。MAC 层中有两种设备:协调器节点和非协调器节点。协调器节点负责建立网络:确立网络号(PANID)、本节点的短地址、并产生信标帧载荷部分。非协调器节点加入协调器节点所建立的网络中组成更大的个人区域网络。

3.1 功能测试

测试程序运行在两个对等的节点上,分两个阶段测试。首先测试物理层的通信情况:一号个节点产生一个有效载荷为:0 至9 十个数据的数据包并发送给另外二号节点,二号节点在收到上述数据包后原封不动将该数据包又发回给刚才发送者。发送和接收到的数据包的内容是一致的,并且信号灯闪烁正常,说明节点之间的通信正常,物理层设计工作正常。进一步测试MAC 层工作情况:将一号节点设为协调器节点,二号节点设置为非协调器节点。一号节点初始化并建立一个PAN 网,二号节点请求加入一号节点所创建的网中,验证网络是否工作正常。通过功能测试可知,整个工作过程是按照IEEE802.15.4 标准的规定运行,实现了该标准功能。

3.2 效率测试

工作效率测试中应用产生50 个数据包后调用MAC 层发送接口发送这50 个数据包,从应用调用MAC 层数据接口时开始计时,到应用层收到包成功发送的确认消息为止。记录下这个响应时间,并依次增大发送数据包的的有效载荷,从10 个字节增加到90,记录下有效载和增加时的响应时间。效率测试将分别在原始方案和直接调用法开发出来的协议中进行,统计两种不同方法的工作参数,最后得到的时间分布如图5 所示。

图5 收发数据效率比较

由图5 可知,在50 个数据包的情况下,当数据包的有效载荷在10 至50 个字节时二者响应时间差距并不大,响应时间提高了10%左右,当有效载荷增加到50 个字节以上时,响应时间提高30%,有利于满足嵌入式系统的实时性要求

结束语

本方案通过分析无线传感器网络现有的开发方法的不足,提出直接调用法,并用该方法实现IEEE802.15.4 标准,最终达到预期目标。方案的移植性高,稳定性好,代码量小,适合无线传感器资源有限,实时性要求高的特点。同时直接调用法可以用来开发其他通信协议,如:802.11、LEACH、蓝牙等。

1 2 3

关键词: 开发 方法 构件 网络 无线 传感 面向

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版