1 系统总体设计
系统功能主要分为3部分:(1)实现单个工具箱(ZigBee终端节点)的工具出库入库时工具条形码的采集。(2)ZigBee无线传感网络的建立,将各终端节点采集的数据实时上传到协调器点,并进行协调器点和终端节点的数据交换。(3)在PC端,通过RS232串口接收协调器节点的数据,通过建立的数据库进行数据处理,实现对处理结果的可视化显示并将处理结果反馈给各个终端节点。
整个工具管理系统的无线监测网络由终端节点、汇聚节点、监控中心组成。系统采用Z—Stack协议构建无线传感器网络;各个终端节点分别执行工具条码的采集、信息的处理和数据的传输;汇聚节点包括路由器和协调器,路由器负责数据的收集与转发,协调器作为网关节点,主要负责网络组建、维护、控制终端节点的加入,通过RS232串口与监控主机实现数据的交互;在监控中心通过建立数据库并对数据进行处理从而实时管理整个网络区域内各终端节点的工具运转。在ZigBee协议的3种拓扑结构中,本文选用树形网络,树形网络比最简单的星形网络拓扑网络规模大,同时比网状拓扑所需资源小,系统结构框图如图1所示。
2 硬件设计
系统硬件电路的设计主要包括终端节点和协调器节点的硬件设计。终端节点主要负责工具条码数据的出入库管理、状态显示、数据的无线发送和接收等任务,并能以自组织的方式加入网络,是整个硬件的核心;而汇聚节点包括路由器节点和协调器节点,路由器节点主要负责数据的路由;协调器节点主要负责和PC端上位机程序的数据通信,接收路由器的数据通过串口输出到PC机,通过串口接收PC端处理后的数据,通过无线传感网络传输到各个终端节点,同时负责无线网络的建立和维护。
系统的终端节点由CC2530核心模块、数据采集模块、状态显示模块和按键模块组成。终端节点的硬件框图如图2所示。
2.1 CC2530核心模块电路
CC2530芯片是ZigBee新一代SoC芯片片上系统解决方案,其能够以较低的总材料成本建立强大的网络节点。CC2530集成了RF收发器、增强工业标准的8051MCU,可编程Flash存储器,8 kB RAM等。图3所示为CC2530核心电路图,主要包括电源电路部分、晶振电路和射频电路3部分。
2.2 数据采集模块电路
在终端节点中,条形码扫描枪负责对工具条形码出入工具箱的数据进行采集,通过RS232串口通信将数据传输给CC2530,CC2530模块再将条码数据进行处理后通过无线传感网络传输给上位机。图4为系统的USB转串口电路图。
2.3 状态显示模块电路
液晶屏采用LCD1602,具有标准的16脚接口,可显示汉字、英文和图形。常用的指令集有:清屏指令、输入方式设置指令、显示开关控制指令、光标位移指令、功能设置指令、写数据指令等。液晶屏用于显示工具状态信息,工具全部归还时显示为OK,工具缺失是现实缺失的数量和工具代码。液晶屏电路如图5所示。
LED用于系统的工作状态显示,D1为系统报警指示灯,终端节点接收到上位机反馈的信息为工具数量不足时D1为闪烁状态,并在液晶显示屏幕上显示具体确实的工具代码。D2为工具出库状态指示灯,D3为工具入库状态指示灯,LED电路如图6所示。
2.4 按键模块电路
按键模块用于系统的工作模式的控制,本系统设计了3个单独的按键。S1为系统启动按钮,S2为入库状态切换按钮,S3为出库状态切换按钮,按键电路如图7所示。
3 系统软件
软件部分的设计是在硬件网络节点的基础上,通过Z—Stack协议栈实现组网,然后通过ZigBee无线传感网络来完成数据的传送。终端节点采集工具条码数据,通过构建的无线传感网络将各终端节点的数据传输给PC端;PC端通过将接收的数据经过数据处理后得出结果,再将结果通过无线传感网络反馈给相对应的终端节点,并在PC端进行可视化显示;PC端上位机软件实现了人机交互功能,便于远程对现场状态进行管理。
3.1 构建无线传感网络
无线传感器网络中节点的工作有组网与数据转发两个阶段。程序设计采用TI公司最新的符合ZigBee2007规范的Z-Stack协议栈。Z—Stack是德州仪器推出的ZigBee协议栈软件,为应用开发者提供了一个模板,在其基础上进行开发可大幅加快应用开发周期。
Z—Stack采用操作系统的思想来构建,采用事件轮询机制。系统按照任务优先级依次处理事件,而在事件处理完后,进入低功耗模式,降低了系统功耗。操作系统抽象层(OSAL)的工作就是对多个任务进行系统资源分配,核心是通过参数传递的事件类型来判断对应处理相应任务的事件。在系统中,定义Taskevents数组存放每个任务的标志位,在OS主体循环函数中,轮询判断各任务标志位来对应执行相应的任务。进而执行事件处理函数,完成任务事件处理。
在进行应用开始时,需要定义添加相应的任务。其中主要包括任务初始化函数和事件处理函数。任务初始化函数定义一个TasksArr数组,存放所有任务事件处理函数的地址。给每个任务分配唯一的任务标识号,最后注册系统服务。Z—Stack协议栈中按照由高到低的优先级已经定义好了MAC层、网络层、硬件驱动抽象层、应用设备对象层的任务,只需添加用户应用层任务初始化函数到后面即可。
ZigBee无线传感器网络在布设之后,协调器首先建立网络,所用信道和PAN ID应防止与其他网络有冲突;建立网络后,协调器处于网络监听状态,当有终端节点请求加入网络时,协调器为终端节点分配网络地址并建立邻居列表,之后向终端节点发送入网确认信息,连接成功。设计中,终端节点可以寻找最佳路由,实现网络多跳功能,最后通过路由器发送数据给协调器。
3.2 ZigBee终端节点软件设计
CC2530是基于8051 MCU的SOC芯片,数据传输采中将每次发送的数据打包成一个128位的数据包,其中包头为校验码55,包尾校验码为AA,接收端收到数据后将数据包解析,并判断包头包尾是否为“55”和“AA”,若是,则将数据包放入缓存中;如果不是,则返回掉包信息,发送端重新发送数据。终端节点软件分为采集数据并发送、接收数据并显示两部分。通过串口采集数据打包后通过无线传感网络发送。接收协调器发送来的数据后,解析后将符合要求的数据在LCD上显示。
3.3 上位机软件设计
监控中心主要完成数据收发、存储、处理以及显示,软件框图如图10所示。上位机的界面是采用VB编写,数据库采用的是SQL。监控中心是本系统的核心部分,终端采集到的各节点数据都通过无线传感网络传输到上位机的数据库中存储,通过系统程序对数据进行比对处理,从而判定各个终端节点的工具是否全部在位。
上位机界面如图11所示,系统运行后打开通信端口按键,选择串行端口、波特率,系统则自动接收协调器通过串口发送的数据,并存储在系统数据库中。当操作人员按下获取按钮时,系统程序将反馈出结论:当工具全部归还时,对应的终端节点显示为绿色;当工具未全部归还时显示为红色,并在下方文本框中显示所缺工具型号。按下发送按钮时,则将工具状态发送给相应终端节点,实现数据的共享交互。
4 结束语
系统设计了一套基于ZigBee技术的飞行保障工具管理系统,有效解决了对现场监管不到位、实际工作中人为差错等问题。通过系统测试,无线传感网络数据传输稳定可靠,能够有效地监控飞行保障现场终端工具使用情况,对探索航空兵部队对飞行保证中工具进行安全高效的管理提供了一套切实可行的方案。