国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ARM嵌入式Web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)

2012-08-08 00:51
關(guān)鍵詞:字節(jié)以太網(wǎng)嵌入式

王 亞

(江蘇財(cái)經(jīng)職業(yè)技術(shù)學(xué)院,江蘇 淮安 223003)

隨著嵌入式技術(shù)的快速發(fā)展,嵌入式系統(tǒng)的應(yīng)用越來越廣泛。嵌入式Web服務(wù)器EWS(Embedded Web Server)是指將Web服務(wù)器引入到現(xiàn)場測(cè)試和控制設(shè)備中,在相應(yīng)的硬件平臺(tái)和軟件系統(tǒng)的支持下,使傳統(tǒng)的測(cè)試和控制設(shè)備轉(zhuǎn)變?yōu)榫邆淞艘訲CP/IP為底層通信協(xié)議、Web技術(shù)為核心的基于互聯(lián)網(wǎng)的網(wǎng)絡(luò)測(cè)試和控制設(shè)備。嵌入式Web服務(wù)器簡化了傳統(tǒng)服務(wù)器的系統(tǒng)結(jié)構(gòu),它在嵌入式設(shè)備上同時(shí)實(shí)現(xiàn)信息傳輸和網(wǎng)絡(luò)接口的功能。嵌入式Web服務(wù)器基于HTTP協(xié)議運(yùn)作,有標(biāo)準(zhǔn)的接口形式和通信協(xié)議。它可以向任何接入它所在網(wǎng)絡(luò)的合法用戶提供統(tǒng)一的基于瀏覽器方式的操作和控制界面。Web技術(shù)的開放性和平臺(tái)獨(dú)立特性能夠降低開發(fā)難度,減少軟件系統(tǒng)和通信系統(tǒng)的設(shè)計(jì)維護(hù)工作量,提高了現(xiàn)場測(cè)試和控制設(shè)備的管理水平。

1 嵌入式Web服務(wù)器的主要特點(diǎn)

在工業(yè)設(shè)備上嵌入Web服務(wù)器,使得設(shè)備能與現(xiàn)今最大的網(wǎng)絡(luò)Internet無縫連接,無需專用的線路。通信介質(zhì)是以太網(wǎng)為基礎(chǔ),能有最大的普及范圍;傳輸內(nèi)容不僅限于數(shù)據(jù),還有圖像、聲音等多媒體信息;通信協(xié)議(HTTP)是標(biāo)準(zhǔn)的而且是公開的,其獨(dú)立于系統(tǒng)平臺(tái);所使用的超文本標(biāo)記語言(HTML)具有統(tǒng)一性,標(biāo)準(zhǔn)化界面獨(dú)立于客戶端的軟件硬件平臺(tái),極大地節(jié)省了客戶端的開發(fā)工作;所使用的Web架構(gòu)具有開放性和平臺(tái)獨(dú)立性,能夠大大降低系統(tǒng)的設(shè)計(jì)工作量。同時(shí),還能提供大量工具和函數(shù)庫減少開發(fā)的工作量。在客戶端使用任意與Internet互連的標(biāo)準(zhǔn)PC(標(biāo)準(zhǔn)瀏覽器)就可以實(shí)現(xiàn)隨時(shí)隨地訪問。嵌入式Web服務(wù)器具有通用性,這使得它能夠嵌入到任何設(shè)備中。通過應(yīng)用程序接口,服務(wù)器可以運(yùn)行程序去實(shí)現(xiàn)高級(jí)功能,這是普通的監(jiān)控方式不能相比的。它具有可擴(kuò)展的特性,通過應(yīng)用程序接口實(shí)現(xiàn)各種具體的應(yīng)用。此外,它還具備升級(jí)簡單、維護(hù)容易等優(yōu)點(diǎn)。

2 嵌入式Web服務(wù)器的應(yīng)用

嵌入式Web服務(wù)器是應(yīng)用在嵌入式系統(tǒng)上的Web服務(wù)器機(jī)構(gòu)。目前的主要應(yīng)用是設(shè)備管理和企業(yè)應(yīng)用程序網(wǎng)絡(luò)擴(kuò)展。嵌入式Web服務(wù)器作為一個(gè)后臺(tái)程序直接在嵌入式設(shè)備上運(yùn)行,用戶通過網(wǎng)絡(luò)對(duì)設(shè)備進(jìn)行配置、控制和監(jiān)測(cè),保證設(shè)備有效、高效地運(yùn)作。Web接口使得用戶可以在任何一臺(tái)有互聯(lián)網(wǎng)接入能力的帶有Web瀏覽器的設(shè)備訪問到該嵌入式設(shè)備。Web服務(wù)器提供應(yīng)用程序接口可以擴(kuò)展Web的應(yīng)用。這種設(shè)備管理方式不僅起到監(jiān)測(cè)和控制的功能,而且根據(jù)設(shè)備的特點(diǎn)可以更加人性化和智能化。它使對(duì)遠(yuǎn)程設(shè)備的操作從監(jiān)控變?yōu)楣芾怼A硗庖粋€(gè)應(yīng)用是企業(yè)應(yīng)用程序網(wǎng)絡(luò)擴(kuò)展。Web服務(wù)已成為支撐現(xiàn)代應(yīng)用程序的技術(shù)和系統(tǒng)的核心組件,現(xiàn)今約87%的企業(yè)用戶都希望為他們的程序添加上基于Web的用戶接口。嵌入式Web服務(wù)器很好地提供了Internet網(wǎng)絡(luò)的接口,將應(yīng)用程序和Web接口結(jié)合起來,是應(yīng)用程序網(wǎng)絡(luò)擴(kuò)展良好的解決方案。

3 嵌入式WEB服務(wù)器的構(gòu)造

3.1 硬件系統(tǒng)組成

本文設(shè)計(jì)的嵌入式Web服務(wù)器采用低價(jià)格、高性能的基于ARM7的LPC2210微控制器為主控芯片,通過SPI接口控制以太網(wǎng)控制器芯片ENC28J60實(shí)現(xiàn)TCP/IP通信。采用基于μC/OS-Ⅱ操作系統(tǒng)的軟件設(shè)計(jì),以提高整個(gè)設(shè)計(jì)的穩(wěn)定性與擴(kuò)展能力。圖1為嵌入式Web服務(wù)器的硬件系統(tǒng)組成。

圖1 嵌入式Web服務(wù)器的硬件系統(tǒng)組成

3.2 最小系統(tǒng)

主控芯片采用LPC2210,內(nèi)部僅有16 KB的RAM,沒有片內(nèi)Flash。由于μC/OS-Ⅱ和TCP/IP協(xié)議的移植,同時(shí)要進(jìn)行簡單的網(wǎng)頁存儲(chǔ),因此在LPC2210外分別開展了512 KB的SDRAM以及2 MB的Flash。LPC2210含有SPI接口,滿足操作以太網(wǎng)控制器ENC28J60的要求。同時(shí),LPC2210含有 SCI、I2C等外部資源,方便系統(tǒng)功能擴(kuò)展。由于LPC2210工作在+3.3 V,但是其內(nèi)核的工作電壓是+1.8 V,因此設(shè)計(jì)電源時(shí)要考慮+3.3 V供電以及+1.8 V供電。此外,本設(shè)計(jì)中還使用了帶“看門狗”的專用復(fù)位芯片以提高系統(tǒng)抗干擾能力。

3.3 TCP/IP通信模塊

本文采用Microchip公司推出的SPI接口的以太網(wǎng)控制器ENC28J60,其最大通信速率為10 Mb/s。ENC28J60引腳簡單,通過SPI接口和LPC2210相連接,網(wǎng)絡(luò)的4個(gè)引腳通過網(wǎng)絡(luò)變壓器后連接到RJ45接口,2個(gè)中斷引腳接單片機(jī)的外部中斷或者連接到通用I/O口,2個(gè)指示燈引腳外接發(fā)光管連接到地或者電源,其余引腳是電源和地,簡化了硬件設(shè)計(jì)難度。圖2為ENC28J60接口電路。網(wǎng)口插座采用內(nèi)置網(wǎng)絡(luò)變壓器、狀態(tài)顯示燈和電阻網(wǎng)絡(luò)的RJ45接座HR911105A,具有信號(hào)耦合、電氣隔離、阻抗匹配和抑制干擾等優(yōu)點(diǎn)。

4 TCP/IP通信協(xié)議的實(shí)現(xiàn)

4.1 ENC28J60硬件驅(qū)動(dòng)設(shè)計(jì)

ENC28J60所執(zhí)行的操作完全依據(jù)外部主控制器通過SPI接口發(fā)出的命令,這些命令為一個(gè)或多個(gè)字節(jié)的指令,用于訪問控制存儲(chǔ)器和以太網(wǎng)緩沖區(qū)。指令至少包含一個(gè)3 bit操作碼和一個(gè)用于指定寄存器地址或數(shù)據(jù)常量的5 bit參數(shù),指令后還會(huì)有一個(gè)或多個(gè)字節(jié)的數(shù)據(jù)。ENC28J60共有7條指令,表1顯示了所有操作的命令代碼。通過SPI接口對(duì)ENC28J60相應(yīng)寄存器進(jìn)行讀寫操作即可完成ENC28J60硬件驅(qū)動(dòng)設(shè)計(jì)。

圖2 ENC28J60接口電路

表1 ENC28J60的SPI指令集

4.2 使用MCHPStack實(shí)現(xiàn)TCP/IP通信

由于本設(shè)計(jì)選擇用Microchip公司的以太網(wǎng)控制芯片ENC28J60實(shí)現(xiàn)TCP/IP通信,因此同時(shí)選擇該公司提供的協(xié)議棧MCHPStack作為參考。MCHPStack是Microchip公司為其生產(chǎn)的微處理器進(jìn)行以太網(wǎng)應(yīng)用而開發(fā)的一個(gè)協(xié)議棧,整個(gè)框架結(jié)構(gòu)清晰地體現(xiàn)出了OSI參考模型的分層思想。通過該協(xié)議棧所提供的一個(gè)狀態(tài)機(jī)函數(shù),可以方便地實(shí)現(xiàn) ARP、IP、ICMP、UDP以及 TCP通信。TCP作為運(yùn)輸層協(xié)議,是應(yīng)用層協(xié)議HTTP的基礎(chǔ),要實(shí)現(xiàn)HTTP協(xié)議只需要在TCP基礎(chǔ)上進(jìn)行應(yīng)用程序設(shè)計(jì)即可完成。

在移植協(xié)議棧的過程中需要注意數(shù)據(jù)的大小端格式以及結(jié)構(gòu)體字節(jié)對(duì)齊兩點(diǎn)。TCP/IP各層協(xié)議所使用的字節(jié)序均為big-endian字節(jié)順序,而LPC2210為littleendian字節(jié)順序。本文使用的編譯環(huán)境ADS支持4字節(jié)結(jié)構(gòu)體對(duì)齊,而協(xié)議棧中結(jié)構(gòu)體是單字節(jié)對(duì)齊的。因此,LPC2210在對(duì)以太網(wǎng)控制器進(jìn)行數(shù)據(jù)讀寫時(shí),既要進(jìn)行字節(jié)順序轉(zhuǎn)換,又要使用#Pragma_packed定義結(jié)構(gòu)體按單字節(jié)對(duì)齊,否則無法正確地進(jìn)行數(shù)據(jù)報(bào)的解析,以致無法正確實(shí)現(xiàn)TCP/IP通信。

5 嵌入式Web服務(wù)器應(yīng)用程序的實(shí)現(xiàn)

Brower/Server(B/S)模式已經(jīng)成為流行的開發(fā)模式,課題中的嵌入式Web服務(wù)器要實(shí)現(xiàn)的功能主要是現(xiàn)場實(shí)時(shí)數(shù)據(jù)發(fā)布功能。B/S訪問模式是Web Server和Browser之間的直接訪問??蛻艉头?wù)器間的中間節(jié)點(diǎn)不對(duì)HTTP請(qǐng)求及響應(yīng)做任何操作,只需在客戶端采用如IE這樣的瀏覽器對(duì)服務(wù)器上的數(shù)據(jù)進(jìn)行瀏覽,不用開發(fā)客戶端程序。采用B/S結(jié)構(gòu)具有如下優(yōu)勢(shì):

(1)具有分布性特點(diǎn),可以隨時(shí)隨地進(jìn)行業(yè)務(wù)處理;

(2)系統(tǒng)維護(hù)或升級(jí)只在服務(wù)器端,無需對(duì)客戶端進(jìn)行改動(dòng),只需要改變服務(wù)器端網(wǎng)頁,即可實(shí)現(xiàn)所有用戶的同步更新,易于維護(hù)和升級(jí);

(3)開發(fā)簡單,共享性強(qiáng)。

B/S訪問模式只需對(duì)服務(wù)器端程序進(jìn)行開發(fā)。在服務(wù)器端形成動(dòng)態(tài)網(wǎng)頁最常用的工具有ASP和JSP。由于采用的嵌入式芯片SX52只有4 KB存儲(chǔ)容量,在SX52中既實(shí)現(xiàn)TCP/IP協(xié)議棧,又實(shí)現(xiàn)ASP和JSP的功能是很困難的。所以可以采用字節(jié)傳輸方式針對(duì)SX52用匯編語言編程實(shí)現(xiàn)動(dòng)態(tài)網(wǎng)頁。

Java applet能夠被傳送到瀏覽器并且在瀏覽器所在的本地機(jī)上運(yùn)行。本設(shè)計(jì)正是利用這一特性改進(jìn)了傳統(tǒng)的B/S模式設(shè)計(jì)出的應(yīng)用程序,Java applet對(duì)于管理和處理動(dòng)態(tài)數(shù)據(jù)也是一種行之有效的技術(shù)。Java applet能實(shí)時(shí)表示從輪詢得到的更新信息,利用這個(gè)特性顯示實(shí)時(shí)數(shù)據(jù)。所以程序客戶端采用Java applet設(shè)計(jì)實(shí)現(xiàn)。

嵌入式Web服務(wù)器接入以太網(wǎng)時(shí),在程序中設(shè)置了自身的IP地址和MAC地址,可以與局域網(wǎng)上任一臺(tái)微機(jī)通信。服務(wù)器端主要實(shí)現(xiàn)兩部分功能:利用HTTP協(xié)議實(shí)現(xiàn)網(wǎng)頁瀏覽功能和利用套接字編程實(shí)現(xiàn)與客戶端applet通信的功能。服務(wù)器程序用SX52的匯編語言實(shí)現(xiàn)。

在Web服務(wù)器中實(shí)現(xiàn)HTTP協(xié)議才能實(shí)現(xiàn)網(wǎng)頁文件的瀏覽。方案將Web服務(wù)器上擴(kuò)展的EEPROM與SX52相連,用來存儲(chǔ)要瀏覽的Web文件,EEPROM里的Web內(nèi)容采用原始數(shù)據(jù)的形式存儲(chǔ),沒有進(jìn)行封裝和編碼。文本內(nèi)容以ASCⅡ碼形式存儲(chǔ),圖像內(nèi)容以二進(jìn)制數(shù)據(jù)形式存儲(chǔ)。

嵌入式Web服務(wù)器是嵌入式技術(shù)與網(wǎng)絡(luò)通信技術(shù)相結(jié)合的產(chǎn)物。隨著嵌入式技術(shù)以及網(wǎng)絡(luò)通信技術(shù)的發(fā)展,嵌入式Web服務(wù)器具有廣闊的應(yīng)用前景。本文提出了簡化的嵌入式Web服務(wù)器的實(shí)現(xiàn)方案,采用高性能的ARM微處理器,通過SPI接口控制以太網(wǎng)控制器芯片ENC28J60,并移植了源代碼完全公開的 μC/OS-Ⅱ操作系統(tǒng)以及TCP/IP協(xié)議棧,不僅成本低廉、設(shè)計(jì)簡單,而且運(yùn)行穩(wěn)定,將其應(yīng)用在遠(yuǎn)程監(jiān)控等場合取得了理想的效果。

[1]徐春艷.嵌入式WEB服務(wù)器的研究與實(shí)現(xiàn)[D].南京:南京理工大學(xué),2008.

[2]李志平,劉大茂.基于ARM7處理器LPC2210的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].福建電腦,2006,10:135-136.

[3]于浩洋,邵國平,秦杰.基于 ENC28J60以太網(wǎng)控制器的SPI接口設(shè)計(jì)[J].黑龍江工程學(xué)院學(xué)報(bào)(自然科學(xué)版),2009,6.

[4]謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)(第 5版)[M].北京:電子工業(yè)出版社,2008.

[5]孟慶洪,侯寶穩(wěn).ARM嵌入式系統(tǒng)開發(fā)與編程 [M].北京:清華大學(xué)出版社,2011.

猜你喜歡
字節(jié)以太網(wǎng)嵌入式
No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
Focal&Naim同框發(fā)布1000系列嵌入式揚(yáng)聲器及全新Uniti Atmos流媒體一體機(jī)
基于1500以太網(wǎng)養(yǎng)豬場的智能飼喂控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
No.10 “字節(jié)跳動(dòng)手機(jī)”要來了?
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
搭建基于Qt的嵌入式開發(fā)平臺(tái)
簡談MC7字節(jié)碼
談實(shí)時(shí)以太網(wǎng)EtherCAT技術(shù)在變電站自動(dòng)化中的應(yīng)用
淺談EPON與工業(yè)以太網(wǎng)在貴遵高速公路中的應(yīng)用
萬兆以太網(wǎng)在連徐高速公路通信系統(tǒng)改造中的應(yīng)用