无线传感器网络的应用领域非常广。无线传感器节点一般通过电池供电, 硬件结构简单, 通信带宽小, 点到点的通信距离短, 所以工作时间有限及通信距离短成为无线传感器网络的两个主要瓶颈。如果要求工作时间长同时通信距离远, 就必须在软硬件上同时做处理。因此本设计在硬件上采用集成度高、功耗超低的MSP430F149 作为控制芯片, 以功能强大、外围电路简单、功耗低的Si4432 作为无线收发芯片,并通过电源管理芯片TPS61200 充分利用电池的能量( 只要电池电压在0.2 V~5 V 范围内整个系统即可正常工作) 。在软件上, 所有节点之间都具有自组织能力, 通过转发、多跳等方式进行通信; 通信可覆盖范围广。采用等待唤醒方式即休眠模式下经唤醒进入工作模式, 完毕后再进入休眠模式的工作方式, 大大降低了能量的消耗; 充分考虑其工作坏境的恶劣性, 采用E2PROM 存储技术及看门狗技术,系统把所有有用信息保存在E2PROM中, 当系统因外界干扰使程序进入非正常工作时, 看门狗使系统复位, 然后从E2PROM 中读取有用信息继续工作, 增强了系统的抗干扰能力。
1 系统总体方案
系统由基站节点、传感器节点和上位机组成。节点硬件主要包括7 部分: 处理器(MSP430F149 ) 、Si4432 射频收发模块、电源管理模块、串口通信模块、JITAG 下载模块、传感器接口模块和E2PROM 存储模块。基站节点没有传感器模块, 传感器节点没有串口通信模块。基站节点由上位机USB 接口供电。传感器节点使用2 节5号电池供电。采用TPS61200 作为电源管理器, 只要电池电压在0.2 V~5 V 范围内, 系统即可以正常工作, 大大地延长了电池的使用时间。为了调试方便, 在节点上增加了拨码开关和LED 信号指示灯。整个系统软件由上位机处理软件、基站节点软件、传感器节点软件三部分组成。在传感器节点软件设计上充分考虑了低功耗节能问题, 因为它的能量主要消耗于无线射频模块, 因此在组网时尽量使Si4432 的输出能量设定为最小, 且在没有收发信息时工作在睡眠模式, 即等待唤醒模式。
2 自组织协议设计
在协议中, 通过定义数据包的格式和关键字来实现节点的自组织。
2.1 协议格式
自组织协议格式如图1 所示。
图1 自组织协议格式
其中,Pre 表示前导码, 这些字符杂波不容易产生, 通过测试和试验发现, 噪声中不容易产生0x55 和0xAA 等非常有规律的信号, 因此前导码采用0x55AA。Sync( 同步字)在前导码之后, 本系统设定的同步字为2 B, 同步字内容为0x2DD4 , 接收端在检测到同步字后才开始接收数据。Key 表示关键字, 高6 位用来表示目标地址的级别, 接收节点会根据高6 位决定数据的去向( 比本级节点大则向下级节点传, 若小则反之, 如果相等则判断目标地址是否为本节点地址, 是则直接向目标表地址发送, 否则向上级发送节点回复重发应答) ; 低2 位用来区分各种情况下的数据( 命令信号、组网信息、采集信息、广播信息) ; 接收节点会根据这些关键字低2 位分别进入不同的数据处理单元。From 表示源地址, 是发送数据的节点地址;Mid 表示接收信息的中转节点地址;Fina 表示数据的目标地址; 除广播信息外, 每个信息都有唯一的源地址和目标地址;Data 表示有效数据, 这些数据随着关键字(Key) 的不同而采用不同的格式, 可携带不同的信息;Che 表示检验位, 说明采用何种校验方式( 校验和还是CRC 校验) , 可避免接收错误的数据包;Flag 表示数据包的结束标志位。Si4432 内部集成有调制/解调、编码/解码等功能, 从而Pre 、Sync 和Che 都是硬件自动加上去的, 用户只需设定数据包的组成结构和部分结构的具体内容(如前导码和同步字)。
2.2 自组织算法
网络由一个基站和若干个传感器节点组成, 基站上电初始化后就马上进入低功耗状态(Si4432 射频模块处于睡眠状态) ; 传感器节点随机地部署在需要采集信息的区域内, 上电初始化后开始组网。首先发送请求基站分配级别的命令, 若收到基站应答则定义为一级并把自身信息( 包括地址、级别等) 发给基站; 反之若发送次数达到设定值, 则向周围节点发送广播信号, 通过周围节点应答信息整理得出自身的网络级别, 并向周围节点及基站发送自身信息。如果还是未能分配到级别则延时等待其他节点分配好级别后重新请求入网。每个入网的传感器节点都保存有周围节点( 上级、同级、下级节点) 信息( 级别及对应的地址) , 最后就形成了网络拓扑结构。
自组织算法流程图如图2 所示。
图2 自组织算法流程图
3 节点硬件设计
传感器节点要求低功耗、体积小, 因此选用的芯片都是集成度高、功耗低、体积小的芯片, 其他器件基本上采用贴片封装。节点硬件框图如图3 所示。
本设计中MCU 采用TI 公司生产的一种混合信号处理器MSP430F149 , 内部资源丰富, 具有两个16 位定时器、一个14 路的12 bit 的模数转换器、6 组I/O、一个看门狗、两路USART 通信端口等; 因此节点的外部电路非常简单, 并且还具有功耗超低的突出特点, 当工作频率为1 MHz、电压为2.2 V 时全速工作电流仅为280 μA, 待机状态下电流低至1.6 μA。它的工作电压范围为1.8 V~3.6 V, 非常适合应用于电池供电的节能系统中。
Si4432 芯片是SILICon Labs 公司推出的一款高集成度、低功耗、宽频带EZRadioPRO 系列无线收发芯片。其工作电压1.8 V~3.6 V,可工作频率范围为240 MHz~930 MHz;内部集成分集式天线、功率放大器、唤醒定时器、数字调制解调器、64 B 的发送和接收数据FIFO, 以及可配置的GPIO 等[4]。Si4432 在使用时所需的外部元件很少,1个30 MHz 的晶振、几个电容和电感就可组成一个高可靠性的收发系统, 设计简单, 且成本低。预留了大量外接传感器接口, 外接传感器的信号能以中断方式唤醒节点。