基于CC2430的无线传感网络中协调器的设计

2011-06-05 11:01李伟跃
电子设计工程 2011年20期
关键词:PC机温度传感器传感

李伟跃

(安徽省六安市安全生产监察支队 安徽 六安 237000)

无线传感器网络(Wireless Sensor Networks,WSN)是最近几年迅速发展起来的多学科交叉的新兴研究领域。美国的《技术评论》将无线传感器网络列入未来新兴十大技术之首[1]。我国也十分重视无线传感器网络的研究,在“中国未来20年技术预见研究”提出的157个技术课题中,有7项直接涉及无线传感器网络。2006年初发布的《国家中长期科学与技术发展规划纲要》[2],为信息技术确定了3个前沿方向,其中两项与无线传感器网络研究直接相关。

无线传感器网络可以如此定义:一种由大量廉价的无线传感器节点所组成,通过无线通信的方式形成的多跳自组织网络系统,其目的是协作地感知、采集并处理网络覆盖区域内感知对象的信息[3]。按照传感器节点在无线网络中的角色,可以将其分为协调器、路由器和终端节点。

1 ZigBee与CC2430

目前能够用于短距离无线传感网络的通信技术主要有五种[4]:Wi-Fi技术、超宽带通信(ultra wideband, UWB)技术、近场通信 (near field communication,NFC)技术、蓝牙以及ZigBee技术。其中,ZigBee是基于IEEE802.15.4的一种新兴短距离无线通信技术,其特点是低功耗、低速率、低复杂度、低成本等。这些特点决定了ZigBee技术非常适合应用于无线传感网络中,因此ZigBee技术被认为是最有可能应用于工业监控、传感器网络、家庭监控、安全监控等领域的无线技术。

ZigBee技术的开发是基于ZigBee协议栈来实现的。ZigBee协议栈由一组子层组成,每层为其上层提供特定的服务。IEEE802.15.4定义了最低两层:物理层和介质访问控制层,ZigBee联盟定义了上面两层:网络层和应用层。其中应用层又包括应用支持子层、ZigBee设备对象及由制造商制定的应用对象。

CC2430是支持ZigBee协议的无线通信的主要芯片之一。该芯片仅需要极少的外围元件,即可构成ZigBee节点。CC2430除了保持了CC2420所包括的优良射频性能之外,其内部还集成了一个增强型8051内核以及丰富的外设资源,如DMA控制器、看门狗定时器、8~14位的ADC、睡眠定时器等。这使得CC2430成为市面上最具有竞争力的ZigBee无线收发芯片。

2 硬件电路

在一个网络中,一般只有一个协调器。它是传感器网络的核心,负责接收无线传感器终端节点发送来的数据,以及向传感器节点发送命令等信息。在本系统中,协调器通过RS232总线与PC机相连,将数据传送给PC机进行显示和监测。协调器的硬件电路包括无线通信模块、微处理器模块、能量供应模块以及RS232接口电路等,其结构如图1所示。在无线传感网络中,协调器一般距离PC机很近,所以它的能量供应模块一般直接由USB供电。

图1 传感器网络中协调器的结构Fig.1 Structure of coordinator in wireless sensor network

3 软件设计

协调器软件的设计分为两大部分:1)接收传感器节点发送来的数据;2)将数据传送给PC机。因此程序的设计也分成两部分。

3.1 无线接收程序的设计

在一个无线传感网络中,网络的建立是由协调器来完成的。当协调器建立网络之后,可以通过按键控制是否开启允许绑定功能,即是否允许其他的传感器节点加入该网络。当协调器允许其他传感器节点加入网络时,传感器节点可以向协调器发送绑定请求。协调器处理绑定请求,建立与传感器节点之间的绑定关系,这样传感器节点就加入网络了。然后传感器节点就可以向协调器发送数据。协调器处理所接收到的数据,或存储在自身的存储器中,或将其发送给PC进行处理。

程序的执行是在ZigBee协议栈中层与层之间相互调用和设置触发事件来完成的,具体程序较为复杂,这里不再详细给出。对于开发者来说,需要明白整个协议栈的流程,但在具体编写程序时,需要设计的主要是应用层的文件。协调器的程序设计流程如图2所示。

图2 协调器程序设计流程Fig.2 Programming controls of coordinator

3.2 串口通信程序的设计

协调器将所接收到的传感数据通过RS232串口送给PC机。在CC2430内部有两个异步串行通信接口,可以选择任何一个使用。两个串行口所占用的管脚是不同的,在设计硬件电路时要给予注意。

协调器在系统的初始化中,就完成了串口的初始化,包括选择哪个串行口、串行通信波特率及校验位等的设置。当传感器节点加入网络之后,协调器等待有没有无线发送来的传感数据。若有,则接收数据并存储;若没有,则处于等待接收状态。当协调器接收数据完毕之后,则向串口发送该数据,即送给PC机。程序设计流程如图3所示。

图3 协调器向PC机发送数据的程序流程Fig.3 Programming controls of sending data from coordinator to PC

4 无线传感数据收发实验

结合协调器程序的设计,选择4个传感器节点进行无线传感数据的传输实验。关于传感器节点硬件比协调器简单,其软件设计和协调器的设计思路相似,区别是传感器负责采集数据,并将其无线发射出去;而协调器则是接收无线数据,并将其传送给PC机。

为了验证所设计的协调器,这里传感器节点通过CC2430内部的温度传感器进行温度信息的采集,并向协调器发射。

4.1 CC2430中的温度传感器

从CC2430的datasheet中可以得知,CC2430中有一个温度传感器,能测量的温度范围为-20~80℃。温度电压系数为2.45 mV/℃,当温度为0℃时,输出电压为743 mV,故温度值与输出电压的关系可用式(1)来表示:

该传感器所检测的温度信息需要通过A/D转换,才能进入内部微处理器进行处理。所以在使用之前,需要对A/D转换进行设置。CC2430内部A/D转换拥有8路独立输入通道、温度传感器输入、电池电压检测等。可以通过对ADC相关的特殊功能寄存器配置,来选择温度传感器作为ADC的输入信号。ADC的参考电压选择片内的1.25 V参考电压。ADC转换的分辨率可以设置为8位、10位、12位和14位的。由于所采集到得二进制数是以补码的形式存在,最高位为符号位。如果将分辨率设置为14位,则表示数据大小的只有13位二进制数,所以可以得到实际模拟电压值与所采集到的二进制数之间的关系:

把式(1)、式(2)相结合,可以得到实际温度值与所采集到的二进制数之间的关系:

所以在软件编写时,对采集到了二进制数乘以系数0.062 29,并减去303,即可得到温度值。

4.2 无线温度传输实验

将协调器程序下载到硬件电路中,然后通过RS232串口与PC机相连,其电源由USB串口供电。在PC机上打开串口调试工具,并设置好端口号、传输速率及校验位等。端口号的设置可通过PC机查看,而传输速率及校验位等与串口通信程序的设计有关,这里选择波特率为384 000,暂时没有设置校验位。

协调器启动后将建立一个新的无线网络。所选择的4个传感器节点依次打开电源后,寻找周围是否有无线网络可以加入。当其寻找到协调器所创建的网络后,可以直接向协调器发送绑定请求。当协调器电路板上的按键按下时,协调器才允许绑定功能,即处理传感器节点发送来的绑定请求。当建立绑定关系之后,传感器节点就会向协调器发送温度信息。实际实验所接收到的数据如图4所示。

图4 上位机显示的温度信息Fig.4 The displayed tempriture in host computer

4.3 实验分析

协调器会给网络中每一个传感器节点分配一个16位的网络地址,该地址在本无线网中是唯一的,可以看出4个传感器节点的地址分别为:0x796F、0x7970、0x7971、0x7972。 从上图可以看出,4个温度传感器的值相差较大 (在相同的环境中),且比实际周围温度较高,与实际温度有一定的偏差。若想使用CC2430中的温度传感器应用于实际当中,则需要对传感器进行校正,并反复实验、标定。在实际中采集温度信息,一般不用其内部的传感器,而是采取其他的温度传感器。这里仅是验证所设计的网络协调器的性能。

5 结束语

本实验设计了基于CC2430芯片和ZigBee协议栈的无线传感器网络的协调器,并通过实验验证了其性能,为进一步开发应用于不同场合的无线传感器网络奠定了基础。在传感器节点中,只要外加其他类型的传感器,则可以实现对不同物理量的监测。所设计的协调器与其他传感器节点所构成的传感器网络可用于如粮仓温度监测、矿井安全监测等诸多领域。根据文献的介绍,可以在PC机上采用LabVIEW软件构建一个采集系统,对串口数据进行处理,可以实现数据的实时监测,以及数据的存储与回调等功能。

[1]Byrne J A.21 ideas for 21st century[J].Business Week,1999(8):78-167.

[2]中华人民共和国国务院.国家中长期科学与技术发展规划纲 要 [EB/OL].(2006-02-09)http://www.gov.cn/jrzg/2006-02/09/content_183787.htm.

[3]孙利民,李建中,陈渝,等.无线传感器网络[M].北京:清华大学出版社,2005.

[4]高守玮,吴灿阳.ZigBee技术实践教程[M].北京:北京航空航天大学出版社,2009:20-22.

[5]成都无线龙通讯.CC2430 datasheet[EB/OL].http://www.c51rf.com/download/CC2430.aspx.

[6]马琦.基于无线传感器网络的温室温湿度监测系统研究[D].太原:中北大学,2009:41-43.

猜你喜欢
PC机温度传感器传感
《传感技术学报》期刊征订
新型无酶便携式传感平台 两秒内测出果蔬农药残留
温度传感器DS18B20在温度计设计中的应用
一种高性能CMOS温度传感器
IPv6与ZigBee无线传感网互联网关的研究
XTR105电流变送器在温度传感器中的应用
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
温度传感器在笔记本电脑散热系统中的应用