内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体






基于嵌入式Web服务器的温室远程监控的研究

时间:2009-06-01 来源:互联网 作者:小甜甜 点击:

    现代温室大棚多以微电子技术和计算机辅助决策技术为核心、以上下位机方式进行智能化监控。但上下位机监控由于受通讯线路、距离影响,费时费力。随着我国设施农业的快速发展和广泛应用,研究并开发基于Internet的连栋温室室内环境远程控制技术及设备,成为迫切需要解决的问题。本文提出了一种将温室控制的嵌入式系统作为服务器接入网络,利用廉价的嵌入TCP/IP通信协议的51系列单片机来控制网络接口芯片RTL8019AS,实现以太网通讯的系统方案,并对系统硬软件进行了设计。

1.系统硬件设计方案
    温室远程监控系统的核心微控制器采用美国Cygnal公司的单片机C8051F020,以太网控制器采用台湾Realtek公司生产的RTL8019AS。下面,首先分别对其作一介绍。

1.1 C8051F020微处理器
    C8051F020是一块集成混合信号SoC芯片,其内核与8051兼容。工作在最大系统时钟频率25MHz时,峰值速度可达25MIPS 。C8051F020有256KB的内部RAM,还另有位于外部数据存储器地址空间的4 KBXRAM和一个可寻址64 KB地址空间的外部数据存储器接口,以及64 K B可在系统编程的Flash存储器。C8051 F020 除标准的8051端口 ( P0 、P 1 、P2和P3)外,还附加4个端口( P4、P5 、P6和P7)。有5个16位通用定时器、片内看门狗定时器、VDD监视器和温度传感器。工作电压为2.7 V~3.6 V,工作电流为10mA/20MHz [1]。

1.2 以太网控制器RTL8019AS
    台湾Realtek公司生产的RTL8019AS以太网控制器,因性能优良、价格低廉,在10Mbps网卡中占有相当的比例。它符合Ethernet II与IEEE802.3(10Base5、10Base2、10BaseT)标准,100引脚PQFP封装,采用全双工收发可同时达到10Mbps的速率,内置16KB的SRAM,支持8/16位数据总线,8个中断申请线以及l6个I/O基地址选择等。

    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 系统硬件设计与实现
    系统核心微控制器采用Cygnal公司的单片机C8051F020,而C8051F020单片机并不具有以太网接口,为实现以太网通信,需要接口芯片。系统接口芯片采用是台湾Realtek公司生产的以太网控制器RTL8019AS。RTL8019AS有即插即用、跳线和免跳线3种工作方式。为了减少资源占用,系统设计中将RTL8019AS芯片的JP脚接高电平即选择跳线方式。为了防止干扰和破坏元器件,实现带电拔插功能,需要将RTL8019AS外接一个隔离LPF滤波器,再通过RJ45接口接入以太网。系统硬件结构框图如图1所示。

2 系统软件设计
2.1 单片机中TCP/IP协议的嵌入
    嵌入式系统接入Internet同PC机接入Internet一样,必须要有相应通信协议。目前Internet主要采用TCP/IP协议,因此,采用嵌入式系统通过TCP/IP协议接入Internet的方案,嵌入式系统对信息进行TCP/IP协议处理,使其变成可以在Internet上传输的IP数据包和以太网帧。

    温室中的主控单片机要作为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,进行工作参数和条件的设置,主要是一些寄存器的配置和内置RAM空间的分配。初始化之后,由于MCU系统中的TCP/IP是直接面向硬件的,没有嵌入式实时操作系统的支持,程序结构一般采用顺序执行和硬件中断相结合的方式,与操作系统的多进程并发执行的方式截然不同。当所有初始化完成之后,就采用查询方式开始工作,程序流程图见图2。

    当系统接入以太网开始运行时,首先进行地址解析,在网络内进行“身份识别”,当用户通过浏览器发出请求时,网络芯片驱动程序接收以太网帧形式的用户请求,然后传输给上层协议逐层分离取出用户请求,控制系统根据用户请求调用单片机C8051F020外围传感器采集温室内相应的状态数据,再将数据逐层打包,最后交给以太网芯片RTL8019AS封装成以太网帧发送出去。如果传输的数据量比较大,则重复多次数据发送过程,便可完成一个数据的完整传输。在终端可以以Web网页的形式供用户浏览和做出进一步的判断控制。
(中国集群通信网 | 责任编辑:陈晓亮)

中国集群通信网,国内首家集群通信专业网站。

Copyright © PttCn.Net, All Rights Reserved.   

联系我们 联系我们 中国集群通信网 对讲机学堂 对讲机世界