一种基于ZigBee协议的动态数据采集系统的实现
摘要:动态数据采集有着采集范围大、采集点众多、数据通信困难、布线空间有限、自动作业等特点,传统的以总线方式组成网络的采集系统很难满足这种应用要求。在此动态数据采集系统的设计充分借鉴无线传感器网络设计思想,探讨一种基于ZigBee协议无线传榆的设计方案,具有低功耗、灵活性强、可扩展好、体积小、成本低等特点,解决了传统的采集系统的设计瓶颈,并具有新的优异特性。
关键词:ZigBee;无线传感器网络;动态数据采集;TinyOS
O 引言
数据采集是获取信息的基本手段,作为信息科学的一个重要分支,数据采集技术是包括了传感器技术、信号处理、数据通信、微型计算机等技术的一门综合应用技术。在实际应用中,很多数据采集系统往往很难实现对动态目标进行实时采集和监控。对动态数据采集系统来说,有着采集范围大、采集点众多、布线空间有限、体积小、自动作业等特点,传统的以总线方式组成网络的采集系统很难满足这种应用要求。
在此探讨的动态数据采集系统由动态数据采集节点组成,以自组织方式构成的无线网络。节点软硬件设计借鉴无线传感器的节点设计思想,采用MSP430系列微处理器芯片和FLASH芯片分别作为处理和存储单元;采用USB转串口芯片FT232BM完成MSP430的BSL下载电路和MSP430与PC的串行通信接口;采用CC2420模块完成了支持802.15.4/ZigBee协议的无线通信模块设计。开发出的硬件平台既可以作为终端采集节点,又可以作为通信网关进行数据的收发。软件系统设计上,移植无线传感器专门的嵌入式操作系统TinyOS到MSP430微处理器,使用nesC语言编写应用程序。系统以温度作为采集变量,建立了一个具有采集温度数据、预处理、打包无线传输功能的动态数据采集系统终端节点的设计。并利用终端节点的PC接口实现网关的功能,完成网关应用程序设计。
1 节点设计
1.1 节点的一般结构
一个典型的无线传感器网络节点设计包括了传感器单元、数据处理单元、无线通信单元和电源管理单元,以及用户接口等一些扩展设计单元,如图1所示。
1.2 节点设计的要求
节点设计主要有3点要求。第一,动态数据采集系统的采集对象往往是目标的温度、湿度、速度等参数,整个系统需要在无人环境下长期正常工作,因此低功耗设计是动态数据采集系统的首要要素;第二,动态数据采集系统处理数率较低、数据传输量少、主要采用无线传输的形式,因此选择无须许可的、合适、低价的通信方式是保证动态数据采集系统正常工作的关键。第三,本系统采集的对象主要是针对飞禽走兽等野生动物,为了实现监控的方便,采集节点还必须要满足体积小、灵活性强等特点。
1.3 节点硬件设计
目前,2种典型的无线传感器网络节点研究平台是mica系列和telos系列节点,它们采用目前应用最广泛的TinyOS嵌入式网络操作系统。
本系统的节点硬件是设计参考telos平台,是telos平台一次再设计过程。系统设计弱化传感器部分的设计,对无线通信模块选用射频模块电路,设计重点在微处理器模块地电路实现上。同时,为了增加动态数据采集系统应用性,添加了PC接口电路,使得本设计可以作为动态终端节点,亦可以作为服务器的网关。在电源管理上,当设计作为网关时选择USB供电,当作为终端可用干电池供电。
(1)通信模块采用TI公司的支持IEEE802.15.4协议的CC2420芯片,250 kb/s的数据收发速率可以使节点更快的完成事件的处理,快速休眠,节省系统能量。
(2)采用TI公司的超低功耗微处理器芯片MSP430。
(3)telos本身就有SHTll温湿度一体化器件,能够作为独立的传感器节点使用。
(4)telos只有1个10脚的接口,可以简化连接传感器板。
(5)使用USB-COM的桥连接,可以直接通过USB接口供电、编程和控制,进一步简化外部接口。
本系统设计的节点硬件原理框图如图2所示,与无传感器网络节点设计相比,结构上具有一致性,同样具有采集单元、处理和控制单元、无线通信单元和电源管理单元。
节点硬件实现电路如图3所示。
1.4 节点软件
在此节点采用目前应用最广泛的TinyOs嵌入式网络操作系统。TinyOS的程序采用模块化设计,程序核心都很小,一般来说核心代码和数据在400 B左右。TinyOS的组件有4个相互关联的部分:1组命令处理程序句柄、1组事件处理程序句柄、1个经过封装的私有数据帧和一组简单任务。任务、命令和事件处理程序在帧的上下文中执行并切换帧的状态。为了易于实现模块化,每个组件还声明了自己使用的接口及其要用信号通知的事件,这些声明将用于组件的相互连接。如图4所示为一个支持多跳无线通信的组件集合与这些组件之间的关系,上层组件对下层组件发命令,下层组件对上层组件发信号通知事件的发生,最低层的组件直接和硬件打交道。
2 系统软件测试
在软件系统设计上,移植无线传感器专门的嵌入式操作系统TinyOS到MSP430微处理器,使用nesC语言编写应用程序。系统以温度作为采集变量,建立了一个具有采集温度数据、预处理、打包无线传输功能的动态数据采集系统终端节点的设计。
在验证应用程序代码时,因使用热敏电阻调试麻烦,选用精密可调电阻代替热敏电阻,如图5所示,电阻值容易控制和调整,使结果具有更大可观察性。
如上图所示,采集的模拟信号量是电阻R110两端的电压值,为了观察的方便,在测试程序中对数据进行标度变换等初步处理,使得在PC上显示的数据信息直观地表示为R110两端的电压值。由于精密电阻值最大为10 kΩ,R110=10 kΩ。Vcc=3.1 V,AD参考电平为2.5 V,使得R110两端电压只能在1.5~2.5 V之间测量,选择的测量范围为1.6~2.4 V。
只要知道当前可调电阻R_adj的电阻值,如下公式所示就可以得到ADC5的电压值:
VADC5=Vccin[10 kΩ/(10 kΩ+R_adj)] (1)
由于终端设计是采用无线模块发送的,PC必须通过网关才能得到PC显示结果(PC上可以观察范围为1.5~2.5 V)。在终端机上,同样用3个LED来表示电压量的变化,选择参考电平为1.6 V为参考零点,变化时LED显示变化一次。如表1所示,需要注意的是只有测量值在1.6~2.4V之间LED指示值才正确。
在无线模块数据信息的发送中,设定每隔1 000 ms发送一次。因此每过1 000 ms,串口收发指示灯将指示一次,同时在PC上更新一次数据信息。
PC监听的结果如图6所示。图中“7D 04”之后的4个数字为电压值,例如FF FF 04 7D 04 16 47 01 OO中的16 47表示当前R110两端电压值为1.647 V。
为了对比测量结果的正确性,同时用万用表测量R110两端电压值。如表2所示,PC监听值与万用表测量值很接近。
3 结语
动态数据采集系统充分借鉴无线传感器网络的设计思想,着重探讨数据采集节点硬件的设计,完成了硬件模块的划分、芯片的选型、软件系统,并实现了ZigBee协议的无线传输,实现的动态数据采集系统具有低功耗、扩展性好、灵活性强、成本低等传统数据采集系统难以达到的特性。
- 基于Zigbee技术家用无线网络的构架(12-14)
- 基于精简协议栈的ZigBee网络节点研究(07-17)
- ZigBee无线传感器网络的研究与实验(02-08)
- 解析ZigBee堆栈架构(03-26)
- 组建SMAC协议构架的ZigBee星形网络(06-11)
- ZigBee基本技术问答(12-07)