一种嵌入式WEB服务器的设计与实现

发布者:茶叶侠最新更新时间:2006-09-14 来源: ESIC关键字:以太网  嵌入式  总线 手机看文章 扫描二维码
随时随地手机看文章

  在企业自动化的工业现场,下层车间的监测设备之间都是采用现场总线相互连接,而企业的管理层和生产监控层都是连于以太网的PC,甚至是位于异地的连于互连网上的PC。为了使工业现场的现场总线上的设备和管理监控层之间的PC能够通信,同时改善故障检测和设备维护的远程访问能力,笔者在CAN总线网与以太网的互连系统中设计了一个嵌入式WEB服务器。

1 嵌入式WEB服务器硬件设计

通常嵌入式系统硬件包括微控制器、存储器及外设器件和I/O端口等,其核心是嵌入式微控制器。为适应上网需求,嵌入式微控制器不仅要具有传统的控制功能,还要具有与因特网连接的功能。而Ubicom公司的SX52芯片能比较容易实现TCP/IP协议,选择它作为微控制器。关于传输媒质,采用最常用的连接模式即通过以太网连接Internet,利用网络接口控制器RTL8019AS实现数据链路层协议。RTL8019AS采用台湾Realtek公司生产的RTL8019AS芯片。

嵌入式WEB服务器硬件结构框图如图1所示。

嵌入式WEB服务器用SX52微控制器作为处理器,以太网驱动芯片RTL8019AS经耦合隔离滤波器HR61101G和RJ45接口接入以太网,配有RS232和CAN总线两个扩展接口,可以将具有RS232接口的设备或采用CAN总线协议通信的设备连到以太网上。RS232接口采用MAX232CPE芯片,CAN总线控制器采用Philips公司的SJAl000芯片,CAN收发器采用Philips公司的PCA82C250。


  数据的流向为:请求和控制信息从局域网中来,通过nJ45送到RTL8019AS,RTL8019AS负责将以太网帧的首部和尾部信息剥离,将处理后的数据包送入SX52的TCP/IP协议栈,由协议栈对数据包进行解析,得到原始的请求和控制信息。请求和控制信息再经过SJAl000进行CAN协议格式的数据封装,再与现场的CAN总线设备进行通信。请求和控制的回复信息到局域网的过程正好相反。

在嵌入式WEB服务器的硬件设计中,在确保通信功能顺利实现的同时,充分利用了SX52芯片I/O口灵活配置的特点,最大程度地节约了微控制器SX52的硬件资源。

图2为WEB服务器主要芯片连接电路简图,结合本图详细分析系统硬件设计

1.1 RTL8019AS驱动程序实现

RTLS019AS是台湾Realtek公司制造的一种高集成度的全双工10Mbps以太网控制芯片,实现了基于Ethernet协议的MAC层的全部功能,内置16KB的SRAM、双DMA通道和FIFO完成数据包的接收和发送功能。在网关设计中,使用跳线模式(JP置为高)来硬配置RTLS019AS为8位模式;使用了RTL8019的低五位地址线A0~A4以及低8位数据线D0~D7。为满足RTL8019AS的ISA时序,RTL8019AS高端地址A5~A19须设置为0X300。SX52的B口的B0~B4脚作为地址线连接RTL8019AS的低5位地址线,B5~B7作为控制线分别连接读写时序控制脚IORB、IOWB、IOCHRDY;C口作为数据线连接RTLS019AS的低8位数据线;A口保留,用作日后扩展。设计中采用AT24C64这样一个8KB的EEPROM来保存WEB服务器的配置信息,如网关IP地址、MAC地址和SJAl000的ID网络标示符、网络掩码AMR和总线定时(BTR0、BTR1)等。这样就能够灵活方便地修改网关参数,适应不同环境,同时也考虑到以后的扩展。


  要实现嵌入式WEB服务器接入以太网,就要对RTL8019AS进行编程,完成以太网帧的数据收发,相当于实现PC机中网卡的驱动程序功能。首先要对RTL8019AS进行复位,并将其设置为跳线模式;然后对RTL8019AS的工作参数进行设置,以使其开始工作;接下来读写RTL8019AS的RAM以完成数据包的接收和发送。程序流程如图3所示。

1.2 TCP/IP协议栈的实现

并不是所有的协议在嵌入式WEB服务器中都要实现,应根据项目要求有选择地加以实现。以太网数据的传输采用MAC地址来识别,而ARP协议提供IP地址和数据链路层使用的MAC地址之间的转换功能,为了保证系统在以太网的通信,首先要实现ARP协议;由于嵌入式WEB服务器要能在Internet上通信,在网络层一定要实现IP协议,还要实现能报告数据传送差错等情况的ICMP协议;在应用层,主要实现远端主机通过浏览器的访问控制方式,所以要实现HTTP协议。而HTTP协议是基于TCP协议实现传输的,加上TCP协议是面向可靠的数据流的传输,基于应用的需要和对可靠性的要求,在传输层采用TCP协议,并对TCP协议进行简化处理,主要针对HTTP协议开发TCP协议。

  由于嵌入式系统的资源有限,因此将TCP/IP协议最大幅度精简,以提高程序的运行速度,减少在SX52存储器中占用的空间。TCP/IP协议栈主流程图如图4所示。

  精简协议主要遵循以下两个原则:

(1)协议内容精简

嵌入式WEB服务器的实现需要ARP、IP、TCP、ICMP等网络协议的支持,每一个完整协议都很庞大,在存储容量并不大的SX52上全部实现是不现实的。应该在保证实现网络通信基本功能的前提下尽可能地精简协议,确定出协议的哪一部分是必需的,哪一部分可以省略,以满足系统要求。

(2)协议接口层次明确

TCP/IP协议分布在链路层、网络层、传输层和应用层上,是分层实现的,每一层只负责处理通信过程中的一部分问题,其它层不能实现其功能。采用模块化的设计思路,如果需要修改哪个协议,只需修改相应模块的功能,其它模块不用改动。协议分层简化了程序的设计和调试,每层的协议相互独立,使协议的开发更高效。在网络系统中,按照分层的思想,从网络最底层开始每一层都为高层提供服务,明确层间接口对软件开发十分重要。

2 嵌入式WEB服务器应用程序的实现

Brower/Server(简称B/S)模式已经成为流行的开发模式,课题中的嵌入式WEB服务器要实现的功能主要是现场实时数据发布功能。B/S访问模式是WEBServer和Browser之间的直接访问。客户和服务器间的中间节点不对HTTP请求及响应做任何操作,只需在客户端采用如IE这样的浏览器对服务器上的数据进行浏览,不用开发客户端程序。采用B/S结构具有如下优势:

·具有分布性特点,可以随时随地进行业务处理;

·系统维护或升级只在服务器端,对客户端无须进行改动,只需要改变服务器端网页,即可实现所有用户的同步更新,易于维护和升级;

·开发简单,共享性强。


  B/S访问模式只需对服务器端程序进行开发。在服务器端形成动态网页最常用的工具有ASP和JSP。由于采用的嵌入式芯片SX52只有4KB存储容量,在SX52中既实现TCP/IP协议栈,又实现ASP和JSP的功能是很困难的。所以可以采用字节传输方式针对SX52用汇编语言编程实现动态网页。

Java applet能够被传送到浏览器并且在浏览器所在的本地机上运行。本设计正是利用了这一特性改进了传统的B/S模式设计出的应用程序,Java applet对于管理和处理动态数据也是一种行之有效的技术。Java applet能实时表示从轮询得到的更新信息,利用这个特性显示实时数据。所以程序客户端采用Java applet设计实现。

嵌入式WEB服务器接入以太网时,在程序中设置了自身的IP地址和MAC地址,可以与局域网上任一台微机通信。服务器端主要实现两部分功能:利用HTTP协议实现网页浏览功能和利用套接字编程实现与客户端applet通信的功能。服务器程序用SX52的汇编语言实现。

在WEB服务器中实现HTTP协议才能实现网页文件的浏览。方案中将WEB服务器上扩展的EEPROM与SX52相连,用来存储要浏览的WEB文件,EEPROM里的WEB内容采用原始数据的形式存储,没有进行封装和编码。文本内容以ASCⅡ码形式存储,图像内容以二进制数据形式存储。

关键字:以太网  嵌入式  总线 引用地址:一种嵌入式WEB服务器的设计与实现

上一篇:基于PowerPC405EP的网络打印机控制器设计
下一篇:MAX9217/MAX9218在视频链路中传输音频数据

推荐阅读最新更新时间:2024-05-13 18:14

基于M68HC912D60芯片的嵌入式税务监控系统
  1 引言   税控系统即“POS电子税收控制系统”, 是由POS机、金税卡/IC卡、读卡器、计算机及打印机等设备构成的电子信息网络。POS税款机的推广是执行“金税工程”的一个重点项目,推广应用POS税款机能够让税务部门节约大量的人力财力,杜绝商家经营中的偷税漏税情形。由于目前市面上使用的POS机五花八门,全部更换是一个很大的经济负担,因此,一个可行的方法是对现有的普通收款机进行改造,安上税控装置。以MCU为核心的嵌入式税控系统以其高效、可靠、低价的优点,成为最佳的税控系统解决方案之一。   2 税务监控系统介绍   税务监控系统通过截获POS机的打印数据,从中提取出交易的日期、时间、金额等税控信息,并在打印数据中插入加密
[单片机]
基于M68HC912D60芯片的<font color='red'>嵌入式</font>税务监控系统
谈谈图ARM嵌入式那些事儿
1 引 言 随着大数据、AI 技术等高新科技的快速发展,嵌入式系统已经广泛应用在科学研究、军事技术、工程设计、商业文化艺术、娱乐业、日常生活等方方面面。嵌入式系统基于计算机技术,以应用需求为中心,可以定制软件和硬件。它适用于对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。嵌入式系统是一个复杂的系统,包括硬件与软件两大部分,硬件是以处理器为核心器件,再根据具体的应用需求,选择合适的外围设备,通常核心器件的选型基本决定了整个系统的软硬件架构。软件部分则包括开发环境、驱动程序、操作系统、应用程序等部分。整个嵌入式系统需要软硬件协同配合,共同完成具体的应用功能。 2 嵌入式系统硬件平台开发 嵌入式系统硬件平台一般包括处理器
[单片机]
LPC2000系列的CAN总线验收滤波器应用
CAN(Controller Area NetWork)总线,即控制器局域网总线,是由德国Bosch公司于1982年开发和推出的最早用于汽车内部测量与执行部件之间的数据通信协议。在20多年的历史中,CAN总线在许多领域得到了应用,是到目前为止唯一有国际标准的现场总线。 CAN现场总线按照国际标准化组织ISO提出的"开放系统互联(OSI)"参考模式,实现其中的物理层、数据链路层和应用层。CAN控制器用来实现CAN总线协议。CAN控制器芯片分为两类:一类是独立的控制器芯片,如SJA1000;另一类是和微控制器做在一起,如Philips公司的LPC2000系列32位ARM微控制器。两类控制器都提供了报文标识过滤的验收滤波器。但独立C
[嵌入式]
嵌入式存储器的设计方法和策略
随着集成电路制造工艺水平的提高,半导体芯片上可以集成更多的功能,为了让产品有别于竞争对手的产品特性,在ASIC上集成存储器可以降低成本和功耗、改善性能、增加系统级芯片的可靠性。随着对 嵌入式 存储器需求的持续增长,其复杂性、密度和速度也日益增加,从而需要提出一种专用存储器设计方法。 存储器的外包设计 存储器模块都具有相对独立的特性,在一个时钟系统中它通常占用一个管道,从成本和人力资源两方面考虑,许多芯片开发商都将存储器模块外包设计,因为,与其它半导体芯片相比,在系统中定义和分离存储器模块要容易得多。此外,诸多因素促进了存储器编辑器及定制存储器设计公司的发展,例如:存储器模块的标准模块特性、对 嵌入式 存储器的巨大市场需求以及存
[嵌入式]
<font color='red'>嵌入式</font>存储器的设计方法和策略
LSI 推出新型 MegaRAID 控制卡和主机总线适配器
LSI 公司 (NYSE: LSI) 日前宣布推出新型 MegaRAID® 控制卡和主机总线适配器 (HBA),进一步壮大了业界最丰富的 6Gb/s SATA+SAS 存储适配器产品阵营。最新推出的产品包括:业界首款MegaRAID 入门级 6Gb/s 控制卡、MegaRAID 经济型和功能型系列扩展产品,以及采用多端口配置的新型 HBA。 LSI 全球渠道销售和市场总监 Brent Blanchard 指出:"LSI™ RAID 控制器和主机总线适配器系列产品是面向渠道的业界最全面的 6Gb/s SAS 产品系列。我们的渠道客户现在可获得针对入门级和企业级系统市场的基于 6Gb/s SAS 技术的存储控制器,从而使
[网络通信]
VK32系列多总线UART串口扩展芯片的原理和应用
摘要:UART以其简单可靠,抗干扰强,传输距离远,组网方便,被认为是嵌入式系统中进行串行数据传输的最佳方式。本文介绍了专为嵌入式系统设计的VK32系列新型多总线接口UART器件的原理及应用技术。 1 .嵌入式系统中串口扩展的需求: 而在嵌入式领域,由于UART具有操作简单,工作可靠,抗干扰强,传输距离远(组成485网络可以传输1200米以上),设计人员普遍认为UART是从CPU或微控制器向系统的其他部分传输数据的最佳方式,因此它们被大量地应用在工业、通信、和家电控制等嵌入式领域。通常MCU/CPU都会自带一个UART串口,但实际应用中一个串口往往不够用,需要进行UART串口扩展。 目前的大多数UART器件是以计算机总线
[嵌入式]
CAN总线在程控交换机中的应用设计
在电话程控交换机中,控制系统由前端处理、主控制和维护管理三级处理系统构成。 主控制机与前端处理机之间有通信处理机,它主要完成通信功能,将从各从节点传来的信息整理打包传往主控单元,并将从主控单元发送来的命令分配发往各从节点。其中,前端处理机与主控机连接的电路结构如图1所示。 主控制机与6个通信处理机之间通过双口RAM,以中断方式传送数据,每个通信处理机与前端处理机都采用具有HDLC协议的8044芯片,各前端机不能主动发起与通信控制机的通信,必须等待通信控制机询问该节点时才能向它发送数据。 对于图1的应用,本文采用CAN总线技术来实现,大大减化了软硬件设计,降低了成本。 CAN总线设计关键点 物理层设计 CAN总线为了
[应用]
ARM体系的嵌入式系统BSP的程序设计
  arm公司在32位RISC的CPU开发领域不断取得突破,其结构已经从V3发展到V6。   BSP(Board Support Package)板级支持包介于主板硬件和操作系统之间,其功能与PC机上的BIOS相类似,主要完成硬件初始化并切换到相应的操作系统。BSP是相对于操作系统而言的,不同的操作系统对应于不同定义形式的BSP,例如VxWorks的BSP和Linux的BSP相对于某一CPU来说,尽管实现的功能一样,可是写法和接口定义是完全不同的。另外,仔细研究所用的芯片资料也十分重要,例如尽管arm在内核上兼容,但每家芯片都有自己的特色。所以这就要求BSP程序员对硬件、软件和操作系统都要有一定的了解。   本文介绍基于a
[单片机]
小广播
最新应用文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved