欢迎来到天天文库
浏览记录
ID:6085894
大小:27.50 KB
页数:5页
时间:2018-01-02
《探究嵌入式web服务器设计和实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、探究嵌入式Web服务器设计和实现 摘要:在现代网络服务中嵌入式的网络服务器对服务器结构做了大大的简化,同时对网络接口以及信息传输功能予以实现。这种基于HTTP协议的嵌入式服务器在运作上具有标准接口的形式以及通信协议。文章主要对实际应用中嵌入式的Web服务器的论述,介绍了嵌入式Web服务器的总体设计方案与主要作用,分析了其技术措施。关键词:Web服务器;嵌入式;协议;设计中图分类号:TP274文献标识码:B一、引言嵌入式的Web服务器主要就是通过将服务器嵌入到现场控制和测试设备中,以相应软件系统和硬件的支持为支持,是传统的控制、测试设备变为具备通信协议,且其核心为给
2、予互联网的控制以及测试的网络设备(通信协议底层为TCP/IP)。任何接入的合法用户都可以通过网络已浏览器方式为基础,获得其提供的控制、操作界面。且Web服务器具有很强的独立性、开放性,为技术开发提供了方便,降低了通信系统的维护工作量,减少了软件设计的难度,进一步提高了对现场的管理、测试水平。二、总体设计方案5现代因特网的接入方式多种多样,常用的有ADSL、电话拨号、ISDN以及以太网等方式,其中效率最高且成本最低的以太网接入得到了网络用户的一直好评,并在现实中得到广泛应用,本文中因特网主要采用了以太网接入方式。通过对单片机嵌入TCP/IP协议栈使其具有同因特网交流数
3、据的功能,用以实现多方位网络功能,嵌入式的Web服务器就是网络单片机的一种。客户端用户实现系统交互并浏览网络动态信息就是以此为基础。(一)一般结构Web服务器的系统结构是作为嵌入式的服务器设计的基础,而其系统的优化则是根据系统特性进行。嵌入式的Web服务器能够同应用系统集成或者通过新昌总线进行连接,这种功能是基于其中微处理器实现。微处理器、DRAM、FLASHI存储器以及网络接口以及系统硬件共同组成了硬件系统,微处理器铜管全局,FLASHI存储负责完成系统操作实时存储,以及网络缓存,系统运行是主要使用DRAM存储,同因特网的连接则需要网络接口实现,而系统硬件则是传统
4、意义上应用功能实现的基础。基于有限的硬件资源,嵌入式的Web服务器在结构上需要简单便捷,因此对于软件的系统设计要求较高。(二)硬件设计5嵌入式的Web服务器以LPC2132微控制器作为核心,首先在内部要对TCP/IP协议栈予以实现,且对网络接口的控制器予以驱动,通过偶和隔离变压器同以太网接入因特网。另外,微控制器还要实现其作为系统控制单元的功能。文章主要选用了目前使用最为广泛的以太网作为网络接入方式。以太网是以美国微芯公司生产的网络接口控制器为基础产生的,其使得介质能具备了能够访问物理层以及控制子层功能。H1102能够直接连入以太网作为网络脉冲的滤波和转换器的耦合隔
5、离变压器。在嵌入式的Web服务器中串行电平转换主要选用了美信公司的MAXSP3232E芯片。该芯片的主要特点即电源供电达到+5V就能将TTL点评转换为RS232C电平。此串口一方面能够进行通信另一方面能够对系统进行开发调试。而LED现实电路以及JTAG调试电路、其他测试电路共同组成了I/O口扩展。(三)软件的设计方案Web服务器本质上是一种应用程序,其功能的实现建立在嵌入式的TCP/IP协议上。从工作过程的角度分析,系统能够分成三个部分。首先,是驱动程序的实现,由以太网进行控制;其次,是结合系统环境的具体情况实现TCP/IP协议,协议的实现需要建立在第一部分实现的基
6、础之上。并对协议进行简化、移植;最后,实现数据的收发。Web服务器是通过HTTP协议在应用层实现而获得相应的功能。三、嵌入式Web服务器的实现5当程序运行时,首先对系统初始化,这时系统处于等待状态,直到有数据帧到达。ENC28J60接收完数据帧以后,首先去除帧头,然后判断该数据帧的报文是否为ARP包,若是,则进行ARP数据包处理,若不是,则检查数据报头,看IP数据包的报文是否为ICMP数据包,若是ICMP数据包,则转到ICMP数据处理子程序。若不是ICMP数据包,就继续进行判断,看是否为TCP数据包,若为TCP数据包则转入TCP数据处理子程序,若此时即不是ICMP数
7、据包也不是TCP数据包,则将该包丢弃。嵌入式Web服务器的实现方式如下:1网络接口的实现网络接口是Web服务器与外界交流的接口。操作系统提供网络协议栈的支持,最主要是TCP/IP以及socket套接字系统函数库。网络接口使用操作系统提供的socket函数族建立可远程通信的套接字。2中心处理模块嵌入式的Web服务器其核心为中心处理模块,由中心处理模块对外进行控制管理。其主要通过Accept进行HTTP的请求接收,通过Read将其接收到本地,后进行解析。并根据请求判断信息内容属于动态还是静态,如果是动态内容则调用相应的动态处理函数,如果是静态内容则访问VFS获得相应
此文档下载收益归作者所有