999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

可配置IP地址的微型嵌入式WEB服務(wù)器設(shè)計(jì)

2014-07-03 03:33:30李小勇婁顏超
關(guān)鍵詞:嵌入式單片機(jī)

李小勇,婁顏超

(喀什師范學(xué)院,喀什844006)

引 言

隨著信息技術(shù)、網(wǎng)絡(luò)技術(shù)和嵌入式系統(tǒng)的飛速發(fā)展,微型化嵌入式設(shè)備接入互聯(lián)網(wǎng)是大勢(shì)所趨。相對(duì)于中小型WEB服務(wù)器,微型嵌入式 WEB服務(wù)器的優(yōu)點(diǎn)顯而易見(jiàn)。其體積小、價(jià)格低,最重要的是功耗非常低,攜帶和部署方便、快捷。在遠(yuǎn)距離分布式測(cè)控系統(tǒng)中,希望控制節(jié)點(diǎn)具有接入網(wǎng)絡(luò)的功能,這樣可以方便地實(shí)現(xiàn)基于網(wǎng)絡(luò)的分布式測(cè)控;同時(shí),出于成本考慮,也希望控制節(jié)點(diǎn)經(jīng)濟(jì)、高效。本文針對(duì)分布式測(cè)控系統(tǒng)中對(duì)于監(jiān)控節(jié)點(diǎn)的需求而設(shè)計(jì),考慮以一種實(shí)用的方式實(shí)現(xiàn)定制化的微型嵌入式WEB服務(wù)器。網(wǎng)絡(luò)通信功能采用開(kāi)源微型TCP/IP協(xié)議棧uIP實(shí)現(xiàn),嵌入式WEB服務(wù)器以u(píng)IP協(xié)議棧作為基礎(chǔ),采用SSI(服務(wù)器端包含)技術(shù)實(shí)現(xiàn)。當(dāng)嵌入式WEB服務(wù)器上電運(yùn)行后,可實(shí)現(xiàn)以動(dòng)態(tài)的方式將包含有傳感器、執(zhí)行器信息的HTTP數(shù)據(jù)發(fā)送給客戶(hù)端,客戶(hù)端也能夠以HTTP請(qǐng)求的方式向服務(wù)器端發(fā)出控制命令。此外,設(shè)計(jì)了可配置網(wǎng)絡(luò)參數(shù)的功能,以方便部署服務(wù)器。

1 硬件設(shè)計(jì)

1.1 系統(tǒng)硬件總體設(shè)計(jì)

硬件部分由8位模數(shù)混合型單片機(jī)C8051F340、10/100 Mbps自適應(yīng)以太網(wǎng)控制器CP2200、網(wǎng)絡(luò)轉(zhuǎn)接器、傳感器與接口電路、執(zhí)行器與驅(qū)動(dòng)電路、電源組成。系統(tǒng)硬件組成框圖如圖1所示。

1.2 網(wǎng)絡(luò)通信硬件電路設(shè)計(jì)

網(wǎng)絡(luò)通信電路設(shè)計(jì)分成兩個(gè)部分:一部分為C8051F340[1]與 CP2200[2]的硬件接口電路設(shè)計(jì),另一部分為CP2200與RJ45網(wǎng)絡(luò)轉(zhuǎn)接器的硬件接口電路設(shè)計(jì)。網(wǎng)絡(luò)通信硬件接口電路如圖2所示。

1.2.1 C8051F340與CP2200硬件接口電路設(shè)計(jì)

將CP2200的MOTEN和MUXEN引腳接地,使CP2200工作在非復(fù)用Intel總線(xiàn)模式。單片機(jī)P3口作為地址線(xiàn),P4口作為數(shù)據(jù)線(xiàn)分別與CP2200地址線(xiàn)和數(shù)據(jù)線(xiàn)相連。CP2200的讀寫(xiě)控制信號(hào)線(xiàn)分別與單片機(jī)的P1.6、P1.7兩引腳相連。C8051F340的P0.2引腳被分配給,與CP2200芯片的中斷信號(hào)相連。當(dāng)CP2200的14個(gè)中斷事件中的任何一個(gè)產(chǎn)生中斷時(shí),CP2200將中斷狀態(tài)寄存器中相應(yīng)的標(biāo)志位置1,并將引腳驅(qū)動(dòng)到低電平來(lái)通知主機(jī)。在被允許的中斷的所有中斷標(biāo)志位都被主機(jī)清0之前引腳將一直保持低電平。

圖1 系統(tǒng)硬件總體框圖

圖2 網(wǎng)絡(luò)通信硬件電路接口設(shè)計(jì)

1.2.2 CP2200與RJ45網(wǎng)絡(luò)轉(zhuǎn)接器硬件

CP2200與RJ45連接時(shí)使用的引腳有RX+、RX-、TX+、TX-,利用 RJ45實(shí)現(xiàn)與網(wǎng)絡(luò)的連接。CP2200的LINK和ACT引腳與LINK LED和ACT LED引腳相連,用來(lái)指示網(wǎng)絡(luò)狀態(tài),其中LINK是當(dāng)檢測(cè)到有效連接脈沖時(shí)有效,ACT則是發(fā)送或接收一個(gè)數(shù)據(jù)包時(shí)有效。

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

2.1 軟件總體設(shè)計(jì)

軟件設(shè)計(jì)總體上采用層次式設(shè)計(jì)結(jié)構(gòu),是組合式嵌入式軟件設(shè)計(jì)方法[3]的一種實(shí)現(xiàn)方式。從TCP/IP模型的角度看,Ethernet初始化模塊和ARP協(xié)議模塊位于網(wǎng)絡(luò)接入層,完成以太網(wǎng)控制器的物理層初始化(PHY)、媒體訪(fǎng)問(wèn)控制層初始化(MAC)和網(wǎng)絡(luò)地址解析(ARP),該層負(fù)責(zé)為上層提供通信接口和收發(fā)通信鏈路上的比特流信號(hào)。TCP/IP協(xié)議棧模塊分為兩個(gè)部分,以IP協(xié)議為核心的部分位于TCP/IP的網(wǎng)際互連層,以TCP協(xié)議為核心的部分位于TCP/IP模型的傳輸層。基于SSI技術(shù)的WEB服務(wù)器位于TCP/IP模型的應(yīng)用層。軟件總體設(shè)計(jì)示意圖如圖3所示。

圖3 軟件總體設(shè)計(jì)示意圖

2.2 TCP/IP協(xié)議棧的移植

對(duì)于8位單片機(jī),硬件資源是十分有限的,采用RTOS結(jié)合TCP/IP的設(shè)計(jì)方法用來(lái)接入網(wǎng)絡(luò),目前沒(méi)有實(shí)際應(yīng)用意義,而僅移植TCP/IP協(xié)議棧來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)接入可以獲得良好的實(shí)時(shí)通信效果。在本設(shè)計(jì)中,移植目前常用的開(kāi)源微型網(wǎng)絡(luò)協(xié)議棧uIP[4-6],版本采用uIP 0.6。圖4為網(wǎng)絡(luò)數(shù)據(jù)包接收處理總體流程。

2.3 TCP消息處理

圖4 網(wǎng)絡(luò)數(shù)據(jù)包接收處理過(guò)程

當(dāng)從uIP接收到原始TCP消息后,需要調(diào)用TCP協(xié)議解析函數(shù)對(duì)消息體解析。由于HTTP協(xié)議是基于TCP的協(xié)議,因而只需檢查T(mén)CP消息體中是否包含HTTP協(xié)議。如果包含HTTP協(xié)議,則進(jìn)入該協(xié)議處理流程中;如果不包含,則放棄目前的消息,繼續(xù)接收和解析下一個(gè)TCP消息體。

TCP消息處理流程如圖5所示,該流程對(duì)應(yīng)于圖4中處理TCP消息部分。WEB服務(wù)器設(shè)計(jì)基于TCP協(xié)議,并采用 HTTP[7-8]協(xié)議實(shí)現(xiàn)。

圖5 TCP消息處理流程

2.4 基于SSI的動(dòng)態(tài)網(wǎng)頁(yè)生成技術(shù)

SSI[9-10](服務(wù)器端包含)技術(shù)是動(dòng)態(tài)生成網(wǎng)頁(yè)的一種技術(shù)實(shí)現(xiàn)方式。當(dāng)需要在響應(yīng)的WEB頁(yè)面中增加小段動(dòng)態(tài)信息時(shí),采用SSI技術(shù)是一種合適的選擇。在8位單片機(jī)上構(gòu)建基于SSI機(jī)制的嵌入式WEB服務(wù)器,需要編寫(xiě)專(zhuān)門(mén)的WEB模板解析函數(shù),用以在HTML模板中生成動(dòng)態(tài)信息。SSI解析功能與參與HTTP響應(yīng)的流程關(guān)系如圖6所示。

要實(shí)現(xiàn)WEB服務(wù)器內(nèi)容動(dòng)態(tài)響應(yīng)客戶(hù)端請(qǐng)求的效果,需要做到實(shí)時(shí)改變HTTP消息頭和HTTP消息正文中WEB頁(yè)面特定內(nèi)容的數(shù)據(jù)。在采用SSI技術(shù)達(dá)到這個(gè)目標(biāo)時(shí),本設(shè)計(jì)并未實(shí)現(xiàn)SSI全部功能,原因是解析SSI所有類(lèi)型腳本需要編寫(xiě)標(biāo)準(zhǔn)的SSI解析引擎,要占據(jù)大量的代碼空間,同時(shí)對(duì)于8位單片機(jī)的運(yùn)行效率也是一個(gè)挑戰(zhàn),故在腳本類(lèi)型的實(shí)現(xiàn)上作了很大的簡(jiǎn)化。SSI解析函數(shù)僅處理一種嵌入式SSI腳本類(lèi)型,即顯示變量值。SSI腳本的一般通用格式為:<!--#element attribute=value attribute=value...-->。其中,element為腳本命令類(lèi)型,attribute為腳本變量,value為變量名。命令類(lèi)型和變量不同,解析方式也不同。

圖6 SSI解析參與HTTP響應(yīng)流程

2.5 WEB模板設(shè)計(jì)

WEB模板文件通常在單片機(jī)code區(qū)定義,該區(qū)僅具有只讀屬性,適合存放靜態(tài)的數(shù)據(jù)。WEB模板文件是一種符合HTML標(biāo)準(zhǔn)[11]的數(shù)據(jù)格式定義。如要增加數(shù)據(jù)動(dòng)態(tài)顯示功能,需將動(dòng)態(tài)顯示數(shù)值的地方插入SSI腳本。例如,在 WEB模板文件Test.html中需要?jiǎng)討B(tài)顯示當(dāng)前溫度的位置,插入一個(gè)名為<!--#echo var="TEMPERATURE"-->的標(biāo)簽。模板定義示例如下:

(1)HTTP1.1協(xié)議響應(yīng)頭模板定義

(2)Test.html的 WEB模板文件體定義

2.6 HTTP請(qǐng)求與響應(yīng)

處理來(lái)自客戶(hù)端的HTTP1.1請(qǐng)求。HTTP請(qǐng)求由3部分組成,分別是:請(qǐng)求行、消息報(bào)頭、請(qǐng)求正文。在本文中,被處理的HTTP請(qǐng)求包括GET方式和POST方式。GET方式請(qǐng)求用來(lái)獲取服務(wù)器中特定WEB頁(yè)面,如果GET請(qǐng)求URL中附加用戶(hù)信息,服務(wù)器不作出處理。POST請(qǐng)求正文一般帶有用戶(hù)附加信息,服務(wù)器接收請(qǐng)求后要對(duì)這些信息進(jìn)行處理。

2.6.1 處理GET方式HTTP請(qǐng)求

當(dāng)有客戶(hù)端向服務(wù)器地址為192.168.131.112發(fā)送GET方式HTTP請(qǐng)求,獲取一個(gè)WEB文件名為T(mén)est.html的頁(yè)面時(shí),通常發(fā)送一個(gè)包含但不限于如下內(nèi)容的HTTP1.1請(qǐng)求:

TCP協(xié)議解析程序、HTTP協(xié)議解析程序分別識(shí)別這個(gè)網(wǎng)絡(luò)數(shù)據(jù)為T(mén)CP消息,同時(shí)是HTTP1.1 GET方式請(qǐng)求。當(dāng)判斷存在Test.html網(wǎng)頁(yè)時(shí),WEB服務(wù)器啟動(dòng)SSI解析函數(shù),置換這個(gè)網(wǎng)頁(yè)的模板文件和HTTP1.1協(xié)議響應(yīng)頭模板中所有嵌入的SSI腳本,然后以HTTP響應(yīng)的形式發(fā)送給客戶(hù)端。

2.6.2 處理POST方式HTTP請(qǐng)求

當(dāng)有客戶(hù)端向服務(wù)器地址為192.168.131.112發(fā)送POST方式HTTP請(qǐng)求,表示要通過(guò)表單向服務(wù)器提交數(shù)據(jù)。如向服務(wù)器提交新的網(wǎng)絡(luò)參數(shù)表單,通常發(fā)送一個(gè)包含但不限于如下內(nèi)容的HTTP1.1請(qǐng)求:

服務(wù)器端通過(guò)協(xié)議解析程序判斷這是一個(gè)HTTP1.1 POST方式請(qǐng)求。當(dāng)判斷存在IpConfig.html頁(yè)面時(shí),服務(wù)器從請(qǐng)求正文中獲取新的網(wǎng)絡(luò)參數(shù)信息,并更新當(dāng)前的網(wǎng)絡(luò)參數(shù)。當(dāng)客戶(hù)端再次向服務(wù)器發(fā)起HTTP請(qǐng)求時(shí),需要使用新的主機(jī)地址,這個(gè)示例新地址為192.168.131.113。同樣的,通過(guò)POST請(qǐng)求方式也可以用來(lái)向服務(wù)器發(fā)出控制指令,服務(wù)器根據(jù)指令完成動(dòng)作。

2.7 連通性穩(wěn)定性測(cè)試

設(shè)定局域網(wǎng)路由器網(wǎng)絡(luò)參數(shù):IP地址為192.168.131.1,子網(wǎng)掩碼為255.255.255.0。設(shè)定局域網(wǎng)內(nèi)PC機(jī)IP地址:192.168.131.100。設(shè)定嵌入式 WEB服務(wù)器IP地址:192.168.131.112。子網(wǎng)掩碼均相同。將嵌入式 WEB服務(wù)器接入局域網(wǎng)中,通過(guò)PC機(jī)ping WEB服務(wù)器檢查服務(wù)器的響應(yīng)速度和丟包率,實(shí)驗(yàn)結(jié)果如圖7和圖8所示。

圖7 網(wǎng)絡(luò)連通性測(cè)試

圖8 網(wǎng)絡(luò)通信穩(wěn)定性測(cè)試

結(jié) 語(yǔ)

通過(guò)實(shí)際運(yùn)行與調(diào)試,基本達(dá)到了預(yù)期目的。客戶(hù)端發(fā)送HTTP GET方式請(qǐng)求獲取動(dòng)態(tài)WEB頁(yè)面,發(fā)送POST方式請(qǐng)求時(shí),在請(qǐng)求正文附加表單數(shù)據(jù),服務(wù)器通過(guò)處理表單數(shù)據(jù)完成對(duì)應(yīng)的動(dòng)作。

[1]Silicon Semiconductor Inc.C8051f34X datasheet[EB/OL].(2006-08)[2014-06].http://www.silabs.com/products/mcu/Pages/8-Bit-Microcontrollers.aspx.

[2]Silicon Laboratories Inc.Single chip ethernet controller CP2200/1[EB/OL].(2001-05)[2014-06].http://www.silabs.com.

[3]王博.可組合嵌入式軟件建模與驗(yàn)證技術(shù)研究綜述[J].軟件學(xué)報(bào),2014,25(2):234-253.

[4]Adam Dunkels.Full TCP/IP for 8 Bit Architectures[C]//In Proceedings of the First ACM/Usenix International Conference on Mobile Systems,Applications and Services.San Francisco:May 2003.

[5]A Dunkels.uIP-a TCP/IP stack for 8-and 16-bit microcontrollers[EB/OL].(2003-03)[2014-06].http://www.sics.se/~adam/publications.html.

[6]趙國(guó)鋒,邱作雨,張毅.基于單片機(jī)的嵌入式TCP/IP協(xié)議棧的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009(3):137-140.

[7]The World Wide Web Consortium (W3C),Network Working Group.RFC 2616.Hypertext Transfer Protocol-HTTP/1.1[EB/OL].(1999-06)[2014-06].http://www.w3.org/Protocols/rfc2616/rfc2616.html.

[8]高嵩.基于HTTP協(xié)議的嵌入式遠(yuǎn)程監(jiān)控系統(tǒng)的研究[D].北京:北京工業(yè)大學(xué),2013.

[9]The Apache Software Foundation.Apache Tutorial:Introduction to Server Side Includes[EB/OL].[2014-06].http://httpd.apache.org/docs/2.2/howto/ssi.html.

[10]潘琢金,王秋實(shí).嵌入式Web服務(wù)器中動(dòng)態(tài) Web技術(shù)的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(18):3975-3978.

[11]W3C org.W3C Recommendation for HTML[EB/OL].(2011-11)[2014-06].http://www.w3.org/community/webed/wiki/HTML.

猜你喜歡
嵌入式單片機(jī)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
電子制作(2019年9期)2019-05-30 09:42:02
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統(tǒng)通信技術(shù)的應(yīng)用
電子制作(2018年18期)2018-11-14 01:48:16
小議PLC與單片機(jī)之間的串行通信及應(yīng)用
電子制作(2018年12期)2018-08-01 00:48:04
搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
電子制作(2017年19期)2017-02-02 07:08:27
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Microchip推出兩個(gè)全新PIC單片機(jī)系列
主站蜘蛛池模板: 国内99精品激情视频精品| 国产成人综合在线观看| 黄色福利在线| 亚洲精品另类| 国产一区二区色淫影院| 2021国产精品自产拍在线观看| 四虎永久免费地址在线网站| 五月综合色婷婷| 午夜福利在线观看成人| 美女无遮挡免费网站| 4虎影视国产在线观看精品| 精品人妻AV区| 永久免费无码成人网站| av一区二区三区在线观看| 波多野结衣一区二区三区AV| 国产高清无码麻豆精品| 丁香五月婷婷激情基地| 中文字幕第1页在线播| 亚洲欧洲日韩久久狠狠爱 | 国产成人一区二区| 日本不卡在线视频| 国产亚卅精品无码| 欧美.成人.综合在线| 国产网友愉拍精品| 国产欧美精品一区aⅴ影院| 免费啪啪网址| 亚洲精品天堂自在久久77| 蜜桃视频一区二区| 日韩av资源在线| 亚洲欧美成人综合| 欧美一区精品| 中文纯内无码H| 天天综合天天综合| 99中文字幕亚洲一区二区| 2020国产精品视频| 国产精品一区在线麻豆| 欧美精品伊人久久| 午夜a级毛片| 免费高清自慰一区二区三区| 国产精品久久自在自线观看| 国产美女叼嘿视频免费看| 国产内射在线观看| 午夜视频免费一区二区在线看| 国产丝袜91| 色有码无码视频| 久久香蕉国产线看精品| 丝袜亚洲综合| 无码免费的亚洲视频| 国产裸舞福利在线视频合集| 人与鲁专区| 亚洲日韩在线满18点击进入| 国产一级毛片在线| 国产全黄a一级毛片| 国产在线自乱拍播放| 午夜限制老子影院888| 久久久精品国产SM调教网站| 丁香婷婷激情网| 欧美另类图片视频无弹跳第一页| 美女一区二区在线观看| 精品三级在线| 亚洲天堂视频在线观看| 国产成人久久综合777777麻豆| 一级不卡毛片| 超碰aⅴ人人做人人爽欧美| 中文字幕人成乱码熟女免费| 99在线视频免费| 永久天堂网Av| 国产欧美日韩va另类在线播放| 国产精品99久久久| 国产正在播放| 精品综合久久久久久97超人| 国产亚洲精品97在线观看| 国产成人精品免费视频大全五级| 精品国产污污免费网站| jizz国产视频| 国产精品偷伦视频免费观看国产| 欧美日韩国产系列在线观看| 久久综合成人| 久久综合伊人 六十路| 精品五夜婷香蕉国产线看观看| 国产免费高清无需播放器| 亚洲乱亚洲乱妇24p|