针对目前工业现场大量8位普通微处理器尚未接入Internet的现状,本文详细介绍了基于51单片机的嵌入式Web服务器,并由此构建了基于二维精密工作平台的远程测控系统。经实践检验,此方案切实可行。
1、引 言 2.2 软件设计
目前远程测控系统一般都采用以太网和现场总线混合控制网络。由于现场总线多种标准共存局面的存在,严重地影响了自身追求的开放性、分散性和完全互操作性的特点。随着Internet技术的迅速发展,以太网和TCP/IP协议已成为世界范围内的事实标准。基于TCP/IP的以太网可满足控制系统的各个层次的需求,并具有实现现场设备层和企业管理层的无缝连接、低成本等现场总线技术无法比拟的优点。专家预言,基于以太网传输的嵌入式Internet网络将会成为下一代工业控制网络的重要选择,并将带来工业控制网络新的变革。
8位普通微处理器(尤其是51
系列单片机)因其体积小、可靠性高、控制功能强、性能价格比高、易于推广应用等显著优点,广泛应用于国民经济的各个领域(国际上自70年代开始,国内自80年代以来),尤其是测控领域。然而以8位普通处理器为核心的嵌入式系统因系统资源、处理速度有限等因素仍排斥在Internet之外,这势必将会影响基于Internet工业控制网络的发展。因此解决如何利用现有嵌入式系统接人Internet有很大的研究价值及市场前景。
2、嵌入式Web服务器
为使51单片机接人Internet,就必须在51单片机系统内建立一个可供远程主机能够访问的Web服务器。主要的困难在于,Internet上面的各种通信协议对于存储器、运算速度等的要求比较高,支持TCP/IP等Internet协议将占用大量系统资源,这就要求我们建立一个嵌入式瘦web服务器。
2.1 硬件设计
笔者在实验中开发了一个简洁的硬件平台,命名为51板,其硬件原理图如图1所示。其中51单片机选用的是8位微处理器AT89C58,指令集和MS.5l系列兼容,因其片内带有32K闪存,因此可不扩展外部程序存储器,简化硬件电路。另外扩展了一片外部 的62256,用来处理网络传输的II)包、任务切换和应用程序的数据缓存。利用AT89C58单片机内部有一个全双工的串行接口,组成RS232串口,作为与其它串口设备通讯用。RTL8019AS是由台湾Realtek公司生产的高度集成的以太网控制器,它负责实现以太网媒介访问层(MAC)和物理层(PHY)的所有功能,经隔离后与RJ.45相连。
图1 51板的硬件原理框图
由于51单片机程序空间及内存RAM的限制,这决定了51单片机与电脑在实现Web服务器时存在诸多差别,诸如:在51单片机里不能使用WINDOWS、UNIX、LINUX等多任务操作系统,更不能支持比较完整的TCP/IP协议,存放收到的以太网数据包的RAM是固定的,而不是动态分配的。所以尽管UNIX、LINUX 的源代码公开,但在其上实现的Web服务器的源代码并不能够直接移植到51单片机上。另外采用实时操作系统RTOS,价格昂贵,不利于低成本开发。为此我们为51板开发了整个软件包,主要包括如下四个方面的内容:
网卡的驱动程序:其中包括RTLS019初始化、读取和设置 19的MAC地址及RTLS019发送和处理以太网程序等。需要注意的是有关芯片的地址定义及访问方式要与硬件电路相符。
(1) TCP/IP 协议族的实现
TCP/IP是一个协议族,它由几百种网络通信协议组成,TCP协议和IP协议只是此协议族中的两个成员,
通过对TCP/II)四层协议和系统需求的分析,我们选择并实现了以下协议:超文本传输协议HTTP(定义了一种请求/应答机制来从Web服务器获取文档)、传输控制协议TCP(为在服务器和客户端之间传递HTIP请求/应答提供一个可靠的通信信道)、网际协议II)(它使异构网络之间的通信成为可能)、Internet互联网控制报文协议ICMP(实现诊断ping,检查低层协议层)、地址解析协议ARP(用来把高层II)地址与低层物理硬件地址动态捆绑起来)。
(2) Web服务器的实现
网页采用HTMI 格式,存贮在程序存储器中,通过普通的线性查询技术寻找客户端请求的文件。传统服务器只提供固定的网页,实质上是一个文件服务器。但这样的服务器不适合应用于测控系统,没多大实用价值。为使Web服务器变得实用,则要求Web服务器与浏览器之间具有交互能力,网页中含有动态内容,允许在已存在的页中插入动态数据,我们采取了变量替换的方法。