引 言
环境监测是无线传感器网络的重要应用领域。为搜集某一区域内的环境数据,传感器节点需要在无人值守情况下长时间地工作在恶劣环境条件下。传感器节点的软件设计为节点正常工作提供了重要保证。
1 无线传感器网络系统结构
整个传感器网络是由若干个采集节点、1个汇聚节点、1个数据中转器以及1个便于用户查看和控制的上位机组成。系统结构如图1所示。采集节点用于对环境数据的采集、数据的预处理,承当数据的路由;汇聚节点负责整个网络的开启和维护,向采集节点发送命令,搜集节点的数据以及和数据中转器之间的串口通信;数据中转器承担数据的中转及转发上位机的命令;上位机是数据搜集的终端设备,并且可以根据用户的需要对节点的采集时间间隔、休眠时间间隔、传感器的开关进行相应设置。
2 节点的硬件电路
为方便数据的搜集,汇聚节点和采集节点硬件电路设计相同,只是软件设计有所不同。任意节点都可作为汇聚节点,与数据中转器通过串口进行通信,来搜集网络中其他节点的数据。节点的硬件结构如图2所示。
本设计选用的核心芯片是TI公司推出的ZigBee芯片CC2430。它以8051微处理器为内核,自身携带的射频收发器用来实现无线传感器网络节点的通信,提供了4路I/O口来控制传感器的打开和关闭。传感器将相应的环境数据变成电压、电流等信号送给信号调理电路,经相关调理后送到CC2430的ADC接口进行A/D采样,最后CC2430将得到的A/D值存人1个外接的64 Kb的存储器中。当节点作为网络中的汇聚节点时,CC2430的2路I/O口被设置成UART0串口Tx和Rx,用于和数据中转器进行串口通信。对于能源供应部分,为保证节点长期稳定工作,选用2300 mA的镍氢充电电池,2组镍氢电池采用双电源供电模式。软件通过控制2组镍氢电池的切换实现对节点的轮流供电,并在电池电压不足时控制太阳能电池板对其进行充电。
3 节点软件设计
3.1 Z-Stack协议栈简介
本次的软件设计基于TI公司Z-Stack 2006协议栈。Z-Stack 2006是TI公司专门为CC2430芯片设计的ZigBee协议栈。它由1个简单的单线程的操作系统管理。该操作系统基于任务调度机制,任务通过API函数osalTaskAdd()按照优先级添加到任务链表。任务的事件触发实现任务调度。每个任务最多可定义16个事件,每个事件都对应1个唯一的事件号。NextActiveTask()是任务事件查询函数,返回任务的事件状态ActiveTask,根据返回的事件值来调用相应的任务处理函数ActiveTask()进行处理。操作系统任务调度如图3所示。
[1] [2] [3] 下一页