《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM嵌入式Web服務器的設計與實現
基于ARM嵌入式Web服務器的設計與實現
來源:微型機與應用2012年第19期
王 亞
(江蘇財經職業技術學院,江蘇 淮安 223003)
摘要: 分析了基于ARM的嵌入式Web服務器,介紹了其設計和實現的主要技術,并且通過模擬應用來驗證設計的可用性。
Abstract:
Key words :

摘  要: 分析了基于ARM的嵌入式Web服務器,介紹了其設計和實現的主要技術,并且通過模擬應用來驗證設計的可用性。
關鍵詞: 嵌入式系統;ARM;Web服務器

 隨著嵌入式技術的快速發展,嵌入式系統的應用越來越廣泛。嵌入式Web服務器EWS(Embedded Web Server)是指將Web服務器引入到現場測試和控制設備中,在相應的硬件平臺和軟件系統的支持下,使傳統的測試和控制設備轉變為具備了以TCP/IP為底層通信協議、Web技術為核心的基于互聯網的網絡測試和控制設備。嵌入式Web服務器簡化了傳統服務器的系統結構,它在嵌入式設備上同時實現信息傳輸和網絡接口的功能。嵌入式Web服務器基于HTTP協議運作,有標準的接口形式和通信協議。它可以向任何接入它所在網絡的合法用戶提供統一的基于瀏覽器方式的操作和控制界面。Web技術的開放性和平臺獨立特性能夠降低開發難度,減少軟件系統和通信系統的設計維護工作量,提高了現場測試和控制設備的管理水平。
1 嵌入式Web服務器的主要特點
 在工業設備上嵌入Web服務器,使得設備能與現今最大的網絡Internet無縫連接,無需專用的線路。通信介質是以太網為基礎,能有最大的普及范圍;傳輸內容不僅限于數據,還有圖像、聲音等多媒體信息;通信協議(HTTP)是標準的而且是公開的,其獨立于系統平臺;所使用的超文本標記語言(HTML)具有統一性,標準化界面獨立于客戶端的軟件硬件平臺,極大地節省了客戶端的開發工作;所使用的Web架構具有開放性和平臺獨立性,能夠大大降低系統的設計工作量。同時,還能提供大量工具和函數庫減少開發的工作量。在客戶端使用任意與Internet互連的標準PC(標準瀏覽器)就可以實現隨時隨地訪問。嵌入式Web服務器具有通用性,這使得它能夠嵌入到任何設備中。通過應用程序接口,服務器可以運行程序去實現高級功能,這是普通的監控方式不能相比的。它具有可擴展的特性,通過應用程序接口實現各種具體的應用。此外,它還具備升級簡單、維護容易等優點。
2 嵌入式Web服務器的應用
 嵌入式Web服務器是應用在嵌入式系統上的Web服務器機構。目前的主要應用是設備管理和企業應用程序網絡擴展。嵌入式Web服務器作為一個后臺程序直接在嵌入式設備上運行,用戶通過網絡對設備進行配置、控制和監測,保證設備有效、高效地運作。Web接口使得用戶可以在任何一臺有互聯網接入能力的帶有Web瀏覽器的設備訪問到該嵌入式設備。Web服務器提供應用程序接口可以擴展Web的應用。這種設備管理方式不僅起到監測和控制的功能,而且根據設備的特點可以更加人性化和智能化。它使對遠程設備的操作從監控變為管理。另外一個應用是企業應用程序網絡擴展。Web服務已成為支撐現代應用程序的技術和系統的核心組件,現今約87%的企業用戶都希望為他們的程序添加上基于Web的用戶接口。嵌入式Web服務器很好地提供了Internet網絡的接口,將應用程序和Web接口結合起來,是應用程序網絡擴展良好的解決方案。
3 嵌入式WEB服務器的構造
3.1 硬件系統組成

 本文設計的嵌入式Web服務器采用低價格、高性能的基于ARM7的LPC2210微控制器為主控芯片,通過SPI接口控制以太網控制器芯片ENC28J60實現TCP/IP通信。采用基于μC/OS-Ⅱ操作系統的軟件設計,以提高整個設計的穩定性與擴展能力。圖1為嵌入式Web服務器的硬件系統組成。

3.2 最小系統
 主控芯片采用LPC2210,內部僅有16 KB的RAM,沒有片內Flash。由于μC/OS-Ⅱ和TCP/IP協議的移植,同時要進行簡單的網頁存儲,因此在LPC2210外分別開展了512 KB的SDRAM以及2 MB的Flash。LPC2210含有SPI接口,滿足操作以太網控制器ENC28J60的要求。同時,LPC2210含有SCI、I2C等外部資源,方便系統功能擴展。由于LPC2210工作在+3.3 V,但是其內核的工作電壓是+1.8 V,因此設計電源時要考慮+3.3 V供電以及+1.8 V供電。此外,本設計中還使用了帶“看門狗”的專用復位芯片以提高系統抗干擾能力。
3.3 TCP/IP通信模塊
 本文采用Microchip公司推出的SPI接口的以太網控制器ENC28J60,其最大通信速率為10 Mb/s。ENC28J60引腳簡單,通過SPI接口和LPC2210相連接,網絡的4個引腳通過網絡變壓器后連接到RJ45接口,2個中斷引腳接單片機的外部中斷或者連接到通用I/O口,2個指示燈引腳外接發光管連接到地或者電源,其余引腳是電源和地,簡化了硬件設計難度。圖2為ENC28J60接口電路。網口插座采用內置網絡變壓器、狀態顯示燈和電阻網絡的RJ45接座HR911105A,具有信號耦合、電氣隔離、阻抗匹配和抑制干擾等優點。

4 TCP/IP通信協議的實現
4.1 ENC28J60硬件驅動設計

 ENC28J60所執行的操作完全依據外部主控制器通過SPI接口發出的命令,這些命令為一個或多個字節的指令,用于訪問控制存儲器和以太網緩沖區。指令至少包含一個3 bit操作碼和一個用于指定寄存器地址或數據常量的5 bit參數,指令后還會有一個或多個字節的數據。ENC28J60共有7條指令,表1顯示了所有操作的命令代碼。通過SPI接口對ENC28J60相應寄存器進行讀寫操作即可完成ENC28J60硬件驅動設計。

4.2 使用MCHPStack實現TCP/IP通信

 


 由于本設計選擇用Microchip公司的以太網控制芯片ENC28J60實現TCP/IP通信,因此同時選擇該公司提供的協議棧MCHPStack作為參考。MCHPStack是Microchip公司為其生產的微處理器進行以太網應用而開發的一個協議棧,整個框架結構清晰地體現出了OSI參考模型的分層思想。通過該協議棧所提供的一個狀態機函數,可以方便地實現ARP、IP、ICMP、UDP以及TCP通信。TCP作為運輸層協議,是應用層協議HTTP的基礎,要實現HTTP協議只需要在TCP基礎上進行應用程序設計即可完成。
 在移植協議棧的過程中需要注意數據的大小端格式以及結構體字節對齊兩點。TCP/IP各層協議所使用的字節序均為big-endian字節順序,而LPC2210為little-endian字節順序。本文使用的編譯環境ADS支持4字節結構體對齊,而協議棧中結構體是單字節對齊的。因此,LPC2210在對以太網控制器進行數據讀寫時,既要進行字節順序轉換,又要使用#Pragma_packed定義結構體按單字節對齊,否則無法正確地進行數據報的解析,以致無法正確實現TCP/IP通信。
5 嵌入式Web服務器應用程序的實現
 Brower/Server(B/S)模式已經成為流行的開發模式,課題中的嵌入式Web服務器要實現的功能主要是現場實時數據發布功能。B/S訪問模式是Web Server和Browser之間的直接訪問。客戶和服務器間的中間節點不對HTTP請求及響應做任何操作,只需在客戶端采用如IE這樣的瀏覽器對服務器上的數據進行瀏覽,不用開發客戶端程序。采用B/S結構具有如下優勢:
 (1)具有分布性特點,可以隨時隨地進行業務處理;
 (2)系統維護或升級只在服務器端,無需對客戶端進行改動,只需要改變服務器端網頁,即可實現所有用戶的同步更新,易于維護和升級;
 (3)開發簡單,共享性強。
 B/S訪問模式只需對服務器端程序進行開發。在服務器端形成動態網頁最常用的工具有ASP和JSP。由于采用的嵌入式芯片SX52只有4 KB存儲容量,在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內容采用原始數據的形式存儲,沒有進行封裝和編碼。文本內容以ASCⅡ碼形式存儲,圖像內容以二進制數據形式存儲。
 嵌入式Web服務器是嵌入式技術與網絡通信技術相結合的產物。隨著嵌入式技術以及網絡通信技術的發展,嵌入式Web服務器具有廣闊的應用前景。本文提出了簡化的嵌入式Web服務器的實現方案,采用高性能的ARM微處理器,通過SPI接口控制以太網控制器芯片ENC28J60,并移植了源代碼完全公開的μC/OS-Ⅱ操作系統以及TCP/IP協議棧,不僅成本低廉、設計簡單,而且運行穩定,將其應用在遠程監控等場合取得了理想的效果。
參考文獻
[1] 徐春艷.嵌入式WEB服務器的研究與實現[D].南京:南京理工大學,2008.
[2] 李志平,劉大茂.基于ARM7處理器LPC2210的數據采集系統設計[J].福建電腦,2006,10:135-136.
[3] 于浩洋,邵國平,秦杰.基于ENC28J60以太網控制器的SPI接口設計[J].黑龍江工程學院學報(自然科學版),2009,6.
[4] 謝希仁.計算機網絡(第5版)[M].北京:電子工業出版社,2008.
[5] 孟慶洪,侯寶穩.ARM嵌入式系統開發與編程[M].北京:清華大學出版社,2011.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产午夜精品久久久久 | 91视频站 | 亚洲系列第一页 | 日本精品一区二区 | 黄色成人一级片 | a级精品九九九大片免费看 a级精品国产片在线观看 | 日日夜夜网站 | 日韩一区二区三区四区五区 | 99精品国产成人一区二区在线 | 99热在线观看精品 | 日本成片免费高清 | 国产日日干 | 欧美日韩国产手机在线观看视频 | 一级一级特黄女人精品毛片视频 | 国产94在线传媒麻豆免费观看 | 日韩成人一级 | 性欧美高清精品video | 欧美成人免费观看国产 | 亚洲欧美色视频 | 亚洲第一视频在线播放 | 亚洲欧美日韩中文v在线 | 成人区在线观看免费视频 | 波多野结衣与公中出中文字幕 | 欧美日韩在线免费看 | 欧美一级片在线播放 | 国产精久久一区二区三区 | 亚洲一区在线观看视频 | 中文一区在线观看 | 亚洲影院在线 | 人人搞人人干 | 亚洲日本中文字幕区 | 亚洲日本欧美在线 | 人人干美女| 99国内视频| 免费网站在线观看国产v片 免费网站看v片在线成人国产系列 | 国产成人a大片大片在线播放 | 久久亚洲欧美成人精品 | 丝袜美女在线播放 | 一区二区免费视频观看 | 亚洲欧美日韩综合网导航 | 国产成人一区在线播放 |