《基于可编程逻辑器件实现Web服务器的应用设计.docx》由会员分享,可在线阅读,更多相关《基于可编程逻辑器件实现Web服务器的应用设计.docx(5页珍藏版)》请在第一文库网上搜索。
1、基于可编程逻辑器件实现Web服务器的应用设计1引言嵌入式系统是以应用为中心、以计算机技术为基础、软件便性可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统,是计算机技术、通信技术、半导体技术、微电子技术、语音图像数据传输技术等先进技术和具体应用对象相结合后的更新换代产品,具有可靠性高,成本低,体积小,功耗少的特点,可广泛应用于家电、辿、通值、国防等领域。FPGA(Fie1dProgrammab1eGateArray,现场可编程门阵列)是电子设计领域演具活力和发展赢的一项技术,FPGA能完成存蓝字器件的功能,上至高性能CEU,下至简单的74电路,都可以用它来实现,FPG
2、A在嵌入式系统中的应用越来越广泛。随着Internet技术应用到各种嵌入式系统中的不断发展,网络化的嵌入式系统的研究和应用也倍受关注。B/S(Brower/Server)模式现在已经成为流行的开发模式,B/S访问模式是WEBServer和Browser之间的直接访问,客户和服务器间的中间节点不对HnP请求及响应做任何操作,只需在客户端采用如IE这样的浏览器对服务器上的数据进行浏览,不用开发客户端程序。采用B/S结构具有分布性特点,可以随时随地进行业务处理;系统维护或升级只在服务器端,对客户端无须进行改动,只需要改变服务器端网页,即可实现所有用户的同步更新,易于维护和升级;开发简单,共享性强。因
3、此,研究在FPGA上实现嵌入式Web服务器(EmbedC1edWebServer,EWS)很有必要。2WEB相关技术Web全称为W2CdWideWeb,缩写为WWW,它通过HnP协议以及超文本(Hypertext)技术将各种各样的信息资源组织在一起形成一个巨大的多媒体信息网。Web系统的工作过程大致可以归纳为以下几个步骤:用户启动浏览器,并在浏览器中指定一个UR1,浏览器向该UR1所指向的Web服务器发出请求。Web服务器接到请求后,解析请求,如果UR1所指向的是普通的HTM1文档,Web服务器直接将它送给浏览器。HTM1文档中可能包含有辿出、javaScriptActiveX、VBS等编写的
4、小应用程序,服务器也将其随HTM1一起传送到浏览器,并在浏览器所在的机器上运行。如果HTM1文档中嵌有CG1程序,Web服务器就运行CGI,并将结果以HTM1格式传送至浏览器。2.1HTTPHnP(超文本传输协议)是Web服务器用来与浏览器通信的协议,HnP规定了发送和处理请求的标准方式,规定了浏览器和服务器之间传输的消息格式及各种控制信息,从而定义了所有Web通信的基本框架。它工作于网络应用层,HnP协议的详细说明可以在网上查阅EEC2518、RFC2616等文档。HTTP协议老的标准是HnP/1.0,目前最通用的标准是HnP/1.1。HnP/1.1是在HnP/1.0基础上的升级,增加了一些
5、功能,全面兼容HnP/1.0,目前的Web服务器绝大多数都采用了HnP/1.1。基于HTTP协议的B/S模式的信息交换分四个过程,建立连接、发送请求信息、发送响应信息和关闭连接。HnP请求消息的格式为:请求消息二请求行(通用信息I请求头I实体头)CR1F实体内容。HnP的响应消息格式为:响应消息二状态行(通用信息头响应头I实体头)CR1F(实体内容)。2.2超文本标记语言HTM1HTM1是一种超文本标识语言,是构成Web页面的主要工具,它是一种用于因特网文档的标准标记语言,是由欧洲原子核研究委员会(CERN)创造出的一种新的计算机语言。HTM1是用来格式化WWW页面的一组规则,HTM1文本是由
6、HTM1命令组成的描述型文本,HTM1命令可以说明文字、图形、动画、声音、表格、链接等等,HTM1的连接能力可以使文本中的每一个词或图形连接到Internet中相同或不同位置的另一个文本或另一种媒体信息,用户通过浏览器读取HTM1文本并得到相应媒体表达的效果。2.3CGI原理CGI(通用网关接且)是Web服务器与CG1脚本之间的接口标准。其主要功能是在Web环境下,从客户端传送一些信息给Web服务器,Tyeb服务器把接收到的有关信息放入环境变量,然后再去启动所指定的CG1脚本以完成特定的工作,CG1脚本从环境变量中获取相关信息来运行,最后以HTM1格式输出相应的执行结果返回给浏览器端。由于用户
7、能传递不同的参数给CG1脚本,所以CG1技术使得浏览器和服务器之间具有交互性。2.4嵌入式Web服务器嵌入式Web服务器是指将Web服务器引入到现场测试和控制设备中,在相应的硬件平台和软件系统的支持下,使传统的测试和控制设备转变为具备了以TCP/IP为底层通信协议,以Web技术为核心的基于互联网的网络测试和控制设备2,3O2.5FPGA的NiosII软核处理器NIOSII嵌入式处理器是AItCra公司于2004年6月推出的第二代用于可编程逻辑器件的可配置的软核处理器,性能超过200DMIPSoNIOSII采用了基于RISC架构的32位指令集,能与用户逻辑相结合,使用A1tera公司的QUart
8、US软件以及SOPCBui1der工具,可以将N1oSII处理器嵌入到系统中,编程至A1tera的FPGA中。处理器具有32位指令集,32位数据通道和可配置的指令以及数据缓冲。它特别为可编程逻辑进行了优化设计,也为可编程单培系统(SoPC)设计了一套综合解决方案。NIOSII处理器系列包括三种内核:一种是高性能的内核(N1OSIIf);一种是低成本内核(N1OSIIe);一种是性能/成本折中的标准内核(N1OSIIs),是前两种的平衡。NIOSII处理器支持256个具有固定或可变时包周期操作的定制指令;允许N1OSII设计人员利用扩展CPiJ指令集,最多达256个用户定义的CPU指令,通过提升
9、那些对时间敏感的应用软件的运行速度,来提高系统性能;基于JTAG边界扫描测试的调试逻辑,支持硬件断点,数据触发,以及片外和片内的调试跟踪;可配置外设达60多个,提供种类繁多的配置选择,包括以太网、USB、存储控制器等;提供了Berke1eysocketA里支持IP、ICMPUDP和带拥塞控制的TCP、RTT固件及快速恢复/快速重传;支持MiCrOC/OSIIRToS提供源码的操作系统,支持航空设备RTCAD02178B标准的强制要求。3嵌入式WEB服务器的设计3.1硬件设计系统的硬件结构如图1所示。硬件系统的核心是构建于AIteraCyC1one中的N1oSII嵌入式软核处理器。NIOS采用标
10、准内核。通过以太网接口,建立与Internet的联系。以太网接口采用DM9000A。SOPCBui1der组合设置如图2所示。2,OD*BstejftP-UfotIFxmscr必WCBMrmi.BHM1.、eh*fuv(CeEWnfshrteda6c0caxmttrfXTFF臼Wrf力WCaMieq%JCOTET十CQntooIkFi附SkfctEgcey+归OMBiRf机冲献第F|4dhdUZWJXS.11fc1CRa砂m6xM4tKt9xOM0KExIFara1efifJiI6tMQE肌必制(JTFTtedef1BMMM1(MDMoEFTMMWjI1O二QNU4IO)m型网嬴必例侯fYWM
11、C11KMM4HtAFtfC,*Mmt.TMmMAQC皿小IJ-1vm出S1怔CUJ*5(Mu3rf一丁,je !yr3.2软件设计嵌入式Web服务器和浏览器之间遵循HTTP协议,因此系统的软件结构如图3所示。图3第J人竹二也HTTP协议的实现是关键。当系统启动后,WEB服务器监听80端旦,接受浏览器的请求消息。得到请求消息后,系统根据HTTP的格式进行解码。如果请求得到静止的网页文件,就到保存在F1ASH中的文件系统中查找并处理相应的请求。如果请求得到动态的网页信息,执行动态网页生成程序,并把执行的结果返回到浏览器端。由于FPGA上的资源有限,也因为嵌入式WEB的应用系统不像PC机上的WEB
12、服务器的要求那么高,所以动态网页生成程序只需要完成必需的功能就可以了。为了方便系统对浏览器请求的解析,我们采用如下方式:静态的网页文件我们统一采用后缀为HTM1的文件保存在FIaSh中,文件系统采用只读的ZIP文件系统;动态的网页文件的请求我们采用后缀为JSP的格式。因此,当解析请求为请求得到HTM1格式的文件时,我们返回静态的网页文件;当解析请求为请求得到JPS格式的文件时,我们把它请求的参数生成网页文件,返回到浏览器端;如果不是请求以上两种类型的文件,系统返回静态的错误提示网页文件。系统的流程如图4所示。在系统的实现上,应注意配置文件系统,把静态的网页文件压缩到ZIP文件包中,注意压缩时压缩模式选择StOre模式,否则会出错。编译后的程序下载到FPGA上,连接好网线,就可以测试To实验证明达到了预期的要求。甲纬洲式T4结束语本文分析和介绍了嵌入式Web服务器技术的主要内容,描述了N1OSII嵌入式软核处理器技术,提出了基于FPGA的嵌入式WEB服务器的实现方案。本系统在N1oS嵌入式软核处理器的基础上,采用MiCroC/OS-II实时操作系统,移植1WIP协议栈,在TCP/IP协议的基础上实现了HnP协议,从而实现了FPGA芯片上的提供静态和动态网页功能的嵌入式WEB服务器,为基于嵌入式WEB的智能仪表、网络测控和远程监控系统提供一个优秀的通信平台。责任gt