温室控制系统中单片机主要完成来自网络数据的解包和接受温室传感器采集的数据的打包,当以太网有数据到达该设备时,单片机采用查询方式读取网络数据并分析,先将其目的地址与系统的物理地址相比较,如果地址不相符,则将该数据丢弃,如果相符,则判断是否是ARP数据包,是则转入ARP处理程序,并发送RARP数据包。如果是UDP数据包且IP地址和端口号正确,则开始数据接收。当传感器传来的数据要发送时,单片机先将待发送的数据按UDP 协议格式打包进行封装,需要设置以太网目的地址、源地址、协议类型,再按所设置的协议类型来设置数据段。然后给出发送缓冲区首地址和数据包长度,启动发送命令。通过远程DMA通道送到RTL8019AS中的发送缓冲区,即可实现RTL8019AS的发送功能,并将结果写入状态寄存器中。再启动本地DMA,将数据发送到网络上[4]。
4 结论
(1)提出将单片微处理器提升为具有系统软件和TCP/IP协议的嵌入式Web服务器,并用于温室环境控制的方案。这种嵌入TCP/IP协议的单片机系统成本低、硬件少、传输速度快、使用方便,可在远程数据采集和传输、远程监控等方面有广泛应用前景。
(2)设计了系统的软硬件,通过用单片机控制网络接口芯片RTL8019AS,同时嵌入精简的TCP/IP协议,将温室控制器扩展成嵌入式Web服务器,实现温室内各种状态数据的采集与控制。
本文作者创新点: 通过设计,首次把温室内廉价的单片微处理器做成一个嵌入TCP/IP协议的Web服务器,其不仅实现温室内各种状态数据的采集功能,更替代了过去的上下位机远程控制,这对我国数字农业和网络农业的研究也具有重大意义。