主页(http://www.pttcn.net):基于嵌入式Web服务器的温室远程监控的研究 现代温室大棚多以微电子技术和计算机辅助决策技术为核心、以上下位机方式进行智能化监控。但上下位机监控由于受通讯线路、距离影响,费时费力。随着我国设施农业的快速发展和广泛应用,研究并开发基于Internet的连栋温室室内环境远程控制技术及设备,成为迫切需要解决的问题。本文提出了一种将温室控制的嵌入式系统作为服务器接入网络,利用廉价的嵌入TCP/IP通信协议的51系列单片机来控制网络接口芯片RTL8019AS,实现以太网通讯的系统方案,并对系统硬软件进行了设计。 1.系统硬件设计方案 1.1 C8051F020微处理器 1.2 以太网控制器RTL8019AS RTL8019AS内部分为远程DMA口、本地DMA接口、MAC(介质访问控制)逻辑、数据编码解码逻辑和其他端口。远程DMA接口是指单片机对RTL8019AS内部RAM进行读写的总线,即ISA总线的接口部分。单片机收发数据只需对远程DMA操作。本地DMA接口是指 RTL8019AS与网线的连接通道,通常通过RJ45接口实现和外部网络的连接,完成控制器与网线的数据交换。MAC(介质访问控制)逻辑完成以下功能:当单片机向网上发送数据时, 先将一帧数据通过远程DMA通道送到RTL8019AS中的发送缓存区,然后发出传送命令;当RTL8019AS完成了上一帧的发送后,再开始此帧的发送。RTL8019AS接收数据时,首先把接收到的数据通过MAC比较、CRC校验后,由FIFO存到接收缓冲区;收满一帧后,以中断或寄存器标志的方式通知主处理器。FIFO逻辑对收发数据作16字节的缓冲,以减少对本地DMA请求的频率[2]。 1.3 系统硬件设计与实现
2 系统软件设计 温室中的主控单片机要作为Web服务器接入以太网,必须嵌入TCP/IP协议。Internet通信协议对计算机系统的CPU速度、存储器容量等要求比较高,用于PC机不存在任何困难,但用于自身资源有限的嵌入式系统就必须考虑性价比,根据需要有所取舍,合理选择通信协议的实现和处理方案。根据所选的单片机C8051F020的资源,对TCP/IP协议做了裁减,系统中使用了ARP、RARP、ICMP、UDP、HTTP等部分协议,即可保证单片机接入以太网,同时亦保证有足够小的代码量。 根据实际需要,该系统采用一种简化的TCP/IP 4层网络模型,分别为:应用层、传输层、网络层、数据链路层。应用层传递来自以太网和数据终端的数据,并对数据作打包拆包处理;传输层采用用户数据包协议UDP;网络层实现IP协议,还要实现能报告数据传输差错等情况的ICMP协议;链路层由控制同一物理网络上不同机器间数据传送的底层协议组成。在简化的TCP/IP协议4层模型中,链路层部分由RTL8019AS完成,网络层和传输层由温室控制的单片机来处理,应用层则根据需要可以在单片机内完成,也可以由单片机转给用户或终端设备完成[3]。 2.2 单片机控制以太网卡工作过程 当系统接入以太网开始运行时,首先进行地址解析,在网络内进行“身份识别”,当用户通过浏览器发出请求时,网络芯片驱动程序接收以太网帧形式的用户请求,然后传输给上层协议逐层分离取出用户请求,控制系统根据用户请求调用单片机C8051F020外围传感器采集温室内相应的状态数据,再将数据逐层打包,最后交给以太网芯片RTL8019AS封装成以太网帧发送出去。如果传输的数据量比较大,则重复多次数据发送过程,便可完成一个数据的完整传输。在终端可以以Web网页的形式供用户浏览和做出进一步的判断控制。
|