开篇:润墨网以专业的文秘视角,为您筛选了一篇面向智慧林业环境因子监测系统的研究与设计范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘 要:针对传统林业在监测环境因子方面,体系不全面、力度和集成度不高等问题,设计实现了一种基于ARM和FPGA架构的环境因子监测系统终端,该终端采用Zynq-7000作为嵌入式处理器,并采用将多种功能的传感器作为传感器收集模块,U-blox公司的NEO-6M作为GPS定位模块,ME3760作为通信传输模块,由终端把采集到的数据信息存储与打包后经过4G传输到服务器端并保存至数据库。从而实现了动态、快捷、安全的监测林业环境,并保存到数据库,这些数据对林业资源的评估具有重要的参考价值。
关键词:智慧林业;环境因子;监测;Zynq
中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2016)04-00-03
0 引 言
林业在环境方面的监测一直面临着很大的挑战,因为它在空间分布上具有离散性和广阔性的特点,导致林业工作者一直面临着动态监测困难、监测周期长、监测数据精确度不高、监测难度大等问题。“智慧林业”的提出成为林业发展的新模式,它与传统的“数字林业”技术和云计算、大数据等高新技术相结合[1,2],对林业环境资源进行实时监测,及时准确的掌握森林资源和环境的变化情况,已成为现代林业的发展方向。监测终端使用的FPGA核心芯片是Xilinx公司生产的可扩展处理平台Zynq-7020,其内部可嵌入Linux系统作为操作系统,对多种传感器(本设计以温湿度传感器为例)采集到的数据信息进行处理与传输,达到对林业环境远程实时监测的目的。
1 系统总体设计
面向智慧林业的环境因子监测系统主要分为监测终端与服务器端。服务器端包括信息查询模块和数据存储模块。监测终端部分安置在被测林区内,其构成分为数据采集、信息处理与数据传输三个模块。从硬件层分析,采集数据模块电路包括温湿度等多种传感器接入电路、高温报警电路、GPS模块接入电路;数据处理电路是终端处理与控制的中心板块,其采用Zynq开发板,置于开发板的部件有FPGA模块、DDR3缓存电路、时钟电路、变压电路等[3]。数据传输电路包含中兴ME3760 4G模块接入电路、以太网接入电路。当林区终端上电工作后,采集模块通过各种功能传感器采集环境数据,通过接口与转接电路传至开发板上的FPGA处理器,当温度超过预设值终端时会有报警信号发送给FPGA处理器以实现温度测控与报警,处理器调用驱动程序与数据采集程序读取并存储数据,同时调用传输协议将数据按照Json协议打包成数据包,通过4G传输模块传输到服务器端显示和存储。系统总体功能框图如图1所示。
2 监测终端硬件设计
2.1 数据处理模块
该数据终端模块选用Xilinx公司生产的ZC702开发板,图2(a)所示为开发板的结构图,中间部位的Zynq-7000芯片由ARM(Processing System,PS)和FPGA(Processing Logic, PL)部分构成。 Zynq-7000系列芯片每颗处理器都有双核的CortexTM-A9处理器,都有完整的ARM处理子系统,在芯片里集成了很多外设和内核控制器,从而使得CortexTM-A9的内核与可编程逻辑单元之间完全彼此独立,ARM处理器的子系统可以独立工作[4]。终端处理模块除了主处理芯片外还有Flash芯片、DDR3芯片组、电源处理芯片、以太网接口、时钟芯片等[5-7];图2(b)所示为开发板的实物图。
2.2 数据采集模块
终端使用SHT10监测林业中的温湿度环境因子,SHT10是一种数字传感器,它内部由四部分组成,分别是测湿元件、测温元件、A/D转换器和串行接口电路。在出厂前,每个SHT10都经过精确度很高的湿度腔室校准,所以该类传感器响应时间短、品质卓越、抗干扰能力强、性价比高,广泛应用于工农业温湿度的测量[8]。它的DATA、SCK管脚与FPGA处理器GPIO接口相连。当温度超过预设温度时,便触发主板上的报警信号。GPS模块使用U-Blox公司的NEO-6M芯片定位,用UART(串口)与FPGA处理模块的GPIO相连,最少可连接四根线,信号线有RX、TX,分别接GPIO的TX、RX管脚,VCC接供电模块的3.3 V~5.0 V电源接口,其具体连线如图3所示。
2.3 传输模块
ME3760 模块由中兴公司出产,支持TD -LTE /TD CSCDMA,同时TD -LTE支持Band38,Band39,Band40, TD -SCDMA支持A,F频段模式及GSMBand2,Band3,Band8。支持理论上下行数据最快传输速率为100 M/50 Mb/s [9]。同时模块的接口符合国际接口标准,所以终端选用这类传输模块。通信接口是 Mini-PCIE 接口,它的USB接口与开发板的USBmini口相连,USIM/SIM与外接的SIM卡相连,天线外接于模块上。模块需要外部供电,并且该模块对电压要求较高,必须严格使用3.7 V稳定电压供电。传输模块的具体连线方式如图4所示。
3 监测终端软件设计
面向智慧森林的环境因子监测系统的软件部分按照功能可以划分为制作与移植嵌入式Linux系统、数据采集系统设计、驱动模块的编写与加载。
3.1 嵌入式Linux系统
移植与制作嵌入式Linux系统需要目标机和宿主机[10]。设计中用的PC机就是宿主机,而使用的开发板则是目标机。宿主机环境是:Windows 7操作系统; Xilinx公司的ISE 14.4开发套件;Ubuntu操作系统;系统移植的主要操作是依据需求对Digilent官方网站提供的嵌入式系统bootloader、Linux 内核裁剪与移植,主要增加传感器驱动、配置GPIO接口和I2C总线、裁剪不需要的功能,从而实现系统的最小化。
(1)在Ubuntu下安装GNU交叉编译工具包,修改环境变量;
(2)下载U-Boot源码包,根据目标机使用的CPU以及外设等对源码配置,使用交叉编译工具编译,生成u-boot文件,手动修改成u-boot.elf;
(3)下载Digilent官方网站上的Linux源码内核包,把多余的功能裁剪掉,并加入中兴4G模块驱动,温湿度驱动,编译生成内核文件;
(4)增加温湿度传感器、GPS等设备的描述文件,编译设备树;
(5)制作根文件系统,下载并编译BusyBox和Dropbea源码,使用Code Sourcery工具链库建立目录文件;
(6)使用ISE开发工具包,生成boot.bin文件和设备树decivetree.dts源文件,使用写字板打开设备树源文件,设置IP地址为192.168.1.100,设置波特率为115 200,保存后进入Ubuntu下编译;
(7)SD卡分成FAT格式的分区,将上述生成的文件拷贝到SD卡中,插到开发板卡槽处,启动开发板;
(8)配置电脑为静态IP且与开发板在同一网端,启动终端,即可通过putty软件查看启动信息。
3.2 数据采集系统
3.2.1 温湿度数据采集
SHT10传感器因为接到开发板上,需要自己写驱动程序模拟GPIO来读取SHT10的温湿度数据,驱动程序分为打开传感器、复位、读取数据、写入数据、关闭传感器几项,在交叉编译环工具下编译通过生成一个后缀名为“.ko”的可执行文件,当目标机首次运行开机程序时,需要手动加载SHT10驱动模块,命令为:insmod SHT10.ko,当不需要该模块时,手动卸载,命令为:rmmod SHT10.ko。当程序加载了该驱动模块后,如想在宿主机通过串口工具读取温湿度,即可调用温湿度读取程序,得到温湿度值。
3.2.2 GPS数据采集
NEO-6M GPS定位模块直接连接开发板的GPIO口,在Linux下,串口的设备文件是/dev/ttyS0或/dev/ttyS1等。因此要读写串口,我们首先要打开串口,然后根据GPS模块的配置参数对串口的波特率、校验、流控制等进行设置,这些参数设置均通过gpsconfig.c文件配置,串口程序还包括打开串口、初始化串口、关闭串口部分。在GPS数据的处理上首先将窗口数据存入一个字符串,接着通过对字符串数据的判断来提取数据内容,判断分为两步,首先判断是什么类型的数据,在本程序的设计中需要读取$GPRMC和$GPGGA两组数据,因此首先判断字符串GPS_BUF[5]是C还是A,由于数据是通过符号“,”进行隔开,因此通过查找“,”来确定数据位置。
3.2.3 传输模块驱动加载
ME3760模块的驱动需要两部分,一是添加USB驱动,再添加RNDIS驱动。首先,配置内核添加USB转串口的驱动,在内核文件中添加设备PID,防止RNDIS口被USB串口驱动加载导致RNDIS驱动无法顺利完成加载。修改内核驱动文件drivers/net/option.c中的probe函数,在其内增加 blacklist 进行过滤, 在 usb-serial.c中的usb_serial_probe函数中对 RNIDS接口进行过滤。RNDIS驱动文件包括cdc_encap.c及 cdc_ether.c,把编译生成的cdc_encap.ko、cdc_ether.ko、usbnet.ko 一同加载到Linux系统启动项中。传输模块安装成功后,还需要传输程序将传感器采集到的数据信息按照Json格式打包,并由程序规定数据包的格式和向服务器发送的时间间隔。
4 结 语
系统的主控板上电启动后,在浏览器中输入终端网址,登录到终端采集网页上,通过界面可以查看环境因子信息,本文使用了高性能处理芯片Zynq-7000,使得处理监测数据的能力大大提升,而且终端整体性能比较稳定。本设计相较于传统的监测技术提高了监测质量和效率,并使用软硬件协同设计方法,大大降低了开发风险和周期。
参考文献
[1]刘庆新.从“数字林业”步入“智慧林业”[J].中国农村科技,2013(10):62-63.
[2]刘亚秋,景维鹏,井云凌.高可靠云计算平台及其在智慧林业中的应用[J].世界林业研究,2011(5):18-24.
[3]陆佳华,江舟,马岷,等.嵌入式系统软硬件协同设计指南:基于Xilinx Zynq[M].北京:机械工业出版社,2013.
[4] Xilinx Inc.UG585,Zynq -7000 All Programmable SoCTechnical Reference Mannual[Z].2013.
[5] Xilinx Inc.UG873,Zynq -7000 All Programmable SoC:Concepts, Tools and Techniques[Z].2013:12-35,40-53.
[6] Xilinx Inc.UG926,Zynq-7000 ZC702 Evaluation Kit[Z].2012.
[7] Xilinx Inc.UG850,ZC702 Evaluation Board for the Zynq-7000 XC7Z020 Extensible Processing Platform User Guide[Z].2013.
[8]王丽芬,马明涛.基于ARM的农业环境因子监测系统的设计的探析[J].中国农机化学报,2013,34(4):231-234.
[9]贺政,赵小龙.基于Linux系统的4G-WSN无线网关的设计[J].科技视界,2015(12):5-6.
[10]李海翔.公交车载感知终端无线网络接入系统的研究与应用[D].北京:北京工业大学,2014.