《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 一種嵌入式WEB服務器的設計與實現

一種嵌入式WEB服務器的設計與實現

2008-07-30
作者:黃天戍 劉 洋

??? 摘 要: 介紹了一種嵌入式WEB服務器的設計與實現,實現了以太網與CAN總線網絡的直接互連,使用戶可以使用PC機通過Internet進行遠程訪問和控制Web服務器, 從而能夠將工業現場測控層監測設備得到的數據方便快捷地送到異地的管理監控層。
??? 關鍵詞: WEB服務器? 以太網? CAN總線

?

??? 在企業自動化的工業現場,下層車間的監測設備之間都是采用現場總線相互連接,而企業的管理層和生產監控層都是連于以太網的PC,甚至是位于異地的連于互連網上的PC。為了使工業現場的現場總線上的設備和管理監控層之間的PC能夠通信,同時改善故障檢測和設備維護的遠程訪問能力,筆者在CAN總線網與以太網的互連系統中設計了一個嵌入式WEB服務器。
1 嵌入式WEB服務器硬件設計
??? 通常嵌入式系統硬件包括微控制器" title="微控制器">微控制器、存儲器及外設器件和I/O端口等,其核心是嵌入式微控制器。為適應上網需求,嵌入式微控制器不僅要具有傳統的控制功能,還要具有與因特網連接的功能。而Ubicom公司的SX52芯片能比較容易實現TCP/IP" title="TCP/IP">TCP/IP協議,選擇它作為微控制器。關于傳輸媒質,采用最常用的連接模式即通過以太網連接Internet,利用網絡接口控制器RTL8019AS實現數據鏈路層協議。RTL8019AS采用臺灣Realtek公司生產的RTL8019AS芯片。
??? 嵌入式WEB服務器硬件結構框圖如圖1所示。

?


??? 嵌入式WEB服務器用SX52微控制器作為處理器,以太網驅動芯片RTL8019AS經耦合隔離濾波器HR61101G和RJ45接口接入以太網,配有RS232和CAN總線兩個擴展接口,可以將具有RS232接口的設備或采用CAN總線協議通信的設備連到以太網上。RS232接口采用MAX232CPE芯片,CAN總線控制器采用Philips公司的SJA1000芯片,CAN收發器采用Philips公司的PCA82C250。
??? 數據的流向為:請求和控制信息從局域網中來,通過RJ45送到RTL8019AS,RTL8019AS負責將以太網幀的首部和尾部信息剝離,將處理后的數據包送入SX52的TCP/IP協議棧" title="協議棧">協議棧,由協議棧對數據包進行解析,得到原始的請求和控制信息。請求和控制信息再經過SJA1000進行CAN協議格式的數據封裝,再與現場的CAN總線設備進行通信。請求和控制的回復信息到局域網的過程正好相反。
??? 在嵌入式WEB服務器的硬件設計中,在確保通信功能順利實現的同時,充分利用了SX52芯片I/O口靈活配置的特點,最大程度地節約了微控制器SX52的硬件資源。
??? 圖2為WEB服務器主要芯片連接電路簡圖,結合本圖詳細分析系統硬件設計。

?


1.1 RTL8019AS驅動程序實現
??? RTL8019AS是臺灣Realtek公司制造的一種高集成度的全雙工10Mbps以太網控制芯片,實現了基于Ethernet協議的MAC層的全部功能,內置16KB的SRAM、雙DMA通道和FIFO完成數據包的接收和發送功能。在網關設計中,使用跳線模式(JP置為高)來硬配置RTL8019AS為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口作為數據線連接RTL8019AS的低8位數據線;A口保留,用作日后擴展。設計中采用AT24C64這樣一個8KB的 EEPROM來保存WEB服務器的配置信息,如網關IP地址、MAC地址和SJA1000的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" title="B/S">B/S)模式已經成為流行的開發模式,課題中的嵌入式WEB服務器要實現的功能主要是現場實時數據發布功能。 B/S訪問模式是WEB Server和Browser之間的直接訪問。客戶和服務器間的中間節點不對HTTP請求及響應做任何操作,只需在客戶端" title="客戶端">客戶端采用如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內容采用原始數據的形式存儲,沒有進行封裝和編碼。文本內容以ASCII碼形式存儲,圖像內容以二進制數據形式存儲。
參考文獻
1 王衛兵. 計算機網絡接口技術. 北京:機械工業出版社,1995第一版
2 李 明.嵌入式互聯網絡接口的設計與開發.工業控制計算機,2002;15(8):P41
3 Radia Perlman著, 高傳善譯. 網絡互連:網橋、路由器、交換機和互連協議.北京:機械工業出版社,2001
4 William Stalling著, 王 海, 張 娟譯. 數據與計算機通信.北京:電子工業出版社,2000.第六版

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 日本高清二区 | 欧美性极品hd高清视频 | 夜夜爽一区二区三区精品 | 免费看涩涩视频网站入口 | 免费黄色一级大片 | 欧美在线一区二区三区 | 午夜精品久久久久 | 欧美国产黄色 | 亚洲欧美一区二区三区久本道 | 福利社看片 | 国产精品va在线观看手机版 | 欧美视频免费在线 | 日本精品高清一区二区不卡 | 91视频最新地址 | 黄色私人影院 | 在线资源天堂 | 在线看片成人免费视频 | 免费乱理伦片在线观看八戒 | 成人日韩在线观看 | 日韩激情视频在线 | 国产精品毛片无码 | 深夜男人天堂 | 免费大黄网站在线看 | 韩国伦理中文字幕 | 欧洲成人r片在线观看 | 欧美视频 亚洲视频 | 国产90后美女露脸在线观看 | 婷综合| 五月天综合激情网 | 天堂免费在线视频 | 成人午夜视频免费看欧美 | 91桃色污无限免费看 | 顶级毛片在线手机免费看 | 波多野结衣视频免费 | 男女视频在线 | 国产成人区 | 亚洲国产第一区二区香蕉日日 | 国产日本欧美高清免费区 | h黄漫画免费网站 | 九九九热在线精品免费全部 | 欧美性另类69xxxx |