ZigBee无线传感器网络技术在油田信息采集系统中的
RT接口,故将中转节点JN5139模块的UART1通过UART—RS485接口芯片与电量仪RS485接口相连。 3 系统软件设计 系统软件主要包括传感器节点软件设计、中转节点软件设计和管理控制中心软件设计3部分。传感器节点主要实现数据的采集和发送;中转节点一方面负责网络的配置和管理,另一方面收集各个传感器节点发送的数据,将数据处理后转发给管理控制中心。管理控制中心主要实现数据的储存、实时显示及数据分析与管理等功能。 3.1 传感器节点软件 传感器节点程序的主要任务分为“采集数据”和“网络响应”,前者是按照给定的时间间隔定时采样,后者则包括“无线数据协议命令响应”和“ZigBee网络协议栈事件处理”(包括入网、掉网等),采用中断处理方式。考虑片上系统(SOC)的单任务特性,可以将节点程序设计成“任务检查制”——每次从休眠中醒来,初始化后,判断是否要进行网络响应,或根据时钟时间判断是否有采集任务,若空闲则进入休眠,休眠一定时间间隔后再次被唤醒,如此反复。 为了能采用使节点功耗更低的无内存驻留的休眠方式,因此将一些重要的参量保存在flash中,并在初始化中重新加载。终端节点的软件框架流程图如图5所示。 3.2 中转节点软件设计 中转节点的任务相对简单,只需处理触发的协议栈事件、接收和处理“网络消息”。“网络消息”分为来自串口透明传输设备的一级网络命令和来自二级ZigBee网络的消息。电量仪的处理包含在“命令解析与转发”环节中。中转节点没有休眠,是不间断工作的,其软件设计流程图如图6所示。 中转通过433 MHz串口透明传输模块“SM55D”接收来自上位机的命令,“SM55D”会将接收的字符提供给JN5139模块的串口(UART)0,可利用串口0的中断处理解析节点命令。 串口0设置为每接收一个字符便进行中断,在中断处理中将字符添加至缓冲区,待缓冲区中的字符达到解析长度的下限值时,根据命令中的节点号和功能码查表获得对应命令的指定长度S(包括CRC校验码);若字符总数N等于S,根据“网络号”进行判断,若非本PAN节点的命令,则不作任何处理,立即返回;否则进行CRC校验,对于校验通过的命令,查找表格对子节点进行地址映射,再进行下一步操作。中断处理流程图如图7: 从图7中可以看到“CRC16校验失败”、“子节点未注册”、“命令下发失败”三种特殊情况(若下发设置命令成功后,也会有特殊返回信息ACK0)发生后,中转均通过发送特殊ACK信息对上位机进行反馈,便于设备的调试。对于ZigBee子节点设备,命令是否下发成功,中转节点可通过ZigBee协议事件获取;对于电量仪设备,根据其数据传输协议,所有命令都应有数据返回,可在命令下发的同时,启动定时器,若规定时间内无正确数据返回,则认为命令下发失败。 3.3 管理控制中心软件设计 上位机只需按照节点的数据传输协议向串口写入字符,即可实现命令发送。节点的网络号和节点号,可从数据库中相应的配置表读出。上位机程序利用时钟驱动,对每个通信区块的节点轮流下发命令并解析数据,每30分钟进行一次。 在对子节点下发命令后,即侦听对应串口,解析其433MHz模块接收到的字符,根据起始/终止符“0x7E”提取数据,找到数据中字符0x 7D”并抛除,并对其后的字符进行转义,即再与“0x20”按位异或。对得到的数据包进行CRC16校验,校验通过后的数据按节点类型进行数据解析和相应操作。操作流程图如图8所示。 4 结束语 通过传感器节点、中转节点组建的无线传感器网络,实现了油田生产信息的采集、传输与处理。适应了油田点多面广的应用需求,同时也降低了组网、部署和维护成本。作为油田生产信息系统数据获取的一种有效技术手段,无线传感器网络具有很好的应用前景。
ZigBee油田自动化无线传感器网络数据采 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)