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

利用ENC28J60實(shí)現(xiàn)嵌入式Web服務(wù)器

2009-04-29 00:00:00徐冬寅欒玖華
電腦知識與技術(shù) 2009年26期

摘要:為將Internet低廉地延伸到各種嵌入式系統(tǒng),實(shí)現(xiàn)基于Internet的遠(yuǎn)程數(shù)據(jù)采集、遠(yuǎn)程控制等,該文研究了將嵌入式系統(tǒng)與Web技術(shù)相結(jié)合,在無操作系統(tǒng)單片機(jī)環(huán)境下嵌入式Web服務(wù)器的開發(fā),詳細(xì)介紹了基于PIC18FXXX單片機(jī)以及ENC28J60以太網(wǎng)控制器的嵌入式Web服務(wù)器系統(tǒng)的設(shè)計(jì),包括其硬件構(gòu)成及軟件設(shè)計(jì)。

關(guān)鍵詞:嵌入式Web服務(wù)器;通用網(wǎng)關(guān)接口(CGI);單片機(jī);太網(wǎng)控制器

中圖分類號:TP393文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2009)26-7551-02

二十一世紀(jì)無疑是一個信息時代。一方面,迅速發(fā)展的Web技術(shù)給Internet應(yīng)用提供了一個很好的發(fā)展方向。當(dāng)今的許多應(yīng)用都是基于Web技術(shù)的, 如電子商務(wù)、視頻會議、遠(yuǎn)程醫(yī)療診斷等。另一方面,嵌入式系統(tǒng)也己經(jīng)成熟起來并得到了最為廣泛的工業(yè)應(yīng)用。在一些工業(yè)和汽車應(yīng)用中,為了實(shí)現(xiàn)多個測控節(jié)點(diǎn)之間的信息交流,利用CAN(Controller Area Network)[1]、PROFIBUS、RS-485等總線將多個測控節(jié)點(diǎn)進(jìn)行組網(wǎng),但這種網(wǎng)絡(luò)的有效通信范圍比較有限,所能實(shí)現(xiàn)的功能也比較有限。

如果嵌入式系統(tǒng)能夠與Web技術(shù)結(jié)合起來[2],則可以方便、低廉地將Internet延伸到各種嵌入式系統(tǒng),并實(shí)現(xiàn)基于 Internet的遠(yuǎn)程數(shù)據(jù)采集、遠(yuǎn)程控制、自動報警等功能。也就是說,只要設(shè)備接入了Internet,我們就可以在世界上的任何地方十分方便地控制、操縱那些配備有微型Web 服務(wù)器的設(shè)備。

本文我們在對Web服務(wù)器技術(shù)、HTTP(HyperText Transfer Protocol)、CGI和ENC28J60以太網(wǎng)控制器進(jìn)行分析的基礎(chǔ)上,將TCP/IP[3]等網(wǎng)絡(luò)協(xié)議嵌入單片機(jī)系統(tǒng),使單片機(jī)系統(tǒng)能夠完成Web服務(wù)器的基本功能,并實(shí)現(xiàn)了系統(tǒng)的硬件及軟件設(shè)計(jì)[4]。

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

系統(tǒng)采用PIC18F458單片機(jī)控制,由以太網(wǎng)接口電路、網(wǎng)頁存儲器電路、電源電路、復(fù)位電路、看門狗電路組成,另外還有用于現(xiàn)場測控的輔助電路:CAN接口電路、信號調(diào)理電路、模擬和開關(guān)量輸出電路等組成,由于PIC18F458單片機(jī)內(nèi)部包含有11位的A/D轉(zhuǎn)換以及CAN通訊模塊等功能模塊[5],所以大大簡化了電路的設(shè)計(jì)。嵌入式Web服務(wù)器以太網(wǎng)接口電路如圖1所示。

ENC28J60[6]是Microchip Technology(美國微芯科技公司)推出的28引腳獨(dú)立以太網(wǎng)控制器,符合IEEE 802.3,內(nèi)置10Mbps以太網(wǎng)物理層器件(PHY)及媒介接入控制器(MAC),可按業(yè)界標(biāo)準(zhǔn)的以太網(wǎng)協(xié)議可靠地收發(fā)信息包數(shù)。同時,內(nèi)部包含可編程8KB雙端口SRAM緩沖器,以高效的方式進(jìn)行信息包的存儲、檢索和修改,以減輕主控單片機(jī)的內(nèi)存負(fù)荷。

ENC28J60通過SPI(串行外圍芯片接口)與PIC18F458單片機(jī)進(jìn)行數(shù)據(jù)交換,簡化了電路的設(shè)計(jì)。

由于ENC28J60是一個工作電壓為3.3V 的器件。當(dāng)PIC18F458單片機(jī)(運(yùn)行電壓為5V)與ENC28J60連接時,一方面,由于ENC28J60的SPI接口的CS,SCK和SI輸入以及RESET引腳都可以承受5V的電壓,所以不需進(jìn)行任何處理就可連接。另一方面,由于ENC28J60 3.3V CMOS 輸出驅(qū)動單片機(jī)端口時,它很可能不符合規(guī)范要求,此時需要一個單向電平轉(zhuǎn)換器,才可接至PIC18F458單片機(jī)。

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

程序采用C18[7]和匯編語言混合編程,包括系統(tǒng)初始化、TCP/IP協(xié)議棧、TCP/IP協(xié)議棧管理、Web服務(wù)、CGI處理函數(shù)、系統(tǒng)功能處理(數(shù)據(jù)采集和控制、CAN通訊處理)等模塊程序。其中系統(tǒng)初始化程序主要完成PIC18FXXX單片機(jī)端口功能的初始化。系統(tǒng)工作流程如圖2所示。

2.1 TCP/IP協(xié)議棧

由于該嵌入式Web服務(wù)器硬件結(jié)構(gòu)簡單,硬件資源,特別是系統(tǒng)程序存儲空間容量有限,所以我們在該系統(tǒng)中采用了精簡TCP/IP協(xié)議棧[7]。系統(tǒng)在應(yīng)用層實(shí)現(xiàn)了HTTP協(xié)議(超文本傳輸協(xié)議),在傳輸層采用TCP協(xié)議,在網(wǎng)絡(luò)層實(shí)現(xiàn)IP協(xié)議,同時,還實(shí)現(xiàn)能報告數(shù)據(jù)傳送差錯等情況的ICMP協(xié)議。以太網(wǎng)數(shù)據(jù)的傳輸采用MAC地址來識別,而ARP協(xié)議提供IP地址和數(shù)據(jù)鏈路層使用的MAC地址之間的轉(zhuǎn)換功能,為了保證系統(tǒng)在以太網(wǎng)的通信,實(shí)現(xiàn)了ARP協(xié)議。

2.2 TCP/IP協(xié)議棧管理程序

由于TCP/IP協(xié)議分布在鏈路層、網(wǎng)絡(luò)層、傳輸層和應(yīng)用層上,是分層實(shí)現(xiàn)的,每一層只負(fù)責(zé)處理通信過程中的一部分問題,其它層不能實(shí)現(xiàn)其功能。我們進(jìn)行TCP/IP協(xié)議棧程序設(shè)計(jì)時,根據(jù)協(xié)議分層的思路采用模塊化的程序設(shè)計(jì)方法。為了在接收數(shù)據(jù)包后能根據(jù)數(shù)據(jù)包的類型(ICMP、TCP、UDP等)作出相應(yīng)的處理。我們設(shè)計(jì)了協(xié)議棧管理程序。當(dāng)接收到正確的以太網(wǎng)幀后,根據(jù)以太網(wǎng)幀的數(shù)據(jù)類型將接收的數(shù)據(jù)送至相應(yīng)的模塊程序進(jìn)一步處理。

2.3 Web服務(wù)程序

監(jiān)聽端口80來自遠(yuǎn)程測控端的請求,建立TCP連接。查詢與TCP連接相關(guān)聯(lián)的本地套接字,根據(jù)遠(yuǎn)程測控端的HTTP請求作出相應(yīng)的處理(讀取24LC256中的網(wǎng)頁數(shù)據(jù)、調(diào)用CGI處理函數(shù)),并將生成的網(wǎng)頁數(shù)據(jù)通過本地套接字發(fā)送至遠(yuǎn)程測控端。通訊完成后關(guān)閉套接字,斷開本次TCP連接。

2.4 CGI處理

本系統(tǒng)采用了CGI(公用網(wǎng)關(guān)接口) 來實(shí)現(xiàn)動態(tài)Web技術(shù)。Web服務(wù)器通過調(diào)用CGI程序?qū)崿F(xiàn)和瀏覽器的交互,也就是CGI程序接受瀏覽器發(fā)送給Web服務(wù)器的信息,進(jìn)行相應(yīng)處理,并將響應(yīng)結(jié)果回送給Web服務(wù)器及瀏覽器。

由于嵌入式Web服務(wù)器的一般應(yīng)用于專門的控制系統(tǒng),只需提供系統(tǒng)與用戶的簡單交互(用戶設(shè)定系統(tǒng)運(yùn)行參數(shù),系統(tǒng)將運(yùn)行的結(jié)果傳送至用戶端,進(jìn)行顯示,數(shù)據(jù)庫管理等操作),無需完全實(shí)現(xiàn)標(biāo)準(zhǔn)Web服務(wù)器提供的功能。因此,在本系統(tǒng)中CGI在Web服務(wù)器內(nèi)部作為函數(shù)處理,并通過兩個函數(shù)來完成CGI的相關(guān)工作。HTTPExecCmd 函數(shù)接受瀏覽器發(fā)送給WEB服務(wù)器的信息,并根據(jù)用戶發(fā)送的信息,調(diào)用相應(yīng)的函數(shù)進(jìn)行參數(shù)設(shè)置和控制執(zhí)行部件。HTTPGetVar 函數(shù)將現(xiàn)場采集的數(shù)據(jù)傳送到瀏覽器。當(dāng)網(wǎng)頁中存在變量需要用現(xiàn)場采集的數(shù)據(jù)代換時,Web服務(wù)程序則調(diào)用該函數(shù),用現(xiàn)場采集的數(shù)據(jù)替代網(wǎng)頁中的變量,從而將現(xiàn)場采集的數(shù)據(jù)傳送到遠(yuǎn)程測控端瀏覽器。

3 工程應(yīng)用

系統(tǒng)已應(yīng)用與多機(jī)房集中溫控,利用室內(nèi)與室外環(huán)境溫差降低室內(nèi)溫度,最大限度的達(dá)到節(jié)能的目的。圖3進(jìn)行系統(tǒng)運(yùn)行參數(shù)設(shè)置,圖4顯示現(xiàn)場溫度和各風(fēng)機(jī)和空調(diào)的運(yùn)行狀況,并進(jìn)行風(fēng)機(jī)和空調(diào)的遠(yuǎn)程手動控制。該系統(tǒng)經(jīng)現(xiàn)場安裝調(diào)試后投入運(yùn)行,使用效果良好,各項(xiàng)性能指標(biāo)均達(dá)到用戶要求。

4 結(jié)束語

利用PIC18FXXX單片機(jī)以及ENC28J60以太網(wǎng)控制器在不需要使用PC機(jī)的情況下接入互聯(lián)網(wǎng)。由于該系統(tǒng)可以滿足一般測控系統(tǒng)的要求,而且它的成本低、體積小,它可以作為一個模塊,直接嵌入到遠(yuǎn)程診斷/警報系統(tǒng)(家電、生產(chǎn)機(jī)械、POS終端、電源及服務(wù)器/網(wǎng)絡(luò))、保安(物業(yè)監(jiān)控、消防和安全系統(tǒng)、保安小鍵盤、門禁及指紋識別系統(tǒng))及遙感/傳動器(工業(yè)控制及自動化、燈光控制及室內(nèi)環(huán)境控制),這必將大大促進(jìn)以太網(wǎng)測控系統(tǒng)、信息家電等自動控制設(shè)備的發(fā)展。

參考文獻(xiàn):

[1] 李正軍.現(xiàn)場總線與工業(yè)以太網(wǎng)及其應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:人民郵電出版社,2006:270-371.

[2] 李農(nóng).因特網(wǎng)技術(shù)在嵌入式系統(tǒng)中的應(yīng)用[J].測控技術(shù),2000,19(4):15-16.

[3] Stevens W R.TCP/IP詳解 卷1:協(xié)議[M].北京:機(jī)械工業(yè)出版社,2000:81-230.

[4] 劉和平.PIC18FXXX單片機(jī)程序設(shè)計(jì)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2003:60-210.

[5] Microchip.PIC18FXX8 Data Sheet[Microchip Data Sheet][Z].2003:21-310.

[6] Microchip.ENC28J60 Data Sheet[Microchip Data Sheet][Z].2004:5-102.

[7] Microchip.MPLAB C18 C COMPILER LIBRARIES[Microchip Data Sheet][Z].2003:32-289.

主站蜘蛛池模板: 国产福利一区在线| 伊人国产无码高清视频| 亚洲婷婷在线视频| 污视频日本| av免费在线观看美女叉开腿| 国产综合在线观看视频| 8090成人午夜精品| 成人韩免费网站| 国产一级毛片网站| 亚洲国产精品VA在线看黑人| 欧美a在线视频| 深爱婷婷激情网| 永久免费AⅤ无码网站在线观看| 国产91精选在线观看| 国产第二十一页| 欧美69视频在线| 亚洲第一成年网| 原味小视频在线www国产| 国产精品视频第一专区| 91口爆吞精国产对白第三集| 亚洲国产天堂久久综合| 欧美国产综合色视频| 2020国产精品视频| 国产日韩精品一区在线不卡| 中文字幕人成乱码熟女免费| 无码福利视频| 日韩av电影一区二区三区四区| 中文字幕天无码久久精品视频免费| 五月婷婷综合网| AV在线天堂进入| 91亚洲视频下载| 国产精品99久久久| 色播五月婷婷| 四虎精品国产AV二区| 免费看a级毛片| 园内精品自拍视频在线播放| 亚洲天堂网站在线| 97国产成人无码精品久久久| 免费国产一级 片内射老| 国产av剧情无码精品色午夜| 午夜不卡视频| 91青青视频| 国国产a国产片免费麻豆| 久久免费精品琪琪| 伊人激情综合网| 超清无码一区二区三区| 97成人在线视频| 天天综合色网| 国产精品手机在线播放| 亚洲色图欧美视频| 永久在线精品免费视频观看| 亚洲国产中文在线二区三区免| 亚洲精品卡2卡3卡4卡5卡区| 999精品免费视频| 青青草国产一区二区三区| 亚国产欧美在线人成| 国产成人久视频免费| 亚洲最大在线观看| 久久超级碰| 久久亚洲国产最新网站| 欧美 亚洲 日韩 国产| 午夜丁香婷婷| 日本成人福利视频| 午夜综合网| 熟女日韩精品2区| 欧美日韩一区二区在线播放| 谁有在线观看日韩亚洲最新视频| 啊嗯不日本网站| 自拍偷拍欧美| 一级片免费网站| 制服丝袜国产精品| 国产69囗曝护士吞精在线视频| 精品国产99久久| 免费不卡在线观看av| 一级黄色欧美| 一级毛片免费观看久| 国产麻豆另类AV| 国产成人资源| …亚洲 欧洲 另类 春色| 色视频国产| 一区二区在线视频免费观看| 久热这里只有精品6|