基于可編程邏輯器件實現(xiàn)Web服務器的應用設計_第1頁
基于可編程邏輯器件實現(xiàn)Web服務器的應用設計_第2頁
基于可編程邏輯器件實現(xiàn)Web服務器的應用設計_第3頁
基于可編程邏輯器件實現(xiàn)Web服務器的應用設計_第4頁
基于可編程邏輯器件實現(xiàn)Web服務器的應用設計_第5頁
全文預覽已結(jié)束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

基于可編程邏輯器件實現(xiàn)Web服務器的應用設計1引言嵌入式系統(tǒng)是以應用為中心、以計算機技術為基礎、軟件硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng),是計算機技術、通信技術、半導體技術、微電子技術、語音圖像數(shù)據(jù)傳輸技術等先進技術和具體應用對象相結(jié)合后的更新?lián)Q代產(chǎn)品,具有可靠性高,成本低,體積小,功耗少的特點,可廣泛應用于家電、工業(yè)、通信、國防等領域。FPGA(FieldProgrammableGateArray,現(xiàn)場可編程門陣列)是電子設計領域中最具活力和發(fā)展前途的一項技術,F(xiàn)PGA能完成任何數(shù)字器件的功能,上至高性能CPU,下至簡單的74電路,都可以用它來實現(xiàn),F(xiàn)PGA在嵌入式系統(tǒng)中的應用越來越廣泛。隨著Internet技術應用到各種嵌入式系統(tǒng)中的不斷發(fā)展,網(wǎng)絡化的嵌入式系統(tǒng)的研究和應用也倍受關注。B/S(Brower/Server)模式現(xiàn)在已經(jīng)成為流行的開發(fā)模式,B/S訪問模式是WEBServer和Browser之間的直接訪問,客戶和服務器間的中間節(jié)點不對HTTP請求及響應做任何操作,只需在客戶端采用如IE這樣的瀏覽器對服務器上的數(shù)據(jù)進行瀏覽,不用開發(fā)客戶端程序。采用B/S結(jié)構具有分布性特點,可以隨時隨地進行業(yè)務處理;系統(tǒng)維護或升級只在服務器端,對客戶端無須進行改動,只需要改變服務器端網(wǎng)頁,即可實現(xiàn)所有用戶的同步更新,易于維護和升級;開發(fā)簡單,共享性強。因此,研究在FPGA上實現(xiàn)嵌入式Web服務器(EmbeddedWebServer,EWS)很有必要。2WEB相關技術Web全稱為WorldWideWeb,縮寫為WWW,它通過HTTP協(xié)議以及超文本(Hypertext)技術將各種各樣的信息資源組織在一起形成一個巨大的多媒體信息網(wǎng)。Web系統(tǒng)的工作過程大致可以歸納為以下幾個步驟:①用戶啟動瀏覽器,并在瀏覽器中指定一個URL,瀏覽器向該URL所指向的Web服務器發(fā)出請求。②Web服務器接到請求后,解析請求,如果URL所指向的是普通的HTML文檔,Web服務器直接將它送給瀏覽器。HTML文檔中可能包含有java、javaScript、ActiveX、VBS等編寫的小應用程序,服務器也將其隨HTML一起傳送到瀏覽器,并在瀏覽器所在的機器上運行。③如果HTML文檔中嵌有CGI程序,Web服務器就運行CGI,并將結(jié)果以HTML格式傳送至瀏覽器。2.1HTTPHTTP(超文本傳輸協(xié)議)是Web服務器用來與瀏覽器通信的協(xié)議,HTTP規(guī)定了發(fā)送和處理請求的標準方式,規(guī)定了瀏覽器和服務器之間傳輸?shù)南⒏袷郊案鞣N控制信息,從而定義了所有Web通信的基本框架。它工作于網(wǎng)絡應用層,HTTP協(xié)議的詳細說明可以在網(wǎng)上查閱RFC2518、RFC2616等文檔。HTTP協(xié)議老的標準是HTTP/1.0,目前最通用的標準是HTTP/1.1。HTTP/1.1是在HTTP/1.0基礎上的升級,增加了一些功能,全面兼容HTTP/1.0,目前的Web服務器絕大多數(shù)都采用了HTTP/1.1。基于HTTP協(xié)議的B/S模式的信息交換分四個過程,建立連接、發(fā)送請求信息、發(fā)送響應信息和關閉連接。HTTP請求消息的格式為:請求消息=請求行(通用信息|請求頭|實體頭)CRLF[實體內(nèi)容]。HTTP的響應消息格式為:響應消息=狀態(tài)行(通用信息頭|響應頭|實體頭)CRLF〔實體內(nèi)容〕。2.2超文本標記語言HTMLHTML是一種超文本標識語言,是構成Web頁面的主要工具,它是一種用于因特網(wǎng)文檔的標準標記語言,是由歐洲原子核研究委員會(CERN)創(chuàng)造出的一種新的計算機語言。HTML是用來格式化WWW頁面的一組規(guī)則,HTML文本是由HTML命令組成的描述型文本,HTML命令可以說明文字、圖形、動畫、聲音、表格、鏈接等等,HTML的連接能力可以使文本中的每一個詞或圖形連接到Internet中相同或不同位置的另一個文本或另一種媒體信息,用戶通過瀏覽器讀取HTML文本并得到相應媒體表達的效果。2.3CGI原理CGI(通用網(wǎng)關接口)是Web服務器與CGI腳本之間的接口標準。其主要功能是在Web環(huán)境下,從客戶端傳送一些信息給Web服務器,Web服務器把接收到的有關信息放入環(huán)境變量,然后再去啟動所指定的CGI腳本以完成特定的工作,CGI腳本從環(huán)境變量中獲取相關信息來運行,最后以HTML格式輸出相應的執(zhí)行結(jié)果返回給瀏覽器端。由于用戶能傳遞不同的參數(shù)給CGI腳本,所以CGI技術使得瀏覽器和服務器之間具有交互性。2.4嵌入式Web服務器嵌入式Web服務器是指將Web服務器引入到現(xiàn)場測試和控制設備中,在相應的硬件平臺和軟件系統(tǒng)的支持下,使傳統(tǒng)的測試和控制設備轉(zhuǎn)變?yōu)榫邆淞艘訲CP/IP為底層通信協(xié)議,以Web技術為核心的基于互聯(lián)網(wǎng)的網(wǎng)絡測試和控制設備[2,3]。2.5FPGA的NiosII軟核處理器NIOSII嵌入式處理器是Altera公司于2004年6月推出的第二代用于可編程邏輯器件的可配置的軟核處理器,性能超過200DMIPS。NIOSII采用了基于RISC架構的32位指令集,能與用戶邏輯相結(jié)合,使用Altera公司的QuartusⅡ軟件以及SOPCBuilder工具,可以將NIOSⅡ處理器嵌入到系統(tǒng)中,編程至Altera的FPGA中。處理器具有32位指令集,32位數(shù)據(jù)通道和可配置的指令以及數(shù)據(jù)緩沖。它特別為可編程邏輯進行了優(yōu)化設計,也為可編程單芯片系統(tǒng)(SoPC)設計了一套綜合解決方案。NIOSII處理器系列包括三種內(nèi)核:一種是高性能的內(nèi)核(NIOSII/f);一種是低成本內(nèi)核(NIOSII/e);一種是性能/成本折中的標準內(nèi)核(NIOSII/s),是前兩種的平衡。NIOSII處理器支持256個具有固定或可變時鐘周期操作的定制指令;允許NIOSII設計人員利用擴展CPU指令集,最多達256個用戶定義的CPU指令,通過提升那些對時間敏感的應用軟件的運行速度,來提高系統(tǒng)性能;基于JTAG邊界掃描測試的調(diào)試邏輯,支持硬件斷點,數(shù)據(jù)觸發(fā),以及片外和片內(nèi)的調(diào)試跟蹤;可配置外設達60多個,提供種類繁多的配置選擇,包括以太網(wǎng)、USB、存儲控制器等;提供了BerkeleysocketAPI支持IP、ICMP、UDP和帶擁塞控制的TCP、RTT固件及快速恢復/快速重傳;支持MicroC/OSⅡRTOS提供源碼的操作系統(tǒng),支持航空設備RTCADO2178B標準的強制要求。3嵌入式WEB服務器的設計3.1硬件設計系統(tǒng)的硬件結(jié)構如圖1所示。硬件系統(tǒng)的核心是構建于AlteraCyclone中的NIOSII嵌入式軟核處理器。NIOSII采用標準內(nèi)核。通過以太網(wǎng)接口,建立與Internet的聯(lián)系。以太網(wǎng)接口采用DM9000A。SOPCBuilder組合設置如圖2所示。3.2軟件設計嵌入式Web服務器和瀏覽器之間遵循HTTP協(xié)議,因此系統(tǒng)的軟件結(jié)構如圖3所示。HTTP協(xié)議的實現(xiàn)是關鍵。當系統(tǒng)啟動后,WEB服務器監(jiān)聽80端口,接受瀏覽器的請求消息。得到請求消息后,系統(tǒng)根據(jù)HTTP的格式進行解碼。如果請求得到靜止的網(wǎng)頁文件,就到保存在FLASH中的文件系統(tǒng)中查找并處理相應的請求。如果請求得到動態(tài)的網(wǎng)頁信息,執(zhí)行動態(tài)網(wǎng)頁生成程序,并把執(zhí)行的結(jié)果返回到瀏覽器端。由于FPGA上的資源有限,也因為嵌入式WEB的應用系統(tǒng)不像PC機上的WEB服務器的要求那么高,所以動態(tài)網(wǎng)頁生成程序只需要完成必需的功能就可以了。為了方便系統(tǒng)對瀏覽器請求的解析,我們采用如下方式:靜態(tài)的網(wǎng)頁文件我們統(tǒng)一采用后綴為HTML的文件保存在Flash中,文件系統(tǒng)采用只讀的ZIP文件系統(tǒng);動態(tài)的網(wǎng)頁文件的請求我們采用后綴為JSP的格式。因此,當解析請求為請求得到HTML格式的文件時,我們返回靜態(tài)的網(wǎng)頁文件;當解析請求為請求得到JPS格式的文件時,我們把它請求的參數(shù)生成網(wǎng)頁文件,返回到瀏覽器端;如果不是請求以上兩種類型的文件,系統(tǒng)返回靜態(tài)的錯誤提示網(wǎng)頁文件。系統(tǒng)的流程如圖4所示。在系統(tǒng)的實現(xiàn)上,應注意配置文件系統(tǒng),把靜態(tài)的網(wǎng)頁文件壓縮到ZIP文件包中,注意壓縮時壓縮模式選擇Store模式,否則會出錯。編譯后的程序下載到FPGA上,連接好網(wǎng)線,就可以測試了。實驗證明達到了預期的要求。4結(jié)束語本文分析和介紹了嵌入式Web服務器技術的主要內(nèi)容,描述了NIOSII嵌入式軟核

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論