马广慧,高轶军
氧是鱼类赖以生存和生长发育的必备条件之一,水中的溶氧量主要与自然温度、湿度和鱼的密度等因素有关。鱼类只有在水中溶氧量达到一定的数值之后才能维持其基本的生命活动,其生长速度也与水中的溶氧量、温度等息息相关,氧含量过低或温度过低都对鱼类的生长极其不利,因此对鱼塘中溶氧量和鱼塘的水温进行监控十分重要[1-3]。靠人工监控鱼塘的方法需要耗费大量的时间、精力对鱼塘的情况进行观察和判断,有增氧不及时或者过度增氧、效率低、劳动强度大等缺点。由于单片机I/O端口资源有限,基于单片机的鱼塘监控系统监控范围有限,并且由于单片机的处理速度较慢和并行能力不足,运行过程中的可靠性和大量数据处理结果的准确性难以得到保证[4-6]。而FPGA具有丰富的I/O资源和强大的并行处理能力以及大量的浮点运算单元,可配置性强,控制功能强大,并且可以扩展无线网络模块和3G通信模块,很适合作为监控系统的核心单元[7]。
针对以上问题,本文构建了一套基于FPGA的多节点无线网络监控系统,设计实现多节点信息的无线数据传输与处理。并且以FPGA为处理核心,配置以MicroBlaze为核心的嵌入式系统,利用多个无线数据传输模块构建多节点的无线网络鱼塘监控系统,并且通过FPGA与增氧机的通信完成对鱼塘中溶解氧含量的实时调节。
图1为无线网络监控系统硬件模块图,该硬件系统包含传感器模块、控制解算模块、通信模块和电源模块。其中传感器模块包括温度传感器和溶解氧含量传感器,负责实时测量鱼塘的溶解氧含量和温度。控制解算模块以FPGA芯片作为系统处理核心,通过开启或者关闭增氧机对鱼塘的溶解氧含量进行调控。由于FPGA具有掉电易失性,为了实现系统的上电自加载功能,需要通过外部存储设备存储程序代码,系统选用的是FLASH芯片[8]。FPGA芯片选用的是Xilinx Spartan6 XC6SLX9-TQG144,FLASH芯片选用的是W25Q80BV。通信模块包含多个XBee S2C无线数据传输模块,无线数据传输模块采用ZigBee技术,通过串口完成与FPGA之间的通信。
图1 无线网络监控系统硬件模块图
电源模块通过电源芯片LT1529-5、TPS78633和TLV1117LV-1.2芯片为系统提供稳定的5.0 V、3.3 V和1.2 V电压。通信模块包含了MAX3222芯片和无线数据传输接收器,其中MAX3222芯片将系统3.3 V电平信号转换为5.0 V电平,保证无线传输模块稳定正常的工作。图2为无线网络监控系统硬件结构图。
图2 无线网络监控系统硬件结构图
ZigBee无线网络是一种新兴的短距离、低速率无线网络技术,该技术基于IEEE 802.15.4协议栈进行数据传输,具有传输速率低、功耗低、成本低、网络容量大、安全性高等特点[9-12],是自动控制系统和工农业生产中短距离无线通讯的常用网络,XBee模块是Digi公司的一款采用ZigBee技术的无线模块,通过串口与单片机等设备之间的通讯,能够非常快速地实现将设备接入到ZigBee网络中,并且XBee无线数据传输模块支持半双工操作,外形小巧,是一种功能完善的Zigbee收发器。其射频芯片全部内部集成,并且可以通过串口与控制模块进行实时通信,其信号的覆盖范围1 km以上,信号覆盖范围广,使较远的监控节点依然能够完成数据的实时传输,进而满足对鱼塘多节点监控的要求。图3为本文中采用的星型ZigBee无线网络结构图[13-14]。
图3 ZigBee无线网络结构图
现场可编程门阵列FPGA是在PAL、GAL、CPLD等可编程逻辑器件的基础上发展的产物,是一种半定制的专用集成电路。FPGA为实现对系统的控制、数据处理和数据接收与发送等功能,需要对其内部的可编辑元件进行编程配置以实现片上系统的构建。
本系统采用的是Xilinx公司系列的FPGA芯片,系统在FPGA芯片XC6SLX9-3TQG144内部通过配置IP核的方式,以MicroBlaze为处理核心构建小型流水线系统,采用AXI(Advanced eXtensible Interface)总线协议实现处理核心与各子模块接口实现指令和数据通信,并为每个与FPGA进行通信的元件配置相应的模块接口,如SPI(Serial Peripheral Interface) 接口、UART(Universal Asynchronous Receiver/Transmitter)接口和GPIO(General Purpose I/O)接口等。图4为FPGA内部片上系统框架图。
图4 FPGA内部片上系统框架图
图4 中MicroBlaze是Xilinx公司优化的RISC软核嵌入式处理器[15],该处理器采用哈佛结构32位指令及数据总线,内含32个通用寄存器、2个处理器异常寄存器和寄存器程序指针、1个ALU单元和两级终端相应单元等。MicroBlaze具有桶形移位器、浮点单元和高速缓存等可根据需求和逻辑区域成本进行裁剪的特性[16],使其在Xilinx公司Spartan和Virtex系列FPGA芯片中得到广泛运用。图5为MicroBlaze功能框图。
图5 MicroBlaze功能框图
一般来说,并行编程有两大类型,数据并行和任务并行。数据并行是指将数据分散为子集,发送到不同的并行资源中,然后对结果进行组合;而任务并行是指将问题分散为子问题,在并行资源中运行。显然对于FPGA片上系统的数据采集应选择数据并行的方式,即同时对鱼塘中多个节点XBee模块的数据进行采集,将数据采集到FPGA中,进行数据处理。而且基于FPGA的并行数据采集相对于传统的并行数据采集器(如单片机、DSP芯片)具有时钟频率高、内部延时小、速度快、效率高、I/O引脚丰富等优点。数据采集过程中会对多个节点的数据进行采集,由于各个节点的传感器数据发射可能会出现不同步现象,所以设定数据采集的持续时间为XBee模块发射周期的2倍,以保证每个节点的数据能够同步被收集到。数据采集程序流程图如图6所示,其中,T为系统记录当前的时间,T0为数据采集函数开始运行时系统的时间,t0为无线发射模块的发射周期。
图6 数据采集流程图
软件系统利用各个终端节点收集的信息对鱼塘的溶解氧含量和温度信息进行实时判断,并作出实时的响应和历史信息记录,从而控制增氧机的开启或者关闭。无线网络监控系统利用Zigbee无线网络技术将采集到的鱼塘各个节点实时信息进行汇总并加以判断,其工作原理图如图7所示。系统上电后,当系统工作正常且无中断操作情况下,系统每隔3 min读取一次XBee的数据,对数据进行实时处理,利用通信模块将实时的水温和溶解氧含量信息通过RS232串口传输,利用Matlab软件作为上位机完成对RS232串口信息的读取和保存。
图7 软件系统工作流程
无线网络监控系统的信息来源是鱼塘的各个终端节点,每个节点设有无线网络数据传输模块,用于发送鱼塘各个节点的状态信息。各个终端节点的程序流程为:系统上电后,对该节点的传感器和Xbee无线数据传输模块进行初始化,利用传感器集成的A/D转换模块将传感器采集到的数据进行模数转换,将数字信号进行重新整合编码成混合数据信息,并利用无线数据传输模块将数据实时发送到Zigbee网络上。其工作原理图如图8所示。
图8 终端节点数据原理图
软件系统以C语言代码为基础对各个模块进行构建,完成整个无线网络监控系统的运行流程,该流程通过各个终端节点的数据收集与整合,利用无线网络监控系统实时采集到鱼塘各个节点的溶解氧含量和水温信息,并且进行记录以及实时调控。如图9所示为系统记录的2 h内(16:00-18:00)溶解氧气含量信息。
图9 溶解氧气含量随时间变化信息
本文以FPGA为处理核心,利用多个无线数据传输模块构建了包含多节点的无线网络鱼塘监控系统。在FPGA内部配置以MicroBlaze为核心的嵌入式系统,完成了多个传感器数据的处理和判断,并且通过FPGA与鱼塘终端控制模块的通信完成对鱼塘待测状态的实时调节,满足了鱼塘监测系统小型化、低成本和实时性的要求,保证系统运行的稳定性和监控状态的准确性。
[1]陈俊,王涛.鱼塘溶氧量自动监控系统的设计[J].安徽农业科学,2009,37(24):11718-11719,11721.
[2]肖忠,陈怡,莫洪林.鱼塘溶解氧自动监控系统的设计与研究[J].农机化研究,2009(5):142-145.
[3]张学,梁振江,谢廷道,等.鱼塘含氧量自动检测控制装置研究[J].安徽农业科学,2014(15):4656-4657.
[4]可敬,杨氏凤,候海岭.水产养殖环境无线监控系统的研究[J].天津科技大学学报,2007,22(4):98-101.
[5]闫敏杰,夏宁,候春生,等.基于无线传感器网络的鱼塘监控系统[J]. 中国农学通报,2010,26(16):388-392.
[6]周晓红.池塘增氧机的作用、原理及使用方法[J].机械设备,2011(4):268.
[7]杨海钢,孙嘉斌,王慰.FPGA器件设计技术发展综述[J].电子与信息学报,2010,32(3):714-727.
[8]郑文静,李明强,舒继武.Flash存储技术[J].计算机研究与发展,2010,47(4):716-726.
[9]龚发根,汪炜,秦拯.基于Zigbee无线传感器网络的工业废气监控系统[J].传感器与微系统,2011,30(1):86-89.
[10]刘晔,王斌,杨新伟,等.基于ZigBee技术的油矿遥测遥控系统设计[J].计算机测量与控制,2010,18(2):339-342.
[11]陈娜娜,周益明,徐海圣,等.基于ZigBee与GPRS的水产养殖环境无线监控系统的设计[J].传感器与微系统,2011,30(3):108-110.
[12]李明,王睿,石磊.一种ZigBee无线传感网络节点的设计[J].自动化技术与应用,2008(1):91-94.
[13]韩华峰,杜克明,孙忠富,等.基于ZigBee网络的室温环境远程监控系统设计与应用[J].农业工程学报,2009,25(7):158-163.
[14]段登,邱意敏,周立.基于ZigBee技术+3G网络的多电梯远程监控系统[J].计算机系统应用,2012,21(3):185-189.
[15]刘占军,云中华,彭汪昆,等.基于MicroBlaze的加速度采集系统[J].仪表技术与传感器,2012(2):69-71.
[16]刘永健.软核嵌入处理器MicroBlaze[J].计算机与网络,2012,15(15):64-66.