孙 滨 , 周育辉
(1.泰山职业技术学院,山东 泰安 271000;2.江西生物科技职业学院,江西 南昌 330200)
记录仪是智慧农业现场经常使用的一种实时数据记录、过程监测和数据分析的常用设备,对于智慧农业的环境检测及后期数据分析具有十分重要的作用。早期的机械式记录仪效率低下,既无法适应现在智慧农业测量数据的大容量、实时查看、直观分析、图标显示、远程传送的要求[1],也无法作为智慧农业现场控制网络的一个节点使用。随着智慧农业现场测量技术的发展,智慧农业对环境数据的测量和处理要求记录仪具有智能化、自动化、网络化、远程化等特点。
基于智慧农业现场控制的要求,设计了一款基于以太网接口的无纸实时记录仪,该记录仪可以实时在线记录现场数据,并可以通过以太网通信方式与上位机进行通信,与上位机进行双向信息传送。无纸记录仪与农业环境传感器等组成测量系统,可完成各个被测量数据的实时采集与记录。本设计使用STM32 作为主控制器,配合铁电存储器、USB 接口电路、AD 传感器、以太网接口,使记录仪具备大容量存储,实时数据记录、查询,以太网通信功能,并具有多种显示界面可切换,实现了友好的人机界面设计。
无纸记录仪总体结构框图如图1 所示,主要包括以STM32 为核心的现场控制采集电路和上位机[2]。现场控制采集模块主要由电源电路、内部存储电路、5 mA~10 mA 信号采集电路、隔离输出4 mA~20 mA电路、USB 接口电路、以太网接口电路、仪表温度控制电路、显示触摸电路组成。
图1 无纸记录仪总体结构框图
系统上电工作时,初始化后系统首先完成中断向量表的建立,完成堆栈设置、时钟选择,开始执行用户代码。如果没有接收到上位机的新的控制命令和参数设置要求,则按照上次的设置或默认设置开始工作。系统上电完成后将温度等相关变送器生成的5 mA~10 mA 测量信号送入AD 转换器,并通过STM32 控制器进行数据处理,保存在存储器FM25CL64 中。如果采集的数据量非常多超过本机存储容量,可以通过U 盘读取数据进行备份,或通过以太网远程上传到上位机[3]。
现场数据的实时存储可以方便后续的数据处理及分析,常规的存储方式是将数据存放在EEPROM中,但是常规的EEPROM 存在一定的缺点,随着擦写次数的增加,擦写速度降低,并且存在最大擦写次数的限制。在本设计中采用FRAM 来进行数据的存储。FRAM 具有存储速度快、掉电后数据立即保存、读写时需要的功耗低等优点[4],并且不存在如EEPROM 的最大写入次数问题。根据实际需要,选用了FM25CL64B(存储容量8 kB*8 bit),FM25CL64铁电存储器接口电路如图2所示。
图2 FM25CL64 铁电存储器接口电路
本记录仪可以把采集的数据存储到常规的U 盘中。常规情况下,嵌入式系统在进行USB 读写数据时,需要用户熟悉USB 相关的底层协议,编写相关的驱动程序[5]。为提高系统开发进度,避免复杂的驱动程序编写,系统设计时采用了一种集成USB 读写固件的芯片方案CH376T。CH376T 内置了读写U 盘和SD 卡中文件的相关函数,用户只需要在应用代码中调用固件中的函数即可。CH376T 与控制器进行连接时有8 位并行接口、SPI 接口、异步串口等多种方式[6],为节省控制器引脚使用,本设计中的CH376T与控制器之间采用SPI 接口,CH376T 接口电路如图3 所示。
图3 CH376T接口电路
本设计中5 mA~10 mA 电流通过前端电路中的R48、R49、R47、R51 变成差分电压信号,然后送入AMC1200 全差分隔离放大器进行隔离放大,再送入精密仪器运放INA333 进行电压放大后输出电压VOUT,最后送入控制器的AD 转换器进行模数转换。隔离电流5 mA~10 mA采集电路如图4所示。
图4 隔离电流5 mA~10 mA 采集电路
系统设计采用ADI 的ADM2582E 方案,体积更小,属于芯片级,在其芯片内部集成了隔离电源,便于应用。经过实际测试,采用ADM2582E 的隔离485通信电路在距离1 km 时误码率比较低,能够满足智慧农业现场通信需求。同时为提高485 通信电路传输数据的抗干扰能力,在传输线路上设计了瞬态抑制二极管、高压放电管。隔离485 电路如图5 所示,抗干扰电路如图6所示。
图5 隔离485电路
图6 抗干扰电路
本设计中测量系统需要接收上位机发送的远程控制命令并上传测量数据。在智慧农业现场的测量环境中,电磁环境比较恶劣,常规的RS232 串口通信在性能上不能满足需要。本设计中上位机与记录仪之间采用以太网连接方式进行远程网络通信[2],利用了以太网通信的高传输速度、适应恶劣环境、电路简单可靠的优点。传统的以太网接入方式往往采用主控制器连接物理层接口芯片(如DM9000A),在主控CPU 中嵌入以太网通信协议的方式。这种方式需要编写烦琐的网络协议程序,并且要耗费大量的时间进行调试,难以实现系统的快速开发和稳定运行,更不利于系统的更新升级[7]。本文设计的通信电路采用CH395 以太网芯片,CH395 芯片自带10/100M 以太网介质传输层(MAC)和物理层(PHY),完全兼容IEEE802.3 10/100M 协议[8],芯片内部已经固化了常用的以太网协议栈,因此利用CH395 单片机系统实现以太网通信非常便捷,避免了复杂的协议栈移植,非常适合嵌入式系统开发人员使用。CH395 核心电路如图7 所示,CH395 接口电路如图8 所示。
本记录仪的软件设计主要包括以太网通信、USB读写文件、系统在线升级程序等。
本记录仪进行网络通信时采用了TCP/IP 协议,使用C/S 模式[9]。在进行以太网通信时,无纸记录仪工作在Server 模式,上位机工作在Client 模式。工作过程中首先由无纸记录仪等待上位机(客户端)发起连接要求,记录仪接收到上位机的请求连接要求后,两者建立连接,然后按照通信流程进行数据传输[10],以太网通信流程如图9所示。
图9 以太网通信流程
本设计中的USB 通信电路采用了CH376 集成芯片。CH376 支持多种USB 通信方式,内部已经固化有相应的通信协议和文件系统[11],CH376 内部以命令的形式提供了USB 移动存储设备的文件级接口,可方便地移植到各种嵌入式系统中,其主要程序流程如图10所示。
图10 USB读写文件流程图
系统设计完成投入使用后,在设备运行过程中,由于用户需求的改变或者系统软件设计有问题,就需要进行系统软件升级,一般的客户自行升级程序比较困难,为解决这一难题,采用了通过U 盘进行系统固件升级的方法。通过U 盘进行系统固件升级,基本思路是写一段引导代码,把代码起始地址设置为0X8000000,大小设置64 K,它的主要功能是复制U盘或者通信中的数据写入到起始地址为0X8010000的用户程序区,将用户程序覆盖,固件升级基本流程如图11所示。
图11 固件升级流程图
课题组设计了一种基于以太网的智慧农业无纸记录仪并进行了系统的硬件电路设计和软件设计,系统以STM32 为核心,扩展了USB、以太网接口。上位机可以通过以太网接口将控制命令及采集参数下发至记录仪,并控制各功能模块完成数据测量功能。