當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]嵌入式Internet是指電子設(shè)備通過(guò)嵌入式模塊而非PC直接接入到Internet,與Internet進(jìn)行信息交互的過(guò)程。目前Internet成為全球最大、信息最豐富的互聯(lián)網(wǎng)絡(luò)。用戶甚至希望家電

嵌入式Internet是指電子設(shè)備通過(guò)嵌入式模塊而非PC直接接入到Internet,與Internet進(jìn)行信息交互的過(guò)程。目前Internet成為全球最大、信息最豐富的互聯(lián)網(wǎng)絡(luò)。用戶甚至希望家電設(shè)備、儀器儀表以及工業(yè)生產(chǎn)中的數(shù)據(jù)采集與控制等設(shè)備也能夠連接到Internet上,因?yàn)檫@意味著用戶可以方便、快捷、低廉地通過(guò)網(wǎng)絡(luò)進(jìn)行遠(yuǎn)程控制、監(jiān)測(cè)和信息傳送。美國(guó)貝爾實(shí)驗(yàn)室的科學(xué)家預(yù)測(cè),未來(lái)將會(huì)產(chǎn)生比PC時(shí)代多成百上千倍的超級(jí)嵌入式Internet服務(wù)器。Internet技術(shù)和嵌入式技術(shù)的相互融合,為嵌入式系統(tǒng)的設(shè)計(jì)和產(chǎn)品開發(fā)帶來(lái)了前所未有的發(fā)展空間和機(jī)遇。

1 單片機(jī)嵌入式Web應(yīng)用的硬件系統(tǒng)設(shè)計(jì)

在硬件系統(tǒng)的設(shè)計(jì)中,本文采用了ATMEL公司開發(fā)的高性能8位AVR(Advanced RISC)單片機(jī)AT90S8515,該單片機(jī)內(nèi)置8 KB可編程Flash,使用精簡(jiǎn)指令集,支持C語(yǔ)言及匯編語(yǔ)言,與MCS 8051系列單片機(jī)相比在性能上有很大的提高,在目前單片機(jī)開發(fā)中用得較多。因此利用AT90S8515單片機(jī)作為嵌入式系統(tǒng)的微處理器,通過(guò)網(wǎng)絡(luò)控制芯片將嵌入式系統(tǒng)與Internet相連接。其硬件系統(tǒng)框圖如圖1所示。

 

在電路的硬件系統(tǒng)組成中,注意以下幾點(diǎn):

(1)單片機(jī)與網(wǎng)卡芯片的接口電路

AT90S8515單片機(jī)所提供的8位數(shù)據(jù)總線PA0~PA7分別對(duì)應(yīng)連接網(wǎng)卡的SD0~SD7引腳;5根地址線PC0~PC4對(duì)應(yīng)連接網(wǎng)卡的 SA0~SA4引腳;讀信號(hào)線RD、寫信號(hào)線WR與RTL8019AS的相應(yīng)信號(hào)線連接[1]。復(fù)位通過(guò)PB0控制,PB1片選地址使能[2]。外接時(shí)鐘電路單片機(jī)為8 MHz,網(wǎng)卡芯片為20 MHz。

(2)存儲(chǔ)器擴(kuò)展電路

一般單片機(jī)片內(nèi)數(shù)據(jù)存儲(chǔ)器容量為64 KB,這樣的存儲(chǔ)空間在進(jìn)行單片機(jī)Web應(yīng)用系統(tǒng)的開發(fā)時(shí)顯得過(guò)小。因此需要擴(kuò)展數(shù)據(jù)存儲(chǔ)器,擴(kuò)展容量隨系統(tǒng)數(shù)據(jù)使用量而定。對(duì)于Web應(yīng)用,需要很大的存儲(chǔ)空間存放網(wǎng)頁(yè)等數(shù)據(jù),所以本系統(tǒng)采用靜態(tài)RAM HM62256芯片作為存儲(chǔ)器擴(kuò)展電路。

(3)RTL8019AS工作方式

RTL8019AS有3種工作方式:跳線方式、即插即用方式和RT免跳線方式[1]。在嵌入式應(yīng)用場(chǎng)合,為了降低系統(tǒng)的復(fù)雜性,單片機(jī)盡量少接不必要的芯片。所以將RTL8019AS選擇工作在跳線方式。其IOCS16B引腳接下拉電阻,JP引腳端接高電平。

(4)MAX232串口電平轉(zhuǎn)換電路

在現(xiàn)場(chǎng)控制端,由于單片機(jī)輸出為TTL電平,現(xiàn)場(chǎng)數(shù)據(jù)采集系統(tǒng)(如傳感器)輸出為EIA電平,而MAX232芯片可以完成單片機(jī)和現(xiàn)場(chǎng)數(shù)據(jù)采集系統(tǒng)間的雙向電平轉(zhuǎn)換[3]。

(5)網(wǎng)絡(luò)隔離濾波接口電路

在網(wǎng)絡(luò)接入端需要一個(gè)網(wǎng)絡(luò)隔離濾波器HR901170A。HR901170A主要對(duì)系統(tǒng)電路起保護(hù)作用,減少信號(hào)共模干擾,完成信號(hào)的傳輸。HR901170A的內(nèi)部集成了RJ45接口,可以直接接入到Internet。

2 嵌入式Internet的TCP/IP協(xié)議實(shí)現(xiàn)

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

軟件編程是實(shí)現(xiàn)嵌入式Web系統(tǒng)的關(guān)鍵。Web通信中的數(shù)據(jù)封裝、解析都是由單片機(jī)軟件實(shí)現(xiàn)的。軟件實(shí)現(xiàn)主要包括兩部分:一是單片機(jī)精簡(jiǎn)TCP/IP協(xié)議棧的實(shí)現(xiàn),對(duì)數(shù)據(jù)的逐層打包、封幀、傳送等流程[2];二是單片機(jī)Web應(yīng)用服務(wù)的實(shí)現(xiàn)。

由單片機(jī)組成的嵌入式Web往往應(yīng)用于特殊的、專用的領(lǐng)域,一般不需要太多的功能,這與PC機(jī)上的網(wǎng)絡(luò)應(yīng)用有很大的不同。支持PC機(jī)進(jìn)行Internet 通信的TCP/IP協(xié)議是一個(gè)非常龐大的協(xié)議簇。而單片機(jī)芯片沒(méi)有足夠的空間資源,所以從嵌入式網(wǎng)絡(luò)應(yīng)用和單片機(jī)空間資源兩個(gè)方面考慮,都沒(méi)有必要在單片機(jī)上實(shí)現(xiàn)完整的TCP/IP協(xié)議。目前市場(chǎng)上沒(méi)有統(tǒng)一的標(biāo)準(zhǔn)的實(shí)現(xiàn)嵌入式Internet的TCP/IP協(xié)議軟件,需要開發(fā)人員根據(jù)具體應(yīng)用的需要去開發(fā)一套適用于單片機(jī)的嵌入式TCP/IP協(xié)議,工作量異常龐大,開發(fā)周期較長(zhǎng)。一種比較簡(jiǎn)單和易實(shí)現(xiàn)的做法是使用由瑞士計(jì)算機(jī)科學(xué)院的Adam Dunkels等開發(fā)的免費(fèi)公開源代碼的小型TCP/IP協(xié)議,即uIP協(xié)議棧,它專門為8位和16位單片機(jī)編寫。uIP的代碼大小為3 304 B,對(duì)單片機(jī)RAM的需求為360 B,遠(yuǎn)遠(yuǎn)小于TCP/IP協(xié)議對(duì)資源的要求。有關(guān)uIP詳述和應(yīng)用例程可見參考文獻(xiàn)[4]。

2.2 uIP驅(qū)動(dòng)底層網(wǎng)絡(luò)設(shè)備RTL8019AS

uIP是一個(gè)僅包含3層網(wǎng)絡(luò)層核心協(xié)議的協(xié)議棧,uIP自身不包含任何類型的底層網(wǎng)絡(luò)驅(qū)動(dòng)和上層應(yīng)用程序,它只提供接口函數(shù)供用戶開發(fā)使用。因此為了完成與底層網(wǎng)絡(luò)設(shè)備的交互,用戶必須根據(jù)網(wǎng)絡(luò)設(shè)備的類型,在uIP中自行實(shí)現(xiàn)對(duì)底層網(wǎng)絡(luò)設(shè)備的驅(qū)動(dòng)。本文采用的網(wǎng)絡(luò)設(shè)備是RTL8019AS網(wǎng)卡,因此需要在 uIP中實(shí)現(xiàn)對(duì)RTL8019AS網(wǎng)卡的驅(qū)動(dòng)[4]。

RTL8019AS驅(qū)動(dòng)程序包括:RTL8019AS芯片初始化、芯片復(fù)位以及數(shù)據(jù)的發(fā)送和接收。RTL8019AS芯片初始化可以通過(guò)初始化函數(shù) void init_8019(void)完成。芯片復(fù)位通過(guò)芯片上的RSTDRV引腳執(zhí)行復(fù)位操作,該引腳高電平有效。

3 單片機(jī)上嵌入式Web服務(wù)器的軟件實(shí)現(xiàn)

3.1 Web服務(wù)器的建立

在進(jìn)行以上的工作之后,用戶就可以建立Web服務(wù)器,通過(guò)uIP協(xié)議實(shí)現(xiàn)不同的微控制器或工作站之間的通信。Web服務(wù)器和客戶端瀏覽器間的通信采用 HTTP協(xié)議。嵌入式系統(tǒng)經(jīng)常需要根據(jù)用戶的指令,采集系統(tǒng)的當(dāng)前數(shù)據(jù)信息傳送給客戶端瀏覽器,為實(shí)現(xiàn)這種客戶端瀏覽器和Web服務(wù)器的動(dòng)態(tài)交互,需要在服務(wù)器端采用通用網(wǎng)關(guān)接口CGI(Common Gateway Interface)技術(shù)。CGI是一個(gè)在服務(wù)器上運(yùn)行的程序,它分析處理用戶發(fā)送到服務(wù)器上的數(shù)據(jù)信息,完成動(dòng)態(tài)文件資源的創(chuàng)建和處理,再將用戶信息返回給客戶端。

Web服務(wù)器初始化完成后,服務(wù)器等待客戶端的連接請(qǐng)求,客戶端瀏覽器輸入服務(wù)器的IP地址后發(fā)一個(gè)物理地址解析協(xié)議(ARP)請(qǐng)求包,服務(wù)器收到后進(jìn)行應(yīng)答??蛻舳耸盏綉?yīng)答包后發(fā)送超文本傳輸協(xié)議(HTTP)包,服務(wù)器收到HTTP包后開始建立與客戶端的TCP連接并作出對(duì)此包的響應(yīng)??蛻舳耸盏巾憫?yīng)包后即斷開連接,服務(wù)器偵測(cè)到客戶端斷開了連接也同時(shí)斷開連接。

3.2 Web服務(wù)器數(shù)據(jù)處理流程

當(dāng)系統(tǒng)的網(wǎng)卡接收到從網(wǎng)絡(luò)傳送來(lái)的數(shù)據(jù)包后,首先分析目的地址是否與自己的物理地址一致,如果不一致,則丟棄此包;如果一致,則讀取網(wǎng)絡(luò)數(shù)據(jù)并分析。如果是ARP請(qǐng)求包,則轉(zhuǎn)入ARP處理程序,并發(fā)送一個(gè)ARP應(yīng)答包給客戶端。如果是IP包,則交由IP層處理,同時(shí)去掉以太網(wǎng)首部[4-5]。IP層根據(jù) IP首部的協(xié)議字段分析該IP包屬于什么數(shù)據(jù)包,如果是UDP包則,丟棄;如果是ICMP請(qǐng)求包,則發(fā)送一個(gè)ICMP應(yīng)答包給客戶端;如果是TCP包且 IP地址和端口號(hào)正確,則接收數(shù)據(jù)包,數(shù)據(jù)解包后,將數(shù)據(jù)部分通過(guò)串口輸出,控制MAX232現(xiàn)場(chǎng)設(shè)備。反之,如果現(xiàn)場(chǎng)通過(guò)串口發(fā)送數(shù)據(jù)到單片機(jī),單片機(jī)將數(shù)據(jù)按照TCP協(xié)議格式打包,送入RTL8019AS,由RTL8019AS將數(shù)據(jù)發(fā)送到局域網(wǎng)中。根據(jù)需要還可以在收到串口數(shù)據(jù)時(shí),先完成數(shù)據(jù)預(yù)處理,再將處理好的數(shù)據(jù)送到局域網(wǎng)。具體的處理過(guò)程如圖2所示。[!--empirenews.page--]

 

3.3 單片機(jī)上的Web服務(wù)器編程

uIP協(xié)議棧提供了一個(gè)稱為宏的UIP_APPCALL的應(yīng)用程序接口供用戶設(shè)計(jì)應(yīng)用程序時(shí)使用[4]。要在單片機(jī)上實(shí)現(xiàn)Web Server服務(wù),首先將該宏定義為一個(gè)應(yīng)用程序函數(shù)名,然后在此函數(shù)中實(shí)現(xiàn)HTTP協(xié)議。完成后,用戶可以從局域網(wǎng)內(nèi)的任何客戶機(jī)訪問(wèn)該單片機(jī)Web服務(wù)器。如果分配一個(gè)公網(wǎng)IP地址,則也可以從Internet上訪問(wèn)此Web服務(wù)器。實(shí)現(xiàn)的程序如下:

#define UIP_APPCALL uip_http /*定義宏UIP_APPCALL為uip_http的應(yīng)用程序函數(shù)*/

void uip_http(void) /*開始實(shí)現(xiàn)http協(xié)議建立Web服務(wù)器*/

{struct uip http_state*s;

s=(struct uip app_state*)uip_conn->appstate;

if(uip_connected())

{… /*打開連接接口函數(shù),開始一個(gè)新的應(yīng)用程序連接*/

}

if(uip_newdat()||uip_rexmit()) /*接收數(shù)據(jù)接口或重發(fā)數(shù)據(jù)接口函數(shù),應(yīng)用程序發(fā)送數(shù)據(jù)*/

{if(uip_datalen()>0) /*判定數(shù)據(jù)的大小接口函數(shù)

{if(uip_conn->lport==80) /*收到新連接端口號(hào)為80的請(qǐng)求,此即http應(yīng)用*/

{update_table_data();

s->dataptr=newpage;

s->dataleft=1957;

uip_send(s->dataptrs->dataleft); /*發(fā)送上述http應(yīng)用數(shù)據(jù)*/

}

}

}

if(uip_acked()) /*返回ACK數(shù)據(jù)確認(rèn)接口函數(shù)*/

{if(s->dataleft>uip_mss()&&uip_conn->lport==80)

{s->dataptr+=uip_conn->len;

s->dataleft-=uip-conn->len;

uip_send(s->dataptrs->dataleft);

}

return;

}

if(uip_poll())

{… /*輪詢接口函數(shù)用于輪詢各個(gè)客戶端發(fā)起的連接*/

return;

}

if(uip_timedout()|| /*判斷連接是否超時(shí)*/

uip_closed()|| /*關(guān)閉當(dāng)前的連接*/

uip_aborted()) /*中斷連接接口*/

{return;}

}

本文設(shè)計(jì)的系統(tǒng)成功應(yīng)用在寧波市某商業(yè)廣場(chǎng)的地下停車場(chǎng)監(jiān)測(cè)系統(tǒng)中。由于該商業(yè)廣場(chǎng)停車場(chǎng)業(yè)務(wù)量較大,常常導(dǎo)致車位飽和而客戶不知道的情形下進(jìn)入停車場(chǎng)尋找車位,而該停車場(chǎng)規(guī)定進(jìn)入停車場(chǎng)超過(guò)15 min的車輛即開始收費(fèi)。導(dǎo)致客戶常常尋找超過(guò)規(guī)定的時(shí)間而仍未找到停車位但需付費(fèi),從而發(fā)生客戶和管理方之間的糾紛,影響商業(yè)廣場(chǎng)的整體形象。使用了該系統(tǒng)后,各個(gè)車位上的數(shù)據(jù)采集系統(tǒng)實(shí)時(shí)采集停車信息并反饋給系統(tǒng)。系統(tǒng)在停車場(chǎng)入口處顯示停車場(chǎng)當(dāng)前有無(wú)可停車位以及哪些區(qū)域有空閑車位等信息。如果車位已滿,將會(huì)顯示無(wú)可停車位。除此之外,管理人員還可通過(guò)客戶端進(jìn)行查詢、計(jì)時(shí)計(jì)費(fèi)等工作。本系統(tǒng)最大的優(yōu)點(diǎn)是開發(fā)費(fèi)用低廉且操作簡(jiǎn)單。在本文設(shè)計(jì)的系統(tǒng)中,客戶端使用普通的Web瀏覽器,通過(guò)Internet即可與單片機(jī)嵌入式Web應(yīng)用服務(wù)器進(jìn)行通信。客戶端瀏覽器不需要開發(fā)額外的軟件,也不需要瀏覽器支持特別的功能??蛻舳丝赏ㄟ^(guò)訪問(wèn)嵌入式Web服務(wù)器的網(wǎng)頁(yè)內(nèi)容與之進(jìn)行交互。嵌入式Web與現(xiàn)場(chǎng)控制接口互連,可實(shí)現(xiàn)對(duì)被控設(shè)備的遠(yuǎn)程監(jiān)測(cè)、控制、診斷、管理及維護(hù)等。嵌入式技術(shù)和Internet技術(shù)的相互融合,加速了電子設(shè)備的網(wǎng)絡(luò)化應(yīng)用趨勢(shì)。應(yīng)用單片機(jī)作為嵌入式Internet技術(shù)的硬件設(shè)備可以降低系統(tǒng)的成本。本文設(shè)計(jì)的嵌入式Web系統(tǒng)根據(jù)不同的應(yīng)用需求,稍加修改即可應(yīng)用在智能家電、智能建筑、儀器儀表、通訊產(chǎn)品、工業(yè)控制等眾多領(lǐng)域。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉