基于CC2530无线传感网络系统的设计
扫描二维码
随时随地手机看文章
摘要:提出一种基于ZigBee协议的用于测量温度的无线传感器网络方案,方案中使用CC2530无线芯片和温度传感器DS18820搭建了一个基于ZigBee协议栈的无线传感器网络。该网络由一个协调器充当中心节点和若干个终端节点一起,构成一个星型网络,给出了传感器节点、协调器节点的硬件设计原理图及软件流程图。实验证明节点性能良好、通信可靠,通信距离明显增大。
关键字:无线传感网络:ZigBee;CC2530;DS18B20
0 引言
无线传感器网络就是由安放在监测区域内大量廉价微型传感器节点,通过无线通信方式形成的一个自组织网络,该网络应用前景广阔。Z igBee技术是一种近距离、低复杂度、低功耗、低速率、低成本的双向无线通信技术,可用于距离短、功耗低且传输速率不高的各种电子设备之间进行数据传输以及典型的有周期性数据、间歇性数据和低反应时间数据传输的应用。
1 系统硬件组成与设计
本文设计的无线温度传感网络是由若干个ZigBee终端节点和一个ZigBee中心节点(协调器)组成,搭建成一个星型无线传感器网络,由终端节点上的温度传感器采集环境温度信息,协调器中心节点将接收到的信息及时反馈到计算机上,整体网络结构如图1所示。
1.1 微处理器和温度传感器
CC2530单片机是一款完全兼容8051内核,同时支持IEEE 802.15.4协议的2.4 GHz无线射频单片机。最大拥有256 KB的可编程FLASH容量,12个10位精度的A/D转换通道,21个双向的I/O端口,该款单片机能满足Z-Stack运行内存容量的要求。本文选用DS18B20作为温度传感器,能提供9位温度读数、设置温度上下限报警值。
1.2 终端节点硬件组成
无线传感网络节点是一个微型化的嵌入式系统,构成无线传感网络的基础支持平台。本文设计的无线传感网络终端节点硬件组成如图1所示,主要由CC2530F256片上系统收发射模块,电源模块,下载接口模块(同时兼顾仿真接口),传感器模块,发光二极管显示模块和独立
按键模块等组成。
电源模块由自锁开关、外部电池接口插针、输出电压为3.3 V的AMS1117稳压芯片、若干阻容元件组成。本文的调试系统终端节点选用3.6 V大容量充电电池,程序下载为JTAG接口。
传感器模块为三位插座接口,分别连接温度传感器电源、数据和接地管脚。数据接口和电源接口直接连接一个5 kΩ的上拉电阻。因为本传感器终端采用传感器直接插入方式,线路短,上拉电阻可不用接,如果要测量监控环境恶劣,可用长导线连接传感器和终端模块,使发射模块处于较良好稳定的工作环境,使处理器正常工作、延长芯片寿命,此时要接上上拉电阻。
发光二极管显示模块由发光二极管和分压电阻组成,用于显示程序的运行状态。
独立按键模块,为四角按键,模块带上拉电阻,按键与发射模块灵活连接。本终端模块中包含两路独立按键电路,一路用于复位,一路用于程序调试。
1.3 协调器节点的硬件组成
本文设计的无线传感网络协调器节点硬件组成如图2所示,主要由CC2530发射系统、电源、下载接口、LCD液晶屏显示、发光二极管显示、独立按键五向导航和RS 232串口等模块等组成。
协调器的电源模块与终端节点的基本相同,但因协调器要根据需要不停地查询网络中的信息,因此要外接稳定的电源,在终端的电源模块基础上增加了外部稳压源接口。协调器的下载接口、发光二极管显示和独立按键等模块原理图与终端节点一样,只是LED灯为4只,独立按键增加了3只。
LCD液晶模块,为128x64点阵的液晶,数据传输模式采用SPI总线传输。
RS 232串口模块是连接单片机与计算机的通信接口,把协调器从终端节点返回的传感器ID、实时温度、温度阈值等信息传输到计算机,由上位机监控软件显示、分析、存储。
五向导航按键采用A/D读取模式,有上下左右中间五个方向的键值,原理图如图3所示。
2 软件设计与实现
2.1 协调器节点程序
在网络中,每个节点都有一个64位的物理长地址和一个16位的短地址,短地址用于本网络的设备通信,而长地址则可以与本网络之外的其他网络进行通信。数据传送采用主从节点方式,与计算机相连作为主节点(协调器),其他节点作为从节点(终端节点),从节点可以向主节点发送中断请求。
协调器端程序流程如图4所示,协调器上电后,首先进行设备初始化,包括硬件电路初始化,寄存器初始化,协议栈初始化,操作系统初始化。然后进入到执行操作系统,进入无限循环的任务执行程序中。
终端程序的大体流程,终端的初始化过程和协调器类似。首先判断节点是否加入一个网络,如果是,则可以发送所采集的信息。如果没有加入网络,则判断是否作为老节点加入网络,如果作为老节点加入网络,则终端节点通过保留以前加入网络的地址来加入网络。如果作为新的节点加入网络,则需要扫描网络,然后加入其中最优秀的一个网络。
2.2 组网
组网的过程主要如下:
(1)协调器首先上电,完成网络的初始化,选择一个合适的信道,并且为自己的网络选择一个PAN_ID(网络标识符),然后周期的向周围发送beacon request的数据包。
(2)再将终端节点上电,终端节点会首先向周围的环境做一个信道能量扫描选择一个能量比较合适的信道进行网络搜寻。
(3)当协调器接收到终端节点的beacon request数据包之后会发送一个包含自己IEEE MAC地址的超帧。
(4)终端节点接收到超帧之后,将协调器的MAC地址保存,并利用这个地址向协调器发送一个Association Request的数据包,此包目的是寻求加入网络。
(5)当协调器接收到Data Request之后,首先经过NWK层的算法为其分配一个惟一的网络短地址,然后向终端节点发送一个包含其网络短地址的包,这个包是通过MAC地址发送的。
(6)当终端节点接收到这个包之后,配置自己的短地址为0xXXXX,此时可用这个短地址和协调器进行应用层的通信,至此终端节点已经成功加入到网络。
2.3 数据传输
本研究采用了直接寻址(通用单播),用于设备间的通信。设备直接寻址必须知道接收方的短地址或者长地址。
当节点接收到一个单播的消息,其APS层就会激活APSDE_DATA_indication原语处理消息。如果接收到的是一个确认帧,则APS层应该发送APSDE_DATA。
Indication原语来接收命令,然后将温度信息通过APSDE-DATA.request原语发送回协调器,协调器同样通过APSDE-DATA.indication原语来接收信息。如图5所示。
3 系统测试
对网络的测试,主要集中于两个方面:功能测试,如组网,点对点的通信,系统整体测试等;静态测试,如节点的性能指标,程序的实现和数据收发的正确率等。
3.1 功能测试
首先将协调器程序烧入一个节点作为协调器;将传感节点程序烧入几个节点作为传感器终端。经系统测试,所有终端都能加入网络,并能进行正常的数据收发,功能测试显示系统完好。
3.2 节点测试
3.2.1 无障碍传输距离测试
测试在室外空旷的环境下进行,打开协调器,建立无线网络后,再打开一个终端节点设备,此设备作为温度和电压信息的参考节点。最后打开另一个终端节点,对该节点加以移动,分别选取5个测试距离,测试移动中该节点数据接收效果,数据由计算机保存记录,测试完毕统计分析数据。结果见表1。
3.2.2 有障碍传输距离测试
测试在室内隔墙的环境下进行测试,步骤与无障碍传输距离测试方法一样。打开协调器,建立无线网络后,在协调器一旁打开一个终端节点设备,此设备作为温度和电压信息的参考节点。最后打开另一个终端节点,对该节点加以移动,分别选取5个测试距离,测试移动中该节点数据接收效果,数据由上位机软件保存记录,测试完毕统计分析数据,如表1所示。
在进行无障碍传输距离测试和障碍传输距离测试,在有墙相隔的时候信号不强,这与天线设计有关,本文终端设备的天线为PCB天线,如果使用带杆状天气的射频模块,接收效果就能够更好。
4 结论
随着计算成本的下降以及微处理器体积越来越小,无线传感器网络开始投入使用,如环境的监测和保护、医疗护理、目标跟踪,本文所采用的基于CC2530无线传感网络系统设计方案不失为一种较为高效、节能、抗干扰能力强的廉价组网方案。提高该无线网络的传输距离、增强网络的自愈能力,提高ZigBee和Wi—Fi及其他2.4 GHz系统的共存时的互不干扰能力,将该方案推向工业现场是今后研究的重点。