音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

分析通用嵌入式Web服務(wù)器模塊的設(shè)計(jì)及實(shí)現(xiàn)

出處:石家莊鐵道學(xué)院學(xué)報(bào) 發(fā)布于:2011-09-04 11:49:03

    1 引言

    經(jīng)過多年的發(fā)展,互聯(lián)網(wǎng)技術(shù)已經(jīng)在普及。嵌入式產(chǎn)品設(shè)計(jì)師也已經(jīng)把嵌入式設(shè)計(jì)普遍用于專用的、非PC的設(shè)備中。嵌入式系統(tǒng)與Internet技術(shù)相互結(jié)合產(chǎn)生了嵌入式Internet技術(shù)。嵌入式Intemet技術(shù)已成為當(dāng)今嵌入式系統(tǒng)發(fā)展的熱點(diǎn)之一,它的許多方案都在不斷地被提出和驗(yàn)證著。嵌入式Internet技術(shù)具有廣闊的應(yīng)用前景,它的應(yīng)用領(lǐng)域主要包括智能公路、信息家電、工業(yè)自動(dòng)化、電子商務(wù)和設(shè)備管理等。嵌入式WEB服務(wù)器的主要設(shè)計(jì)思想就是將嵌入式系統(tǒng)和WEB技術(shù)結(jié)合起來,將WEB技術(shù)引入到現(xiàn)場(chǎng)測(cè)量和控制設(shè)備中,從而實(shí)現(xiàn)基于嵌入式WEB服務(wù)器的控制系統(tǒng)。用戶可以通過現(xiàn)有的公共通信網(wǎng)絡(luò),使用標(biāo)準(zhǔn)的WEB瀏覽器作為接口直接對(duì)現(xiàn)場(chǎng)的控制設(shè)備進(jìn)行訪問,監(jiān)控和維護(hù)等操作,實(shí)現(xiàn)了異構(gòu)設(shè)備之間的跨平臺(tái)互訪。

    2 系統(tǒng)結(jié)構(gòu)與工作原理

    系統(tǒng)采用當(dāng)前流行的B/S結(jié)構(gòu),這種結(jié)構(gòu)是隨著Internet技術(shù)的發(fā)展,對(duì)傳統(tǒng)C/S結(jié)構(gòu)的擴(kuò)展和改造。實(shí)質(zhì)上B/S結(jié)構(gòu)是一種特殊的C/S結(jié)構(gòu),所不同的是,在B/S結(jié)構(gòu)中,系統(tǒng)主要功能都在服務(wù)器端實(shí)現(xiàn),瀏覽器是客戶端,提供用戶接口,將用戶的請(qǐng)求傳遞到服務(wù)器,并將服務(wù)器的響應(yīng)展現(xiàn)給用戶。系統(tǒng)結(jié)構(gòu)如所示。


600)makesmallpic(this,600,1800);" align=center border=0>

    分析嵌入式系統(tǒng)的具體情況,發(fā)現(xiàn)對(duì)于一般的嵌入式系統(tǒng),基本的功能需求大體上分為兩大類,可以用兩個(gè)字來概括“監(jiān)控”。

    (1)嵌入式服務(wù)器端包含———“監(jiān)”功能的實(shí)現(xiàn)。對(duì)于上行的數(shù)據(jù)流,通過嵌入式服務(wù)器端包含技術(shù)(ESSI)來實(shí)現(xiàn)。本系統(tǒng)中,自定義了一條ESSI指令“DATA”,用來實(shí)現(xiàn)動(dòng)態(tài)信息的實(shí)時(shí)顯示,該指令的語法如下: < DATA var = state func = Get-State></DATA>,該指令與標(biāo)準(zhǔn)的HTML標(biāo)記兼容,其屬性有兩個(gè),分別為var和func, var表示設(shè)備的狀態(tài)名稱,一個(gè)設(shè)備可以定義多個(gè)狀態(tài)名; func管理接口函數(shù),用來獲得相應(yīng)設(shè)備的狀態(tài)信息,原型為uint8* func( )。

    (2)嵌入式通用網(wǎng)關(guān)接口———“控”功能的實(shí)現(xiàn)。對(duì)于下行的控制流,通過嵌入式通用網(wǎng)關(guān)接口(ECGI)來實(shí)現(xiàn),如所示。在需要向嵌入式設(shè)備下達(dá)控制命令的情況下,借助表單的POST方法向服務(wù)器傳遞數(shù)據(jù),表單的語法格式如下:

600)makesmallpic(this,600,1800);" border=0>

FORM =“<form”SPATTRIBUTES“>”<a setof stand-ardHTML elements>“</form>”
ATTRIBUTES =* (ATTRIBUTE SP)ATTRIBUTE =ATTRIBUTENAME“=”TOKEN
ATTRIBUTENAME = name |methodTOKEN = 1* <anyCHAR exceptCTLs or separators>
SP = <US-ASCII SP, space (32)>

CHAR =<anyUS-ASCII character (octets 0 - 127)>
CTL = <anyUS-ASCII control character(octets 0 - 31) and DEL (127)>

    表單的name屬性指定了管理接口函數(shù)名,此函數(shù)用來處理表單數(shù)據(jù),原型為void TestForm(uint8*
content), content是瀏覽器傳送過來的參數(shù);表單的另一個(gè)屬性method指定了瀏覽器向服務(wù)器傳送數(shù)據(jù)的方式。例如:

<form name=“TestForm”method=“POST”>
<p>TestEmbedded Common Gateway Interface </p>
<p><input type=“text”name=“var1”></p>
<p><input type=“text”name=“var2”></p>
<p><input type=“text”name=“var3”></p>
<p><input type=“submit”
name=“Go”value=“OK”></p>
</form>

    包含有上述表單的HTML文件傳送到瀏覽器之后,網(wǎng)頁上出現(xiàn)三個(gè)編輯框和一個(gè)submit按鈕,用戶在編輯框中輸入?yún)?shù),點(diǎn)擊submit按鈕后,瀏覽器向Web服務(wù)器傳送以下內(nèi)容:

var1=value1&var2=value2&var3=value3&Go=OK

   3 硬件系統(tǒng)設(shè)計(jì)

    3.1 硬件原理框圖

    系統(tǒng)的硬件原理框圖如所示,嵌入式處理器LPC2292處于中心位置,設(shè)備的狀態(tài)數(shù)據(jù)經(jīng)過處理器打包后,經(jīng)由RTL8019AS發(fā)布到網(wǎng)絡(luò)上,用戶的控制命令經(jīng)過RTL8019AS傳遞到處理器LPC2292,再由處理器控制相應(yīng)的設(shè)備執(zhí)行相應(yīng)的控制命令。

600)makesmallpic(this,600,1800);" border=0>

    3.2 嵌入式處理器

    嵌入式處理器采用了Philips公司的基于ARM7TDMI內(nèi)核的處理器LPC2292,該處理器具有16 kB片內(nèi)靜態(tài)RAM和256 kB片內(nèi)Flash程序存儲(chǔ)器;可以通過片內(nèi)boot裝載程序?qū)崿F(xiàn)在系統(tǒng)編程(ISP)和在應(yīng)用編程(IAP),編程速度快, 512字節(jié)行編程時(shí)間為1ms,單扇區(qū)或整片擦除時(shí)間為400ms;同時(shí)還內(nèi)置豐富的外設(shè)接口,極大的簡(jiǎn)化和方便了應(yīng)用系統(tǒng)的設(shè)計(jì),提高了系統(tǒng)的可靠性。

    3.3 網(wǎng)絡(luò)接口芯片

    網(wǎng)絡(luò)接口芯片采用Realtek公司的RTL8019AS,它是一種高度集成的以太網(wǎng)控制芯片,能簡(jiǎn)單的實(shí)現(xiàn)Plug and Play并兼容NE2000、掉電等特性。同時(shí)還支持全雙工模式,能夠?qū)崿F(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的同時(shí)發(fā)送和接收。RTL8019AS芯片內(nèi)部集成了DMA控制器、ISA總線控制器和16K SRAM、網(wǎng)絡(luò)PHY收發(fā)器

    3.4 其它模塊

    RS232電路有兩個(gè)作用,首先可以用作在系統(tǒng)編程(ISP),方便了LPC2292中軟件的升級(jí)和調(diào)試,提高了效率;其次,在系統(tǒng)運(yùn)行時(shí),充當(dāng)與外界通訊的一個(gè)通道。I2C和CAN電路可以用于擴(kuò)展外圍設(shè)備,完成系統(tǒng)在工業(yè)現(xiàn)場(chǎng)的控制任務(wù)和數(shù)據(jù)采集任務(wù)等。

   4 軟件系統(tǒng)設(shè)計(jì)

    該系統(tǒng)的軟件主要由以下幾個(gè)部分組成:嵌入式操作系統(tǒng)、嵌入式TCP/IP協(xié)議棧、嵌入式Web服務(wù)器。

    4.1 嵌入式操作系統(tǒng)

    為了滿足多任務(wù)和實(shí)時(shí)性的要求,本系統(tǒng)移植了嵌入式多任務(wù)實(shí)時(shí)操作系統(tǒng)μC/OS-II,并針對(duì)系統(tǒng)的具體情況和相應(yīng)軟硬件資源的情況,做了適當(dāng)?shù)牟眉艉托薷摹?/P>

    4.2 嵌入式TCP/IP協(xié)議棧

    為了搭建一個(gè)Web服務(wù)器平臺(tái),網(wǎng)絡(luò)協(xié)議棧是必不可少的。TCP/IP協(xié)議是目前廣泛應(yīng)用的網(wǎng)絡(luò)協(xié)議棧,并且成了事實(shí)上的國(guó)際標(biāo)準(zhǔn)。本系統(tǒng)設(shè)計(jì)并實(shí)現(xiàn)了針對(duì)嵌入式系統(tǒng)的簡(jiǎn)易TCP/IP協(xié)議棧,該協(xié)議棧利用μC/OS-II實(shí)時(shí)操作系統(tǒng)的信號(hào)機(jī)制來實(shí)現(xiàn)多任務(wù)和可重入的特性,并且完全使用ANSIC進(jìn)行編寫,在設(shè)計(jì)實(shí)現(xiàn)時(shí)充分考慮了重用性和可移植性,可以像μC/OS-II那樣支持多種CPU。

    4.3 嵌入式Web服務(wù)器

    在整個(gè)軟件體系中,嵌入式Web服務(wù)器處于上層,在它之下的是上述的嵌入式操作系統(tǒng)和嵌入式TCP/IP協(xié)議棧。嵌入式Web服務(wù)器除了實(shí)現(xiàn)靜態(tài)文檔以外,還利用嵌入式服務(wù)器端包含(ESSI)技術(shù)實(shí)現(xiàn)了動(dòng)態(tài)文檔,從而支持實(shí)時(shí)顯示系統(tǒng)的工作狀態(tài);此外,通過嵌入式通用網(wǎng)關(guān)接口(ECGI)技術(shù)實(shí)現(xiàn)了瀏覽器端數(shù)據(jù)向服務(wù)器的傳遞,從而為對(duì)系統(tǒng)的控制提供了數(shù)據(jù)通道。

    4.3.1 嵌入式Web服務(wù)器層次模型

    如所示,嵌入式Web服務(wù)器包含四個(gè)層次,分別為套接字層、協(xié)議解析層、功能模塊層和用戶定義層。套接字層負(fù)責(zé)本系統(tǒng)與網(wǎng)絡(luò)上的數(shù)據(jù)收發(fā);協(xié)議解析層負(fù)責(zé)解析HTTP協(xié)議,從中獲取有效數(shù)據(jù)或按照HTTP協(xié)議要求,生成HTTP協(xié)議報(bào)文;功能模塊層有三個(gè)部分,分別是嵌入式文件系統(tǒng)(EFS)、嵌入式服務(wù)器端包含(ESSI)、嵌入式通用網(wǎng)關(guān)接口(ECGI);用戶定義層的三個(gè)部分由用戶(開發(fā)人員)自定義,從而在不改變其他模塊的情況下,增加、減少或修改系統(tǒng)的功能,使得系統(tǒng)具有二次開發(fā)功能。

600)makesmallpic(this,600,1800);" border=0>

    4.3.2 嵌入式文件系統(tǒng)

   為了方便Web服務(wù)器的實(shí)現(xiàn),設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)嵌入式文件系統(tǒng)[10-12]用來存儲(chǔ)網(wǎng)頁。此文件系統(tǒng)結(jié)構(gòu)簡(jiǎn)潔、效率高,所有文件被集合成一個(gè)順序結(jié)構(gòu),文件系統(tǒng)中每個(gè)文件包含一下幾個(gè)域:HEAD,文件報(bào)頭,兩個(gè)字節(jié),標(biāo)記一個(gè)文件的開始(0xFA, 0xF3);NAME,文件名,長(zhǎng)度不定,以NULL結(jié)尾; SIZE,文件長(zhǎng)度,四個(gè)字節(jié),指示文件長(zhǎng)度(以字節(jié)為單位);FILE,文件內(nèi)容,長(zhǎng)度由SIZE指定。

     4.3.3 用戶定義層

    用戶定義層為用戶開放了系統(tǒng)的編程接口,包括三個(gè)方面:

    (1)文件系統(tǒng)構(gòu)造。當(dāng)用戶需要更改Web服務(wù)器的網(wǎng)頁時(shí),只需在PC上用任何一種網(wǎng)頁設(shè)計(jì)工具設(shè)計(jì)好網(wǎng)頁,然后用ConverFile工具轉(zhuǎn)化稱fiLEData. c,即完成了文件系統(tǒng)的設(shè)計(jì)。

    (2)ESSI變量定義。如需在瀏覽器上顯示設(shè)備的工作狀態(tài)等信息,可為每個(gè)狀態(tài)定義一個(gè)變量,并綁定一個(gè)能夠返回該狀態(tài)值的函數(shù)即可。

    (3)ECGI句柄定義。為了在服務(wù)器端獲得用戶的命令信息,需要為每一個(gè)命令定義一個(gè)虛擬網(wǎng)址,并綁定該網(wǎng)址到一個(gè)服務(wù)器端的函數(shù),該函數(shù)獲得瀏覽器端發(fā)送過來的參數(shù),執(zhí)行相應(yīng)的命令。

    5 實(shí)驗(yàn)結(jié)果分析

    為了驗(yàn)證方案的可行性和實(shí)用性,在上述的軟硬件平臺(tái)的基礎(chǔ)上,搭建了一個(gè)測(cè)試環(huán)境:在ARM處理器上外接八個(gè)LED指示燈,通過嵌入式Web服務(wù)器顯示并控制每一個(gè)LED指示燈的亮和滅。系統(tǒng)測(cè)試的網(wǎng)絡(luò)環(huán)境如所示,該網(wǎng)絡(luò)由兩個(gè)網(wǎng)段組成,用一臺(tái)路由器連接,網(wǎng)段一的地址為172. 18. 136. 0/24,段內(nèi)連接終端1和嵌入式設(shè)備,網(wǎng)段二的地址為172.18. 135. 0/24,段內(nèi)連接終端2和終端3,具體的地址分配如所示。嵌入式Web服務(wù)器運(yùn)行在IP地址為172. 18. 136. 8的嵌入式設(shè)備上,測(cè)試結(jié)果如。結(jié)果表明,無論是在同一網(wǎng)段內(nèi)的終端1上訪問嵌入式Web服務(wù)器,還是在不同網(wǎng)段的終端2和終端3上訪問嵌入式We服務(wù)器,系統(tǒng)都可以正常、穩(wěn)定地運(yùn)行,并實(shí)現(xiàn)對(duì)嵌入式設(shè)備的監(jiān)控功能。

600)makesmallpic(this,600,1800);" border=0>

600)makesmallpic(this,600,1800);" border=0>

    以上設(shè)計(jì)及實(shí)現(xiàn)的通用嵌入式Web服務(wù)器模塊,可移植到多種ARM7系列的處理器上,采用此模塊可簡(jiǎn)化系統(tǒng)的設(shè)計(jì),加快開發(fā)速度,具有一定的應(yīng)用前景。


  
關(guān)鍵詞:服務(wù)器嵌入式

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。