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

基于uIP協(xié)議棧的嵌入式Web服務(wù)器的實現(xiàn)*

2011-05-11 11:58:50朱志紅田茂勝
關(guān)鍵詞:嵌入式設(shè)計

張 勇 ,朱志紅 ,2,田茂勝 ,2

(1.華中科技大學(xué) 國家數(shù)控系統(tǒng)工程技術(shù)研究中心,湖北 武漢430074;2.武漢華中數(shù)控股份有限公司,湖北 武漢430223)

數(shù)控技術(shù)的網(wǎng)絡(luò)化是數(shù)字制造技術(shù)的發(fā)展方向,利用網(wǎng)絡(luò)技術(shù)使數(shù)控系統(tǒng)具備遠(yuǎn)程監(jiān)控和故障診斷功能可以極大地提高產(chǎn)品的市場競爭力。TCP/IP協(xié)議已經(jīng)在全球互聯(lián)網(wǎng)上取得了巨大成功,通過實現(xiàn)TCP/IP協(xié)議使系統(tǒng)直接接入內(nèi)部網(wǎng)或者互聯(lián)網(wǎng),這種方案利用了現(xiàn)有的網(wǎng)絡(luò)線路,避免了成本高昂、繁瑣的布線工作,已成為大多數(shù)用戶的選擇。而基于Web服務(wù)器的遠(yuǎn)程監(jiān)控技術(shù),可以為用戶提供一個統(tǒng)一、簡潔的操作界面。

整個設(shè)計中的關(guān)鍵是TCP/IP協(xié)議棧的實現(xiàn),完全從零開始去實現(xiàn)一個嵌入式TCP/IP協(xié)議將耗費大量的時間和資源,導(dǎo)致產(chǎn)品跟不上市場需求。而商業(yè)的TCP/IP的網(wǎng)絡(luò)組件實現(xiàn)過于復(fù)雜,需要占用大量的系統(tǒng)資源,同時會導(dǎo)致成本的提高,本設(shè)計選用精簡的開源uIP協(xié)議棧作為網(wǎng)絡(luò)通信協(xié)議,采用嵌入式的uIP協(xié)議棧,編寫基于DOS操作系統(tǒng)的網(wǎng)絡(luò)芯片驅(qū)動程序接口,在應(yīng)用層實現(xiàn)HTTP協(xié)議,最后將其運用于華中數(shù)控的HNC-21系統(tǒng),使系統(tǒng)具備了遠(yuǎn)程監(jiān)控功能。

1 uIP協(xié)議棧分析

uIP協(xié)議棧是專為8/16 bit的嵌入式微處理器設(shè)計的小型TCP/IP協(xié)議棧,采用BSD授權(quán),遵循RFC標(biāo)準(zhǔn),完全由C語言編寫,具有良好的互操作性、完整的源代碼和注釋,可免費用于非商業(yè)和商業(yè)用途。uIP協(xié)議棧有多個版本,本設(shè)計采用的是uIP0.9。

為了減小代碼量,降低對系統(tǒng)資源的要求,uIP的內(nèi)部實現(xiàn)具有如下特點[1]:只實現(xiàn)了網(wǎng)絡(luò)通信所必要的協(xié)議機制;不支持內(nèi)存動態(tài)分配機制,使用單一的全局緩沖區(qū)收發(fā)數(shù)據(jù)包;各層協(xié)議不嚴(yán)格獨立,緊密耦合;應(yīng)用程序主動參與部分協(xié)議棧的功能實現(xiàn)。

uIP協(xié)議處于網(wǎng)絡(luò)通信的中間層,其設(shè)計重點放在IP(網(wǎng)際互聯(lián)協(xié)議)、ICMP(網(wǎng)絡(luò)控制報文協(xié)議)和 TCP(傳輸控制協(xié)議)的實現(xiàn)上,UDP(用戶數(shù)據(jù)報協(xié)議)和 ARP(地址解析協(xié)議)實現(xiàn)只是作為可選模塊。其體系結(jié)構(gòu)[2]如圖1所示。

uIP協(xié)議棧提供了三個函數(shù)給底層設(shè)備驅(qū)動程序:uip_periodic()、uip_init()和 uip_input()。 其中 uip_input()和uip_periodic()在內(nèi)部的實現(xiàn)采用同一個函數(shù),即uip_process(u8_t flag),區(qū)別在于調(diào)用的參數(shù)和使用情況不同。uIP協(xié)議棧中應(yīng)用程序基于事件驅(qū)動模式,作為一個獨立的模塊由用戶實現(xiàn)。為了將應(yīng)用程序掛接到uIP中,用戶需將宏UIP_APPCALL()定義為自己的應(yīng)用程序函數(shù)名。

2 嵌入式Web服務(wù)器的實現(xiàn)

uIP協(xié)議棧以函數(shù)庫的形式提供,本身不提供底層網(wǎng)絡(luò)驅(qū)動和上層應(yīng)用程序。因此為了完成指定的功能,開發(fā)者必須添加網(wǎng)卡芯片的驅(qū)動模塊和特定的應(yīng)用程序模塊。

2.1 uIP協(xié)議棧的移植

協(xié)議的實現(xiàn)核心是uip目錄下的7個程序文件[3],本設(shè) 計 中 用 到 uip.c、uip.h、uip_arp.c、uip_arp.h、uip_arch.h 5個文件。 其中 uip.c和 uip.h實現(xiàn)了 IP、TCP、ICMP協(xié)議,uip_arp.c和uip_arp.h實現(xiàn)了ARP協(xié)議。unix目錄下有5個程序文件,本設(shè)計中用到的主要是uip_arch.c和uipopt.h。其中uip_arch.c是校驗和文件,uipopt.h是參數(shù)配置文件。

設(shè)計中根據(jù)需要修改uipopt.h,使用靜態(tài)IP地址,故將UIP_FIXEDADDR設(shè)置為1;不支持?jǐn)?shù)據(jù)包分割重組,設(shè)置UIP_REASSEMBLY為0;不需要UDP協(xié)議支持,設(shè)置 UIP_UDP為 0;設(shè)置 UIP_CONNS為 5,允許同時開啟5個TCP連接。因為在應(yīng)用層只需要實現(xiàn)HTTP協(xié)議,設(shè)置UIP_LISTENPORTS為1。最后根據(jù)實際應(yīng)用修改MAC地址、IP地址、子網(wǎng)掩碼和網(wǎng)關(guān)地址中相應(yīng)的宏變量。

2.2 網(wǎng)卡驅(qū)動程序接口

本設(shè)計中使用的網(wǎng)絡(luò)控制芯片是臺灣Realtek公司的RTL8019AS,系統(tǒng)環(huán)境是16位的DOS操作系統(tǒng)。設(shè)計中遵循Packet Driver接口協(xié)議來操作網(wǎng)卡,提供給上層的函數(shù)接口包括網(wǎng)絡(luò)芯片的初始、發(fā)包、收包。

網(wǎng)卡的初始化接口函數(shù)int tapdev_init(void),主要完成獲取網(wǎng)卡句柄和Packet Driver[4-5]提供服務(wù)的軟中斷號、注冊網(wǎng)絡(luò)數(shù)據(jù)包的接收程序。函數(shù)流程如圖2所示。

圖2 網(wǎng)卡的初始化流程

網(wǎng)卡的接收數(shù)據(jù)包接口函數(shù)為unsignedint tapdev_read(void),主要功能是判斷是否有新的數(shù)據(jù)包到來。如果有,則將數(shù)據(jù)存儲到全局變量uip_buf中供進一步的處理,并返回數(shù)據(jù)包的長度。

網(wǎng)卡的發(fā)送數(shù)據(jù)包接口函數(shù)int tapdev_send(void)通過調(diào)用Packet Driver的send_pkt()將封裝好的數(shù)據(jù)包發(fā)送到以太網(wǎng)。全局變量uip_len表示要發(fā)送的數(shù)據(jù)包長度。發(fā)送數(shù)據(jù)包的實現(xiàn)代碼如下:

2.3 應(yīng)用層協(xié)議實現(xiàn)

HTTP(HyperText Transfer Protocol)超文本傳輸協(xié)議是用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議。要實現(xiàn)Web服務(wù)器[6]的功能,就需要在應(yīng)用層實現(xiàn)HTTP協(xié)議。HTTP協(xié)議采用的是客戶端與服務(wù)器模式。在客戶端產(chǎn)生數(shù)據(jù)請求,在服務(wù)器端產(chǎn)生應(yīng)答數(shù)據(jù),然后以Web頁面形式返回給客戶端。為了達到統(tǒng)一通用的要求,Web頁面采用HTML格式傳輸。

設(shè)計中將應(yīng)用層函數(shù)http_call定義為宏UIP_APPCALL,主程序首先調(diào)用函數(shù)uip_listen開啟80號端口監(jiān)聽。如果監(jiān)測到遠(yuǎn)程連接請求,分配一個連接項給客戶端,然后等待客戶端的發(fā)送具體的數(shù)據(jù)請求。在接收到客戶端的數(shù)據(jù)請求后,根據(jù)相應(yīng)語法解析請求指令,將相關(guān)信息以網(wǎng)頁形式返回到客戶端。

用戶只要通過標(biāo)準(zhǔn)的瀏覽器輸入相應(yīng)的IP地址就可以查看服務(wù)器提供的Web網(wǎng)頁。Web服務(wù)器軟件實現(xiàn)框圖如圖3所示。

圖3 Web服務(wù)器軟件實現(xiàn)框圖

3 Web服務(wù)器的應(yīng)用

將設(shè)計的Web服務(wù)器應(yīng)用于華中數(shù)控HNC-21系統(tǒng),可遠(yuǎn)程監(jiān)控機床的當(dāng)前運行位置、參數(shù)設(shè)置、報警信息等。設(shè)置數(shù)控系統(tǒng)的IP地址為192.168.0.2,同時設(shè)置相應(yīng)的子網(wǎng)掩碼和默認(rèn)網(wǎng)關(guān),然后將數(shù)控系統(tǒng)接入局域網(wǎng)。在接入同一局域網(wǎng)的PC機上打開瀏覽器窗口,在地址欄中輸入192.168.0.2,出現(xiàn)圖4所示界面,說明Web服務(wù)器已運行成功。

按照本設(shè)計中的配置參數(shù),整個系統(tǒng)中核心協(xié)議的實現(xiàn)代碼量約為20 KB,核心協(xié)議的實現(xiàn)占用的內(nèi)存約為10 KB,資源占用量很小,能很好地滿足資源有限環(huán)境下的應(yīng)用需求。采用移植精簡的TCP/IP協(xié)議棧uIP,使數(shù)控系統(tǒng)具有網(wǎng)絡(luò)接入功能,是一種低成本、高效的網(wǎng)絡(luò)接入方案。通過實現(xiàn)Web服務(wù)器的功能,可以讓用戶使用統(tǒng)一、簡潔的界面對數(shù)控系統(tǒng)進行遠(yuǎn)程監(jiān)控,降低了用戶的使用難度。

[1]ADAM D.uIP-a free small TCP/IP stack[EBOL].[2010-06-25].http://www.sic.se/~adam/download/uip-doc-0.6.pdf.

[2]ADAM D.FullTCP/IP for8-bitarchitectures[EBOL].[2010-06-25].http://www.sics.se/~adam/mobisys2003.pdf.

[3]Doxygen.uIP 0.9 reference manual[EBOL].[2010-06-25].http://www.sics.se/~adam/download/uip-0.9-refman.pdf.

[4]FTP Software Inc.PC/TCP packet driver specification[EBOL].[2010-06-25].http://www.crynwr.com/packet_driver.html.

[5]黃皓.ARP協(xié)議分析及在網(wǎng)絡(luò)安全中的應(yīng)用實現(xiàn) [D].成都:電子科技大學(xué),2007.

[6]JEREMEY B.嵌入式系統(tǒng)Web服務(wù)器-TCP/IP Lean[M].陳向群,譯.北京:機械工業(yè)出版社,2003:313-319.

猜你喜歡
嵌入式設(shè)計
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
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
瞞天過海——仿生設(shè)計萌到家
搭建基于Qt的嵌入式開發(fā)平臺
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Altera加入嵌入式視覺聯(lián)盟
主站蜘蛛池模板: 亚洲一区二区在线无码| 久久精品人人做人人爽| 五月天久久综合| 精品久久久久久中文字幕女 | 正在播放久久| 国产区精品高清在线观看| 国产精品第5页| 午夜视频在线观看免费网站| 欧美人人干| 亚洲国产精品成人久久综合影院| 国产亚洲精品在天天在线麻豆| 青青操视频在线| 一级福利视频| 欧美成人午夜视频免看| 国产欧美成人不卡视频| 第九色区aⅴ天堂久久香| 色亚洲激情综合精品无码视频 | 99ri精品视频在线观看播放| 91在线精品麻豆欧美在线| 噜噜噜久久| 美女无遮挡免费网站| 久久久久久国产精品mv| 无码一区中文字幕| 亚洲国产午夜精华无码福利| 欧美激情首页| 啊嗯不日本网站| 国产女人水多毛片18| 992Tv视频国产精品| 国产精品区视频中文字幕 | 好吊色妇女免费视频免费| 婷婷色一区二区三区| 亚洲中文在线视频| 亚洲欧美精品一中文字幕| 无遮挡一级毛片呦女视频| 久久精品人人做人人爽电影蜜月| jizz亚洲高清在线观看| 欧美一级黄片一区2区| 欧美日韩国产高清一区二区三区| www.youjizz.com久久| 日韩国产黄色网站| 人妻少妇久久久久久97人妻| 国产福利在线观看精品| 日韩精品一区二区三区大桥未久 | 亚洲第一福利视频导航| 99久久免费精品特色大片| 欧美综合在线观看| 亚洲一区毛片| 97se亚洲综合在线天天 | 久久99精品久久久久纯品| 色欲色欲久久综合网| 日韩精品欧美国产在线| 有专无码视频| 国产黄网永久免费| 91小视频在线| 精品免费在线视频| 亚洲精品国产精品乱码不卞| 天堂网亚洲系列亚洲系列| 欧美日韩国产在线观看一区二区三区 | 色偷偷一区二区三区| 中国精品自拍| 99久久国产综合精品2020| www.日韩三级| 亚洲狠狠婷婷综合久久久久| 一本色道久久88| 国产精品尤物在线| 日韩在线观看网站| 中文字幕永久在线看| 亚洲成人黄色在线| 91破解版在线亚洲| 精品无码一区二区三区在线视频| 黄色国产在线| 国产精品亚洲一区二区在线观看| 亚洲最新地址| 国产日本欧美亚洲精品视| 免费黄色国产视频| 欧美精品H在线播放| 成年人国产网站| 免费毛片在线| 狠狠综合久久久久综| 久久综合色88| 欧美日韩国产在线人| 国内精品视频在线|