1、引 言
目前远程测控系统一般都采用以太网和现场总线混合控制网络。由于现场总线多种标准共存局面的存在,严重地影响了自身追求的开放性、分散性和完全互操作性的特点。随着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板的硬件原理框图
2.2 软件设计
由于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/IP来代表整个协议族。嵌入式Internet作为一种TCP/IP协议的嵌入式应用,其功能是特定的,而且一般来说嵌入式系统资源也非常有限,所以它不要求或不可能实现所有的TCP/IP协议,因此有必要对TCP/IP协议精简。
通过对TCP/II)四层协议和系统需求的分析,我们选择并实现了以下协议:超文本传输协议HTTP(定义了一种请求/应答机制来从Web服务器获取文档)、传输控制协议TCP(为在服务器和客户端之间传递HTIP请求/应答提供一个可靠的通信信道)、网际协议II)(它使异构网络之间的通信成为可能)、Internet互联网控制报文协议ICMP(实现诊断ping,检查低层协议层)、地址解析协议ARP(用来把高层II)地址与低层物理硬件地址动态捆绑起来)。
(2) Web服务器的实现
Web服务器用来监听用户端的服务请求,根据用户请求的类型提供相应的服务。用户端使用Web浏览器和web服务器进行通信。Web服务器在接收到用户端的请求后,处理用户请求并返回需要的数据。
网页采用HTMI 格式,存贮在程序存储器中,通过普通的线性查询技术寻找客户端请求的文件。传统服务器只提供固定的网页,实质上是一个文件服务器。但这样的服务器不适合应用于测控系统,没多大实用价值。为使Web服务器变得实用,则要求Web服务器与浏览器之间具有交互能力,网页中含有动态内容,允许在已存在的页中插入动态数据,我们采取了变量替换的方法。
首先将网页需要动态更新的变量用特定的标签(如TAG:DJ01)表示:
<td>NO.1</td><td>TAG:DJ01</td>
当客户端请求某一文档时,Web服务器则调用相应的EGI函数,将该文档从程序存贮器中装载到内存RAM中;然后在内存RAM查找是否含有特定的标签,一旦找到则用相应的变量值替代。网页则可能转换为:
<td>NO.1</td> <td>983</td>
最后调用http.send函数将网页文档发送出去。
其它应用程序:包括串行口的通信程序、访问级别设置和权限认证功能等。
完成上述工作后,用户不用装载任何客户端程序,就可以通过标准浏览器对51板进行远程访问,简化了使用难度。
3、系统测试
为了验证51板的嵌入式Web服务器的可行性,我们构建了一个远程测控系统,如图2所示。本系统利用TMS320F2407运动控制卡对一个交流伺服电机和一个步进电机的同步控制,完成对一个二维精密工作平台的运动控制;通过其串口与51板进行通讯,然后通过51板将系统接入Internet实现了远程的测量与控制。
5l板的默认设置为:
IP:211.83.106.125
子网掩码:255.255.255.0
网关:2l1.83.106.1
图2 远程测控系统
3.1 ping操作
ping是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息,我们就可以推断TCP/IP参数是否设置得正确以及运行是否正常。现在我们在远程主机运行pins 211.83.106.125,可以看到如下回复:
C:\>ping 211.83.106.125
Pinging 211.83.106.125 with 32 bytes of data:
Reply from 211.83.106.125 :
bytes =32 time=6ms TTL=1l9
Reply from 211.83.106.125:
bytes =32 time=6ms TTL=ll9
Reply from 211.83.106.125:
bytes=32 time =6ms TTL=ll9
Reply from 211.83.106.125:
bytes=32 time=6ms TTL=ll9
Ping statistics for 211.83.106.125 :
Packets:Sent=4,Received=4,
Lost=0(O% loss)
Approximate round trip times in milli-seconds:
Minimum=6ms,Maximum =6ms,Average=6ms
通过以上数据显示,我们可以相信基本的连通性和配置参数没有问题。
3.2 Web测试
在IE浏览器地址栏输入http://211.83.106.125/index.egi,就可以看到一个简单的具有交互能力的网页,如图3所示。
图3 一个简单的交互式网页
用户可以在网页中可以选择‘启动’或‘停止’来控制步进电机和伺服电机,同时能够得到两电机的瞬时转速。
4、结束语
文章重点探讨了在51单片机系统中嵌人式Web服务器的软、硬件的设计方法,通过实践检验,表明利用现有51单片机系统资源建立Web服务器,进而使测控系统直接连人Internet的方案是切实可行的。另外较高的性价比预示其具有很大的应用前景和推广价值。