历史上的今天
返回首页

历史上的今天

今天是:2025年01月26日(星期日)

2021年01月26日 | 一种嵌入式Web服务器的远程测控系统

2021-01-26 来源:eefocus

简介:针对目前工业现场大量8位普通微处理器尚未接入Internet的现状,本文详细介绍了基于51单片机的嵌入式Web服务器,并由此构建了基于二维精密工作平台的远程测控系统。经实践检验,此方案切实可行。


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)表示:


NO.1</td>TAG:DJ01</td>


当客户端请求某一文档时,Web服务器则调用相应的EGI函数,将该文档从程序存贮器中装载到内存RAM中;然后在内存RAM查找是否含有特定的标签,一旦找到则用相应的变量值替代。网页则可能转换为:


NO.1</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的方案是切实可行的。另外较高的性价比预示其具有很大的应用前景和推广价值。


推荐阅读

史海拾趣

Cableform Inc公司的发展小趣事

2012年,对于Cableform Inc来说是一个重要的转折点。这一年,公司成功加入了HUBBELL系列,与Hubbell工业控制有限公司建立了战略合作关系。这一合作使得Cableform Inc能够借助Hubbell的品牌影响力和市场渠道,进一步拓展业务范围,提升市场地位。同时,通过与Hubbell的技术交流和资源共享,Cableform Inc在技术创新和产品升级方面也取得了显著进展。

Harbour Industries公司的发展小趣事

背景:进入21世纪后,电子行业进入了快速整合阶段,大型企业纷纷通过并购来扩大规模、增强实力。Handok也加入了这一行列,制定了积极的并购扩张战略。

发展:Handok通过精准的市场分析和战略评估,成功并购了几家在电子元器件和电子设备领域具有领先技术的中小企业。这些并购不仅为Handok带来了先进的技术和人才储备,还极大地拓宽了公司的产品线和服务范围。

影响:并购后的Handok实现了从单一产品向多元化产品线的转型,市场竞争力显著提升,为公司的长远发展奠定了坚实的基础。

Chiplus Semiconductor Corp公司的发展小趣事

Chiplus自成立以来,始终致力于技术创新和产品研发。公司团队不断深入研究SRAM和LED驱动IC的设计与开发,成功推出了多款高速度、低功率的产品。这些产品以其卓越的性能和稳定性,赢得了全球客户的广泛认可。同时,Chiplus还积极投入研发资源,探索新的应用领域,不断拓展产品线,为客户提供更多元化的解决方案。

Abracon公司的发展小趣事

随着全球半导体市场的不断扩大,Chiplus也加快了市场拓展的步伐。公司不仅在日本、欧盟、美国和泛太平洋亚洲地区建立了稳定的客户群体,还积极开拓新兴市场,提升品牌知名度和影响力。同时,Chiplus还加强了与全球知名企业的合作,通过技术合作、产业链协同等方式,共同推动半导体行业的发展。

EG & G Inc公司的发展小趣事

EG & G Inc公司成立于20世纪早期,最初专注于电子设备的研发和生产。公司凭借其技术优势和创新能力,在电子行业中逐渐崭露头角。在成立初期,EG & G Inc就与多家知名企业和研究机构建立了合作关系,共同推动电子技术的发展和应用。这些合作关系不仅为公司带来了技术上的支持,也为其在市场上的扩张奠定了基础。

Hi-G Relays公司的发展小趣事

EG & G Inc公司成立于20世纪早期,最初专注于电子设备的研发和生产。公司凭借其技术优势和创新能力,在电子行业中逐渐崭露头角。在成立初期,EG & G Inc就与多家知名企业和研究机构建立了合作关系,共同推动电子技术的发展和应用。这些合作关系不仅为公司带来了技术上的支持,也为其在市场上的扩张奠定了基础。

问答坊 | AI 解惑

GPRS模块传输数据

小弟最近在搞一个无线传输的论文,就是用GPRS模块实现无线数据传输。但是不清楚如何操纵GPRS模块才能把数据发送到固定的IP地址。我现在知道的有如下知识:要是实现GPRS模块与Ethernet链接,需要先进行ppp拨号,但是拨号之后就不清楚怎么才把数据发 ...…

查看全部问答>

801单片机做多路自动循环检测报警控制器

801单片机做多路自动循环检测报警控制器…

查看全部问答>

MSP430 JTAG原理图

本帖最后由 paulhyde 于 2014-9-15 09:18 编辑 bu cuo  …

查看全部问答>

PIC编译问题

#include #define uchar unsigned char #define uint unsigned int __CONFIG(0x1cd4) void delay(uint x) {    uint a,b;    for(a=x;a>0;a--)    for(b=110;b>0;b--); }     void main() { ...…

查看全部问答>

电动扳手

普通的扳手都是依附顶部的螺丝来调节不同尺寸的,但是这样调节起来太过麻烦。有没有更加快捷的方法呢?来试试这款新鲜的电动扳手吧。 它的电力并不是用来供给扭力的,而是方便人们调节扳手的开口尺寸。它在普通扳手上增长了一个电机,通过电机来对 ...…

查看全部问答>

wince 驱动中断问题

问题是这样的,我用周立功的开发板自带的wince 5.0的I2C驱动(是正常的)移植到我的板子上我的板子硬件接口和周的基本一样,只是BSP不同,我把I2C编译进 内核(用了两种方法,一种是直接把周生成的DLL文件直接编译进去,并增加BIB和REG信息,另一 ...…

查看全部问答>

我毕业设计要做太赫兹通信系统,请高手给写个研究计划![问题点数:30分]

   我想申请大学生创新实验项目,在学期间好能发个小文章,为以后出国做准备。请问这里有没有高手帮忙写个研究计划书, 我想在太赫兹与空间通信系统方面找个研究的切入点。    非常感谢!!!邮箱:kings5099768@163.com &nb ...…

查看全部问答>

如何利用webxml.com.cn资源开发天气预报软件?

最近打算在WINCE下开发一个天气预报软件, 资源就用http://www.webxml.com.cn所提供的提前预报资料..我上该网看了下, 那里有教如何使用函数来查询天气情况并且获得返回的字符数组.. 看了看实例代码, 那是VB.NET写的, 就其中一句 Imports cn.com.we ...…

查看全部问答>

skyeye+uClinux段错误

在skyeye上面启动uClinux的时候报段错误 [root@localhost uClinux-dist]# skyeye -e linux-2.4.x/linux arch: arm cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0 mach info: name at91, mach_init addr 0x8071ad4 can\'t find device mod ...…

查看全部问答>

linux内核完全剖析 基于0.12内核 txt下载

linux内核完全剖析 基于0.12内核 赵炯 的  200901的  txt doc pdf 的下载版本地址 谁有就给个链接吧 谢谢了哈  嘿嘿…

查看全部问答>