当今世界通信技术迅猛发展,随着微机电系统、片上系统、无线通信和低功耗嵌入式技术的飞速发展,孕育出无线传感器网络(Wireless Sensor Networks,WSN),并以其低功耗、低成本、分布式和自组织的特点带来了信息感知行业的一场变革。基于此,设计实现了一种以CC24 30为核心的无线传感器网络。其中,传感器模块包括有温湿度传感器SHTll、红外传感器BS520、光照度传感器PGM5506。
1 无线传感器网络系统总体结构
无线传感器网络是对周围环境的温度、湿度、光、加速度等信息进行监控和管理的技术。这种无线传感器节点中内置了传感器、传感器控制电路、CPU、无线通信模块、天线、电源装置等,通过Ad-Hoc通信技术,可以与周围的传感器节点一起把数据传输到汇聚节点。本文介绍的无线传感器网络由一个汇聚节点和多个传感器节点组成,通过汇聚节点上传到远程主机。系统的总体结构如图1所示。
2 硬件电路的设计
CC2430是Chipcon公司推出的用来实现嵌入式ZigBee应用的片上系统。CC2430只需要很少的外接元件就可以运行,其内部已集成了大量必要的电路,因此采用较少的外围电路即实现信号的收发功能。图2为CC2430基本电路设计。
图2中C1,C2为22pF的电容,连接32 MHz的晶振电路,此石英晶振用于正常工作使用。C3,C4为15 pF的电容,连接32.768 kHz的晶振电路,此石英晶振用于休眠时工作,从而降低功耗。C5=O.1μF,用于去除一些杂波干扰,防止单片机错误复位。C6~C8分别为100 nF,220nF,220 nF,用作滤波,去除杂波干扰使电压更稳定。C9=5.6 pF,电路中非平衡变压器由电容C9和电感L1,L2,L3以及一个PCB微波传输线组成,整个结构满足RF输入/输出匹配电阻(50 Ω)的要求,L1,L2,L3分别为8.2 nH,22 nH,1.8 nH。C10,C11,C12,C13,C14为去耦合电容,用于电源滤波,以提高芯片工作的稳定性。偏置电阻器R1,R2分别为43 kΩ,56 kΩ,R1用于为32 MHz晶体振荡器设置精密偏置电流。
由于CC2430芯片具有低功耗的特性,选用2节2 800 mAh的干电池为节点机供电。天线选用外置天线。
CC2430与温湿度传感器SHTll,光照度传感器PGM5506,红外传感器BS520连接原理图如图3所示,其中P0.O,P0.1,P0.6,P1.2和P1.3为CC2430的I/O端口。
SHTll采用两线串行线和处理器进行数据通信,SCK数据线负责处理器和SHTll的通讯同步;DATA三态门用于数据的读取。为避免信号冲突,微处理器应驱动DATA在低电平。需要一个外部的上拉电阻将信号提拉至高电平,图3显示CC2430的引脚P1.2用于SCK,P1.3用于DATA。
光照度传感器PGM5506实际就是一个光敏电阻,随着周边环境的光量而改变电阻值,从而输入3 V电压受到随着光量而变化的光敏电阻的影响,因而输出电压值改变。在测定输出电压值的LIGHTOUT中,可以根据变化的电压量感知光量。图3显示CC2430的引脚P0.0连接LIGHT OUT。红外传感器BS520,随着红外线的强弱输出A/D也变化,因此CC2430处理器可以根据输入的电流变化量来测定红外线值。图3显示CC2430的引脚PO.1连接INFRARED ADC。
3 网络节点软件的设计
网络节点的软件包括传感器的数据采集及无线通信。数据采集包括温湿度传感器、光照度传感器、红外传感器,由于光照度传感器、红外传感器数据的采集就是直接将输入的模拟量转化为数字量,软件设计相对简单,下面只以温湿度传感器SHTll为例介绍数据采集软件。无线通讯采用ZigBee技术将采集到的数据发送给协调器以及协调器接收数据。
3.1 温湿度数据采集模块
温湿度传感器SHTll采用串行接口,但是在传感器信号的读取及电源损耗方面,都做了优化处理。SCK用于CC2430与SHTll之间的通讯同步,DATA双向串行通信线可写命令和读数据。控制流程图如图4所示。首先进行数据传输的初始化,然后发送一组测量命令。SHTll接收命令测量数据后处理器来读取数据。
3.2 无线通信模块
ZigBee网络支持三种拓扑结构,即星状、树状和网状拓扑。本系统采用的协议栈为TI协议栈。对协议栈进行了适当的修改和增减以适应硬件电路的实际应用,组成树状传感器网络。
网络协调器程序流程图如图5所示,首先初始化CC2430,之后初始化协议栈,然后创建一个新网络,并确定PANID与频道选择。打开全局中断之后程序开始进入应用程序,监测空气中有无ZigBee信号,如果有节点申请加入网络,网络协调器给节点分配网络地址。同样如果终端设备发送来的是传感器测试数据值,并从串口发送给远程主机。
传感器节点程序流程图如图6所示,程序同样首先初始化CC2430,之后初始化协议栈,并打开全局中断。开始发送加入网络信号,等待协调器响应,如果加入网络成功,传感器进入休眠状态,如果不成功就继续申请加入网络。加入网络成功之后,温湿度采集节点就定时采集数据并向协调器发送,如果发送成功,系统进入休眠状态,如果发送失败,继续发送当前温度值。
4 实验结果
系统的各个节点硬件采用模块化设计,CC2430底板模块实物如图7所示,传感器模块如图8所示。在天气晴朗空旷的地方,测得ZigBee节点之间的传输距离能达到50~70 m,工作在室内条件下有效传输距离能达到30 m左右。通过主机上的串口收发软件监视采集到的实时温度信息,能够很好地实现温度信息的读取。监视到的温度如图9所示。
5 结语
通过对无线传感器网络系统的设计和对CC2430的了解,ZigBee技术未来的应用前景被看好。未来的几年里,它将在工业控制、汽车自动化、楼宇自动化、消费电子等多个领域实现应用。