微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 无线传感器网络底层平台的深层研究

无线传感器网络底层平台的深层研究

时间:06-10 来源:C114 点击:

2测试

2.1测试方法

测试的每个节点都通过一根串口线连接到PC.在测试程序中添加测试代码,把测试节点发送和接收的MAC(Media Access Control)层数据信息通过串口发送到PC上。然后通过PC上的串口调试助手显示出来。对这些数据信息进行分析便可以知道节点上各模块程序的运行情况。

2.2测试过程及结果

通过分析群首节点广播数据帧到群中终端节点的过程来判断底层模块的运行情况。群首节点A和群中终端节点(B、C、D)都通过串口线连接到PC上。群网络号为0x0001,节点A、B、C、D地址分别为:0x0001、0x0002、0x0003、0x0004.A通过无线模块发送广播数据到B、C、D,并把发送数据发送到PC显示,最后把接收到的ACK回复帧也发送到PC显示;B、C、D通过无线模块接收到A发过来的数据,按自己节点地址大小进行延时后对接收数据帧进行回复,并把接收数据帧和回复ACK帧通过串口发送到PC显示。

图4为群首节点发送数据帧和接收ACK帧的过程。协议栈MAC层帧的封装格式按照IEEE 802.15.4[5]标准。从图4可以看出:第一个框中为发送节点发送数据帧,后面三个框中为接收到的终端节点回复的ACK帧。按照IEEE Std 802.15.42006标准中的帧封装格式,发送窗口显示的第一个字节为物理层数据长度。后面紧跟的是FCF(Frame Control Field帧控制字段,占2字节),对发送可信广播数据帧为0x8801.参考标准手册中FCF设置,可以看出对数据帧的设置如下:节点地址和网络地址都采用16位;在帧中同时包括源网络ID、源节点地址、目的网络ID、目的节点地址;需要ACK帧确认;没有采用安全设置。后面是DSN(1字节),这是传输的第一个帧,所以设置为0x01.后面为目的网号0x0001(占2字节)。后面为目的节点地址0xFFFF(占2字节),这是广播地址,当CC2520发现目的节点地址为广播地址时,便向所有节点传输广播帧。后面为源网络号0x0001(占2字节)。后面为源节点地址0x0001(占2字节)。因为这是同一个网段中的群首向终端节点发送广播帧,所以目的网络号和源网络号相同。后面接着的2字节为MAC层数据,为了测试简单,测试时只发送了2字节的数据(1和2,ASCALL码为0x31和0x32)。可信广播帧要求接收节点回复ACK帧,后面三个框中数据分别是节点B、C、D回复的ACK帧。回复帧的格式和数据帧的设置情况类似,区别是回复帧的FCF为0x8802,表示是回复帧且不需要确认,回复帧中没有数据字段,且回复帧中的目的网络号、目的地址为接收数据帧中的源网络号、源地址。


图4群首广播发送节点串口显示图

图5为接收节点B的接收数据帧。从图中可以看出,第一个框中为接收到的可信广播数据帧,第二框中数据为发送的ACK帧。接收窗口中前面的数据和发送窗口中数据一样。不一样的是最后的2字节(具体解释请参考3.5节CC2520接收过程)。接收节点解析目的地址,发现是广播地址,需要再检查FCF字段中的Ack Request是否为1,如果为1,则需要回复ACK帧。为了避免群中节点收到可信广播数据帧,同时回复ACK帧造成信道碰撞,回复ACK帧的时候按照自己节点地址大小延时发送。群中其他节点(C、D)的接收串口显示数据和节点B的类似,这里就不再详细说明。


图5可信广播接收节点B串口显示图

结语

从测试的结果看,发送节点通过CC2520发送的数据能被接收,节点正确接收并通过串口发送到PC.这说明论文介绍的各个模块都能够正确稳定地工作。通过这些底层模块的协同工作,为上层操作系统和协议栈提供了通信的基础服务。本论文只是简单地完成了各模块的功能,还有很多可以改进的地方,比如,可以在CC2520通信过程中加入精确的时序控制,为上层提供更好的服务。

参考文献

[1]朱近康。无线传感器网络技术[J].中兴通信技术,2004(10)。

[2]张乐,邵峰晶,孙仁诚。嵌入式系统开发平台硬件抽象层的研究与设计[J].青岛大学学报:工程技术版,2007(1)。

[3]韩立,郭永伟,罗佳伟。基于ATmega88的USART多处理机通信[J].电脑与信息技术,2010(6)。

[4]百度百科。 http://baike.baidu.com/view/245026.htm.

[5] IEEE Computer Society. IEEE Std 802.15.4-2006[S]. IEEESA Standards Board.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top