1 导言
嵌入式体系是以运用为中心、以计算机技能为根底、软件硬件可裁剪、习惯运用体系对功用、可靠性、本钱、体积、功耗严格要求的专用计算机体系,是计算机技能、通讯技能、半导体技能、微电子技能、语音图画数据传输技能等先进技能和具体运用目标相结合后的更新换代产品,具有可靠性高,本钱低,体积小,功耗少的特色,可广泛运用于家电、工业、通讯、国防等范畴。FPGA(Field Programmable Gate Array,现场可编程门阵列)是电子规划范畴中最具生机和发展前途的一项技能,FPGA能完结任何数字器材的功用,上至高功用CPU,下至简略的74电路,都能够用它来完结,FPGA在嵌入式体系中的运用越来越广泛。跟着Internet技能运用到各种嵌入式体系中的不断发展,网络化的嵌入式体系的研讨和运用也倍受重视。B/S(Brower/Server)形式现在已经成为盛行的开发形式,B/S拜访形式是WEB Server和Browser之间的直接拜访,客户和服务器间的中心节点不对HTTP恳求及呼应做任何操作,只需在客户端选用如IE这样的阅读器对服务器上的数据进行阅读,不必开发客户端程序。选用B/S结构具有散布性特色,能够随时随地进行事务处理;体系保护或晋级只在服务器端,对客户端无须进行改动,只需要改动服务器端网页,即可完结一切用户的同步更新,易于保护和晋级;开发简略,共享性强。因而,研讨在FPGA上完结嵌入式Web服务器(Embedded Web Server, EWS)很有必要。
2 WEB相关技能
Web全称为World Wide Web,缩写为WWW,它经过HTTP协议以及超文本(Hypertext)技能将各式各样的信息资源安排在一同构成一个巨大的多媒体信息网。Web体系的作业进程大致能够概括为以下几个进程:
① 用户发动阅读器,并在阅读器中指定一个 URL,阅读器向该URL所指向的Web服务器宣布恳求。
② Web服务器接到恳求后,解析恳求,假如URL所指向的是一般的HTML文档,Web服务器直接将它送给阅读器。HTML文档中或许包含有java、javaScript、ActiveX、VBS等编写的小运用程序,服务器也将其随HTML一同传送到阅读器,并在阅读器地点的机器上运转。
③ 假如HTML文档中嵌有CGI程序,Web服务器就运转CGI,并将成果以HTML格局传送至阅读器。
2.1 HTTP
HTTP(超文本传输协议)是Web服务器用来与阅读器通讯的协议,HTTP规矩了发送和处理恳求的规范方法,规矩了阅读器和服务器之间传输的音讯格局及各种操控信息,然后界说了一切Web通讯的根本结构。它作业于网络运用层,HTTP协议的具体阐明能够在网上查阅RFC2518、RFC2616等文档。HTTP 协议老的规范是HTTP/1.0,现在最通用的规范是HTTP/1.1。HTTP/1.1是在HTTP/1.0根底上的晋级,增加了一些功用,全面兼容HTTP/1.0,现在的Web服务器绝大多数都选用了HTTP/1.1。依据HTTP协议的B/S形式的信息交流分四个进程,树立衔接、发送恳求信息、发送呼应信息和封闭衔接。HTTP恳求音讯的格局为:恳求音讯=恳求行(通用信息|恳求头|实体头)CRLF[实体内容]。HTTP的呼应音讯格局为:呼应音讯=状况行(通用信息头|呼应头|实体头)CRLF〔实体内容〕。
2.2 超文本符号言语HTML
HTML是一种超文本标识言语,是构成Web页面的首要东西,它是一种用于因特网文档的规范符号言语,是由欧洲原子核研讨委员会(CERN)创造出的一种新的计算机言语。HTML是用来格局化WWW页面的一组规矩,HTML文本是由HTML指令组成的描绘型文本,HTML指令能够阐明文字、图形、动画、声响、表格、链接等等,HTML的衔接才能能够使文本中的每一个词或图形衔接到Internet中相同或不同方位的另一个文本或另一种媒体信息,用户经过阅读器读取HTML文本并得到相应媒体表达的作用。
2.3 CGI原理
CGI(通用网关接口)是Web服务器与CGI脚本之间的接口规范。其首要功用是在Web环境下,从客户端传送一些信息给Web服务器,Web服务器把接收到的有关信息放入环境变量,然后再去发动所指定的CGI脚本以完结特定的作业,CGI脚本从环境变量中获取相关信息来运转,最终以HTML格局输出相应的履行成果回来给阅读器端。由于用户能传递不同的参数给CGI脚本,所以CGI技能使得阅读器和服务器之间具有交互性。
2.4嵌入式Web服务器
嵌入式Web服务器是指将Web服务器引进到现场测验和操控设备中,在相应的硬件渠道和软件体系的支撑下,使传统的测验和操控设备转变为具有了以TCP/IP为底层通讯协议,以Web技能为中心的依据互联网的网络测验和操控设备[2,3]。
2.5 FPGA的Nios II软核处理器
NIOS II嵌入式处理器是Altera公司于2004年6月推出的第二代用于可编程逻辑器材的可装备的软核处理器,功用超越200 DMIPS。NIOS II选用了依据RISC架构的32位指令集,能与用户逻辑相结合,运用Altera 公司的Quartus Ⅱ软件以及SOPC Builder 东西,能够将NIOS Ⅱ处理器嵌入到体系中,编程至Altera的FPGA中。处理器具有32位指令集,32位数据通道和可装备的指令以及数据缓冲。它特别为可编程逻辑进行了优化规划,也为可编程单芯片体系(SoPC)规划了一套归纳解决计划。NIOS II处理器系列包含三种内核:一种是高功用的内核(NIOS II/f);一种是低本钱内核(NIOS II/e);一种是功用/本钱折中的规范内核(NIOS II/s),是前两种的平衡。
NIOS II 处理器支撑256 个具有固定或可变时钟周期操作的定制指令;答应NIOS II规划人员使用扩展CPU指令集,最多达256 个用户界说的CPU 指令,经过进步那些对时间灵敏的运用软件的运转速度,来进步体系功用;依据JTAG鸿沟扫描测验的调试逻辑,支撑硬件断点,数据触发,以及片外和片内的调试盯梢;可装备外设达60 多个,供给品种繁复的装备挑选,包含以太网、USB、存储操控器等;供给了Berkeley socket API支撑IP、ICMP、UDP 和带拥塞操控的TCP、RTT 固件及快速康复/ 快速重传;支撑MicroC/OSⅡ RTOS供给源码的操作体系,支撑航空设备RTCA DO2178B 规范的强制要求。
3 嵌入式WEB服务器的规划
3.1 硬件规划
体系的硬件结构如图1 所示。硬件体系的中心是构建于Altera Cyclone中的NIOS II嵌入式软核处理器。NIOS II选用规范内核。经过以太网接口,树立与Internet的联络。以太网接口选用DM9000A。
SOPC Builder组合设置如图2所示。
3.2 软件规划
嵌入式Web服务器和阅读器之间遵从HTTP协议,因而体系的软件结构如图3所示。
HTTP协议的完结是要害。当体系发动后,WEB服务器监听80端口,承受阅读器的恳求音讯。得到恳求音讯后,体系依据HTTP的格局进行解码。假如恳求得到停止的网页文件,就到保存在FLASH中的文件体系中查找并处理相应的恳求。假如恳求得到动态的网页信息,履行动态网页生成程序,并把履行的成果回来到阅读器端。由于FPGA上的资源有限,也由于嵌入式WEB的运用体系不像PC机上的WEB服务器的要求那么高,所以动态网页生成程序只需要完结必需的功用就能够了。为了便利体系对阅读器恳求的解析,咱们选用如下方法:静态的网页文件咱们一致选用后缀为HTML的文件保存在Flash中,文件体系选用只读的ZIP文件体系;动态的网页文件的恳求咱们选用后缀为JSP的格局。因而,当解析恳求为恳求得到HTML格局的文件时,咱们回来静态的网页文件;当解析恳求为恳求得到JPS格局的文件时,咱们把它恳求的参数生成网页文件,回来到阅读器端;假如不是恳求以上两品种型的文件,体系回来静态的过错提示网页文件。体系的流程如图4所示。在体系的完结上,应留意装备文件体系,把静态的网页文件紧缩到ZIP文件包中,留意紧缩时紧缩形式挑选Store形式,不然会犯错。编译后的程序下载到FPGA上,衔接好网线,就能够测验了。试验证明达到了预期的要求。
4 结束语
本文剖析和介绍了嵌入式Web服务器技能的首要内容,描绘了NIOS II嵌入式软核处理器技能,提出了依据FPGA的嵌入式WEB服务器的完结计划。本体系在NIOS II嵌入式软核处理器的根底上,选用MicroC/OS-II实时操作体系,移植LWIP协议栈,在TCP/IP协议的根底上完结了HTTP协议,然后完结了FPGA芯片上的供给静态和动态网页功用的嵌入式WEB服务器,为依据嵌入式WEB的智能仪表、网络测控和长途监控体系供给一个优异的通讯渠道。
责任编辑:gt