Zigbee协议星形组网实验的设计与实现
2013-12-23冉彦中曹婧华
冉彦中,曹婧华,姜 威,赵 飞
(1.吉林大学(和平校区)计算机教研室,吉林长春 130062;2.吉林大学白求恩医学院,吉林长春 130021;3.吉林大学军需科技学院,吉林长春 130062)
Zigbee技术是短距离、低速率、低功耗、低成本的短距离无线通信技术,它与IEEE802.15.14一起构成无线传感器网络的标准通信协议,适用于网点多、体积小、数据量小,传输可靠、低功耗等场合。
1 Zigbee网络结构
Zigbee网络有3 种拓扑形式:星形、簇树形和网形。网络节点按功能划分为终端节点、路由器节点和协调器节点。ZigBee协调器节点在IEEE 802.15.4中称为PAN(Personal Area Network)协调点,它是整个网络的主控节点,负责发起建立新的网络、设定网络参数、管理网络中的节点以及存储网络中节点信息等,网络形成后也可以执行路由器的功能,ZigBee协调器节点必须是FFD(full function device),一个ZigBee网络只有一个协调器节点;路由器节点是全功能节点,转发数据,起到路由的作用,也可以收发数据,当成一个数据节点,还能保持网络,为后加入的节点分配地址;终端节点RFD(recuced function device),通常定义为电池供电的低功耗设备,只周期性发送数据,不接收数据。图1为星型网络拓扑图。
图1 星型网络拓扑图
2 网络节点组成与设计
本实验设计采用基于2.4GHz的Zigbee模块进行传感器[1-3]的节点设计,外面接有温度传感器。温度传感器采集回来的数据送到Zigbee模块进行处理,然后由无线的形式发送给其他节点。Zigbee模块由无线通信模块(IEEE 802.15.4.RF 2.4GHz)、微控制器模块、能量模块和温度传感器模块4个部分组成(见图2)。Zigbee硬件电路采用TI/Chipcon 公司开发的2.4GHz IEEE 802.15.4/Zigbee片上系统解决方案CC2430。CC2430整合了2.4GHz IEEE 802.15.4/Zigbee RF 收发机CC2420,以及工业标准的增强型8051MCU 的性能,还包括了8KB 的SRAM、大容量闪存以及许多其他特性。CC2430在接收机传输模式下的电流损耗为25mA,使得RFID 成为针对超长电池使用寿命应用的理想解决方案。3种类型的节点硬件电路都是一样的,其功能的差别体现在各自的软件上,从而在无线网络中扮演不同的角色。
图2 网络节点结构图
3 Zigbee无线收发模块软件设计
Zigbee无线收发模块软件设计主要包括Zigbee协调器[4-10]和终端节点设备的软件设计。
协调器与接受模块通过串口RS-232连接,并将各个路由器节点的控制命令转发下去。各个路由器和终端设备在加入网络后把自己的网络地址发送给协调器,协调器接收到终端设备的网络地址后建立地址表,并且把地址存储起来,以便控制命令准确发送。网络节点程序流程如图3所示。
在Zigbee协议栈里初始化一个星型网络只需进行相关的网络参数设置,再调用函数aplFormNetwork(),即可建立一个新的网络。初始化协调器:首先网络层请求MAC 层扫描检测,扫描完成后网络层从MAC层接收到返回信号,然后再选择一个合适的信道;如果应用层已经确定了PANID 参数,网络层将确保所给定的网络标志符不会与所选择的现有的网络参数产生冲突,如果存在冲突则从给定的信道中选择另外一个信道;一旦合适的信道和网络标志符PAN ID 确定后,网络管理实体将选择0X0000作为16位的短MAC地址,告知MAC 层;一个RFD 节点可以调用aplJoinNetwork()函数加入当前的网络协调器,RFD 节点上电后首先扫描网络中是否存在协调器,如果主机存在,主机会自动应答RFD 节点,当RFD 节点收到主机3次应答信号后,RFD 节点就可以向协调器发送自己的64位物理地址;协调器收到RFD 发送来的64位物理地址后,根据加入的先后给RFD 节点分配16位的网络地址,那么RFD 节点成功加入网络。
图3 网络节点程序流程图
协调器建立和维护网络的运行:网络上的各个节点按照入网的先后顺序获得一个网络地址,并且这些网络地址都发给协调器,由协调器将这些地址存储起来,建立网络表;当一定时间内没有新的节点加入网络时,协调器认为整个网络建立完成。
4 Zigbee软件模块部分实现代码
Zigbee的星型网络的组网实验在应用层上编写程序。协议栈的程序是2430[11]的开发商编写的,调用相应的函数完成组网,以下是协调器和RFD 具体说明。
5 实验测试
实验采用Zigbee协议实验节点6个,由终端设备RFD 节点定时采集温度环境监测参数,并通过Zigbee协议建立网络,将检测数据汇集到协调器,然后将数据发送到PC机的串口。
实验用到了烧写程序软件Jennic Flash Programmer,将串口线连接到协调器节点,打开PC 机上的串口调试助手,波特率设置为115 200bit/s,可以收到节点发来的数据。发送的数据包格式如下:
其中:“00 16”为包号,“00 15 8D 00 00 09 10 1D”为发送节点的地址,“00 01”为协调器分配的短地址,“00 1D”为温度数值,“00 DB”,“0A 3E”为节点电压数值,“FF FF”为包尾。此时用手按住某终端设备节点或路由器节点的温度传感器,就可以发现收到的数据包中温度数值也相应地发生改变。
6 结论
本实验设计成本低廉,响应速度快,系统可靠性高,并在不断发展的短距离无线通信技术中进行了有益地探索。
(
)
[1]贾洪杰,王敏.基于FDMA 技术的无线环境监测系统[J].电脑编程技巧与维护,2010(6):112-113,123.
[2]尹勇,龙毅宏.嵌入式无线传感器网络节点设计[J].武汉理工大学学报,2006(3):107-109,116.
[3]李婷,王振翀,袁守浩.带式输送机无线保护传感器软件开发研究[J].中国科技信息,2010(6):79-82.
[4]李路,刘忠,胡洪宁.无线传感器网络在协同作战中的应用[J].舰船科学技术,2007(6):111-115.
[5]张来潮,吴广恩.无线传感器网络在军队指挥自动化建设中的应用[J].电子科技,2006(12):57-60.
[6]郑德忠,韩昭明.王会颖.基于无线传感器网络的co监测系统设计[J].传感技术学报,2007(4):925-928.
[7]张志东,孙雨耕.基于无线传感器网络的语音通信系统设计与实现[J].电子技术应用,2007(11):117-120.
[8]李文仲,段朝玉.ZigBee无线网络技术入门与实战[M].北京:北京航空航天大学出版社,2007.
[9]蒋挺,赵成林.ZigBee紫蜂技术及其应用[M].北京:北京邮电大学出版社,2006.
[10]昂志敏,金海红,范之国,等.基于ZigBee 的无线传感器网络节点的设计与通信实现[J].现代电子技术,2007,30(10):47-49,57.
[11]马永强,李静强,冯立营.基于ZigBee技术的射频芯片CC2430[J].单片机与嵌入式系统应用,2006(3):45-47.