图4:射频天线部分的信号保护原理图
USB-UART[5]转换模块:
USB
2.0标准已经成为现在计算机和外围设备的标准通信接口。这样用户可以很方便的携带移动设备,设备之间可以达到很快的数据传输速度并达到很好的抗干扰性,一边是设备稳定可靠的工作。
这个模块选用FTDI-232BM总线芯片实现标准的串行RS232转换USB的电路,下面简述此款总线芯片的接口:只有三个接口,一个标准USB口,一个标准RS232串口,还有一个多功能口。如图所示总线转接芯片周围电路原理图。
图5: USB转232总线芯片原理图
数据采集电路[4]:
节点的数据采集部分可根据实际需要选定合适的传感器,如振动、声响、温度、光线等,因为整个模块由电池供电,这就要求传感器体积小、低功耗、外围电路简单,最好采用不需要信号调理电路的数字式传感器。本设计采用AD公司的两维数字加速度计ADXL202和Maxim公司的一线式数字温度计DS18B20是很好的选择。
3 底层软件和协议栈层软件设计
3.1 底层软件设计
底层软件[6]设计:
数据采集部分程序:
ADC12Init:初始化CPU的AD采集通道数,采集时间,位数,等基本信息,并开定时器中断;
ADC12_ISR: 中断子程序,定时器中断到时后将AD缓存中的数字量存储到堆栈数组中去,等待发送。
MCU操作CC2420中的寄存器的时序参见[4]。SPI操作设置CC2420程序设计分为基本的异步串行口发送接收程序,设置控制状态寄存器的函数;读取、更新射频芯片状态寄存器。具体的API函数可以参考文中表一的设计。
表一 射频控制API函数
3.2 通信协议程序设计
IEEE802.15.4/ZigBee传输的帧格式及其作用:
在IEEE802. 15. 4标准中,定义了一套新的安全协议和数据传输协议,本方案中,采用的无线模块根据IEEE802. 15.
4标准,定义了一套帧格式来传输各种数据。如图所示是本论文设计中的符合标准的在物理层和数据链路层中各种帧的一般格式。
命令帧主要功能是在全功能设备和对精简功能设备在网络中的行为和状态进行控制和监视;数据型数据帧结构的作用是把指定的数据传送到网络中指定节点上的外部设备中,具体的接收目标也由这两种帧结构中的“目标地址”给定。返回帧是返回型数据帧结构的作用是无线模块将发送数据接收情况反馈给自身的帧。
图6: 符合IEEE 802.15.4/ZigBee通信协议帧
程序中定义发送数据结构体和接收数据结构体包括下列信息:发送帧序列号、发送设备源地址、PAN网络的地址、帧长度、接收数据指针等信息。
本文的帧发送和接收程序设计符合ZigBee协议的要求,对数据的发送接收在软件上实现了最可靠的形式。下图所示为发送程序的流程图。
接收程序流程图
4 结 语
考虑到WSN的应用低功耗性,本设计采用低功耗的MSP430系列单片机,完成了基于ZigBee的无线传感器网络硬件电路设计,其中包括基于超低功耗MCU最小系统的核心控制模块、无线射频收发模块、以及一种能够通过USB-COM端口对传感器节点进行接口供电、编程和控制的功能模块,进一步简化了外部接口。针对传感器网络这个特殊的背景选取了具有多种优势的ZigBee通信协议,并对ZigBee协议栈的技术细节进行研究。设计了ZigBee无线通信协议栈的通信程序,能够很好的符合无线传感网络的各种需求。通过软件设计的无线通信协议。