《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 業(yè)界動(dòng)態(tài) > 嵌入式Internet體系結(jié)構(gòu)研究

嵌入式Internet體系結(jié)構(gòu)研究

2009-09-02
作者:闕建榮

  摘? 要: 研究了目前嵌入式Internet技術(shù)的二種典型體系結(jié)構(gòu),在此基礎(chǔ)上分析和研究了嵌入式TCP/IP協(xié)議棧的特點(diǎn)及其實(shí)現(xiàn)方法。

  關(guān)鍵詞: 嵌入式Internet? 體系結(jié)構(gòu)? 嵌入式TCP/IP協(xié)議棧

?

  嵌入式Internet是一種將嵌入式設(shè)備接入Internet的技術(shù)。利用該技術(shù)可將Internet從PC機(jī)延伸到8位、16位、32位單片機(jī),并實(shí)現(xiàn)基于Internet的遠(yuǎn)程數(shù)據(jù)采集、遠(yuǎn)程控制、自動(dòng)報(bào)警、上傳下載數(shù)據(jù)文件、自動(dòng)發(fā)送Email等功能,大大擴(kuò)展了Internet的應(yīng)用范圍。網(wǎng)絡(luò)專家預(yù)測(cè),將來(lái)在Internet上傳輸?shù)男畔⒅?有70%的信息來(lái)自小型嵌入式系統(tǒng)。嵌入式Internet將會(huì)產(chǎn)生比PC機(jī)時(shí)代多成百上千倍的瘦服務(wù)器和超級(jí)嵌入式瘦服務(wù)器。這些瘦服務(wù)器將與人們所能想到的各種物理信息、生物信息相聯(lián)接,通過(guò)Internet網(wǎng)自動(dòng)地、實(shí)時(shí)地、方便地、簡(jiǎn)單地提供給需要這些信息的對(duì)象。

  嵌入式Internet的技術(shù)正在不斷發(fā)展,新技術(shù)、新產(chǎn)品層出不窮,從底層硬件技術(shù)到頂層軟件所提供的解決方案都在不斷的完善。但從根本上講,嵌入式設(shè)備要接入Internet,它必須支持TCP/IP通信協(xié)議,這是不能選擇的。由于嵌入式系統(tǒng)是以計(jì)算機(jī)技術(shù)為基礎(chǔ)、軟硬件可裁剪并對(duì)成本、體積、功耗有嚴(yán)格要求的專用系統(tǒng),它對(duì)TCP/IP通信協(xié)議的支持有其自身的特點(diǎn),這些特點(diǎn)也決定了嵌入式Internet的體系結(jié)構(gòu)。

1? 嵌入式Internet的體系結(jié)構(gòu)

  目前,很多研究機(jī)構(gòu)和企業(yè)提出了許多有關(guān)嵌入式設(shè)備連入Internet的解決方案。從嵌入式設(shè)備對(duì)TCP/IP通信協(xié)議的支持方式和體系結(jié)構(gòu)分析,可以把這些解決方案歸納為以下二種。

1.1 基于網(wǎng)關(guān)的體系結(jié)構(gòu)

  嵌入式設(shè)備要支持TCP/IP通信協(xié)議,所需要的計(jì)算資源和存儲(chǔ)資源相當(dāng)可觀。而目前大多數(shù)的嵌入式設(shè)備其計(jì)算資源和存儲(chǔ)資源是有限的,不能直接支持TCP/IP協(xié)議棧。于是就出現(xiàn)了一種基于網(wǎng)關(guān)的結(jié)構(gòu)。這種結(jié)構(gòu)的核心思想就是,采用桌面計(jì)算機(jī)或高性能嵌入式處理器作為網(wǎng)關(guān),支持TCP/IP協(xié)議棧并運(yùn)行Internet服務(wù)程序(通常是Web Server)。網(wǎng)關(guān)和嵌入式設(shè)備之間則通過(guò)一些標(biāo)準(zhǔn)的輕量級(jí)總線(RS232、RS485等)和私有通信協(xié)議(由解決方案提供商提供)進(jìn)行通信。用戶通過(guò)網(wǎng)絡(luò)瀏覽器訪問(wèn)網(wǎng)關(guān)上運(yùn)行的服務(wù)器實(shí)現(xiàn)對(duì)這些嵌入式設(shè)備的遠(yuǎn)程訪問(wèn)和控制,從而實(shí)現(xiàn)嵌入式設(shè)備連入Internet。

  emWare公司開發(fā)的嵌入式微Internet網(wǎng)絡(luò)技術(shù)(Embedded Micro Internetworking Technology,EMIT)就是這種體系結(jié)構(gòu)的典型應(yīng)用。EMIT由emNet和emGateway二部分組成,如圖1所示。emNet協(xié)議運(yùn)行在MCU內(nèi)部,是為嵌入式系統(tǒng)和其他網(wǎng)絡(luò)(如RS485、IR、RF和電力線等)進(jìn)行聯(lián)接的網(wǎng)絡(luò)協(xié)議。同時(shí),emNet使得集成emMicro的嵌入式系統(tǒng)能夠和嵌入式微控制器網(wǎng)關(guān)emGateway進(jìn)行有效的通信。嵌入式微控制器網(wǎng)關(guān)(即emGateway)運(yùn)行在計(jì)算機(jī)、TV機(jī)頂盒或?qū)S玫募矣秒娖鞣?wù)器中,它是嵌入式設(shè)備和Internet之間聯(lián)接的橋梁。應(yīng)用系統(tǒng)運(yùn)行MCU內(nèi)的emNet,通過(guò)emGateway連入Internet。

?

  Webchip是一種使嵌入式電子設(shè)備和家用電器與網(wǎng)絡(luò)方便聯(lián)接的實(shí)用解決方案(圖2)。它也是基于網(wǎng)關(guān)的體系結(jié)構(gòu)應(yīng)用的一個(gè)典型實(shí)例。Webchip是獨(dú)立于各種微控制器的專用網(wǎng)絡(luò)接口芯片。它通過(guò)標(biāo)準(zhǔn)的輸入、輸出口與各種MCU相連。MCU通過(guò)Webchip與網(wǎng)關(guān)聯(lián)接即可接收并執(zhí)行經(jīng)由Internet遠(yuǎn)程傳來(lái)的命令或?qū)?shù)據(jù)交給Webchip發(fā)送出去。MCU應(yīng)用系統(tǒng)通過(guò)Webchip網(wǎng)絡(luò)芯片與Gateway聯(lián)接,再連入Internet?;赪ebchip的嵌入式Internet體系結(jié)構(gòu)最終還是要通過(guò)網(wǎng)關(guān)連入Internet,它只不過(guò)是用硬件代替軟件實(shí)現(xiàn)的方式屏蔽了底層的通信機(jī)制和網(wǎng)關(guān)的交互過(guò)程,可以說(shuō)是EMIT體系結(jié)構(gòu)的一個(gè)變種。

?

  基于網(wǎng)關(guān)的體系結(jié)構(gòu)的最大優(yōu)點(diǎn)就是網(wǎng)關(guān)中的一個(gè)IP地址可以聯(lián)接多個(gè)嵌入式設(shè)備。但它需要PC機(jī)做網(wǎng)關(guān),因而增加了整個(gè)系統(tǒng)的成本。

1.2 直連的體系結(jié)構(gòu)

  讓嵌入式設(shè)備連入Internet的最直接方法就是讓嵌入式系統(tǒng)本身支持完整TCP/IP協(xié)議棧。要支持TCP/IP通信協(xié)議,所需要的計(jì)算資源和存儲(chǔ)資源相當(dāng)可觀。因此這種讓嵌入式設(shè)備本身支持完整的TCP/IP協(xié)議棧直接連入Internet的結(jié)構(gòu)只適用于那些高檔的嵌入式處理器,如32位的ARM、SH3、MIPS等。而對(duì)那些低檔的8位和16位嵌入式系統(tǒng),這個(gè)方案顯然行不通。

  要讓那些低檔的8位和16位嵌入式系統(tǒng)支持TCP/IP協(xié)議棧而直接連入Internet,可行的辦法就是針對(duì)嵌入式系統(tǒng)的特點(diǎn)對(duì)傳統(tǒng)的TCP/IP協(xié)議棧進(jìn)行裁剪。讓這些嵌入式設(shè)備支持一種輕量級(jí)的TCP/IP協(xié)議棧而直接連入Internet?;赪ebit的嵌入式Internet直連結(jié)構(gòu)就是這一體系結(jié)構(gòu)典型的應(yīng)用實(shí)例。

  Webit是國(guó)內(nèi)某公司研制開發(fā)的用于嵌入式系統(tǒng)接入Internet的一個(gè)實(shí)用產(chǎn)品,它將MCU和以太網(wǎng)控制器集成到一塊小板卡上,將它內(nèi)置到嵌入系統(tǒng)中就可以完成嵌入式系統(tǒng)與Internet網(wǎng)的聯(lián)接,如圖3所示。Webit有自己的IP地址,有很高的集成度。它將協(xié)議處理部分獨(dú)立出來(lái),使開發(fā)人員省去了網(wǎng)絡(luò)部分的設(shè)計(jì),可將主要精力放在應(yīng)用系統(tǒng)本身。

Webit實(shí)際上是個(gè)嵌入式瘦Web服務(wù)器。其中運(yùn)行的TCP/IP協(xié)議棧是經(jīng)過(guò)裁剪了的。嵌入式Internet直連體系結(jié)構(gòu)無(wú)需網(wǎng)關(guān),發(fā)布比較靈活,開發(fā)成本相對(duì)較低,但需要獨(dú)立的IP地址。

?

  相對(duì)于技術(shù)和應(yīng)用比較成熟的基于網(wǎng)關(guān)的體系結(jié)構(gòu),嵌入式Internet直連結(jié)構(gòu)還需要不斷完善。從這種體系結(jié)構(gòu)的特點(diǎn)可以看出,實(shí)現(xiàn)這種體系結(jié)構(gòu)的關(guān)鍵問(wèn)題就是如何針對(duì)嵌入式系統(tǒng)的特點(diǎn)及其具體的應(yīng)用場(chǎng)合對(duì)傳統(tǒng)的TCP/IP協(xié)議棧進(jìn)行裁剪,以得到適合于嵌入式Internet直連結(jié)構(gòu)的嵌入式TCP/IP協(xié)議棧,這也正是近年來(lái)研究的熱點(diǎn)。

2?嵌入式TCP/IP協(xié)議棧的特點(diǎn)及其實(shí)現(xiàn)方法

  和嵌入式系統(tǒng)面向特定的應(yīng)用一樣,分析嵌入式TCP/IP協(xié)議棧的特點(diǎn)和對(duì)傳統(tǒng)的TCP/IP協(xié)議棧進(jìn)行簡(jiǎn)化也要針對(duì)特定的系統(tǒng)環(huán)境和應(yīng)用背景。離開了特定的系統(tǒng)環(huán)境和應(yīng)用背景來(lái)討論嵌入式TCP/IP協(xié)議棧的特點(diǎn)和對(duì)TCP/IP協(xié)議棧進(jìn)行簡(jiǎn)化是沒(méi)有意義的。這里所討論的嵌入式TCP/IP協(xié)議棧是針對(duì)那些低檔的8位和16位嵌入式系統(tǒng)能支持嵌入式Internet直連體系結(jié)構(gòu)而提出的。

  低檔嵌入式系統(tǒng)中一般沒(méi)有多任務(wù)操作系統(tǒng)支持,嵌入式TCP/IP協(xié)議棧直接面對(duì)硬件。MCU中的程序結(jié)構(gòu)一般是順序執(zhí)行和硬件中斷相配合的方式。由于嵌入式處理器的時(shí)鐘頻率低,地址、數(shù)據(jù)總線窄,所以對(duì)一個(gè)IP包的處理要花很多的時(shí)間。如果采用中斷處理方式,勢(shì)必影響其他中斷和任務(wù)的執(zhí)行。當(dāng)系統(tǒng)中有實(shí)時(shí)數(shù)據(jù)采集、串口通信中斷、鍵盤中斷等實(shí)時(shí)任務(wù)時(shí),則會(huì)造成很大的沖突。設(shè)計(jì)時(shí)需要合理劃分中斷處理程序,將無(wú)實(shí)時(shí)要求和費(fèi)時(shí)的嵌入式TCP/IP協(xié)議棧的處理放在主程序順序循環(huán)中。對(duì)網(wǎng)絡(luò)接口控制芯片采用查詢式,即在其他中斷任務(wù)的執(zhí)行間隙處理嵌入式TCP/IP協(xié)議棧,以犧牲響應(yīng)速度來(lái)?yè)Q取系統(tǒng)可靠性(圖4)。由于處理不及時(shí)可能會(huì)發(fā)生溢出、丟包等,這可依靠TCP協(xié)議本身的機(jī)制來(lái)保證可靠傳輸。

?

  緩沖區(qū)方案的選擇對(duì)TCP/IP協(xié)議棧的性能影響很大。8位或16位嵌入式系統(tǒng)中存儲(chǔ)空間一般只有幾十字節(jié),在設(shè)計(jì)嵌入式TCP/IP協(xié)議棧時(shí),不但要考慮協(xié)議棧本身的大小,還要考慮緩沖區(qū)的設(shè)置。一個(gè)最大的以太網(wǎng)包的大小超過(guò)1500個(gè)字節(jié),嵌入式系統(tǒng)一般只能提供幾十字節(jié)的空間,并要被各個(gè)協(xié)議所用。所以只能申請(qǐng)一個(gè)能存放一個(gè)最大以太網(wǎng)包的緩沖區(qū)來(lái)存放接收到的數(shù)據(jù)包,收到一包處理一包,其存儲(chǔ)地址是固定的,而不是動(dòng)態(tài)分配的。同時(shí)這個(gè)緩沖區(qū)還要作為發(fā)送包時(shí)的緩沖區(qū)用。在大多數(shù)應(yīng)用中,嵌入式TCP/IP協(xié)議棧用于嵌入式瘦服務(wù)器,其接收包的類型一般為系統(tǒng)狀態(tài)配置包、控制動(dòng)作命令包、通信控制包等,包中裝載的數(shù)據(jù)較少。而嵌入式瘦服務(wù)器發(fā)回給客戶的數(shù)據(jù)包中含有一些嵌入式瘦服務(wù)器的實(shí)時(shí)狀態(tài)信息或網(wǎng)頁(yè),包中裝載的數(shù)據(jù)較多,可以通過(guò)精心設(shè)計(jì),使這些數(shù)據(jù)能用一個(gè)以太網(wǎng)包發(fā)送出去。

  在IP層,根據(jù)嵌入式系統(tǒng)特定的應(yīng)用背景,可以對(duì)其通信環(huán)境做出一些假設(shè)。只考慮一般的情況,例如:如果數(shù)據(jù)包經(jīng)過(guò)最大傳輸單元(MTV)不同的物理網(wǎng)絡(luò),則IP層必須支持?jǐn)?shù)據(jù)包的分片和重裝。但現(xiàn)有的網(wǎng)絡(luò)一般都支持以太網(wǎng),因此可以不考慮IP數(shù)據(jù)包的分片和重裝,這在一般情況下是可行的。因此嵌入式TCP/IP協(xié)議棧中的IP層協(xié)議可以把路由、分片、重裝等功能裁減掉。

  TCP/IP協(xié)議棧中的TCP協(xié)議實(shí)現(xiàn)面向連接的、端到端的可靠通信協(xié)議。它采用了許多機(jī)制來(lái)保證傳輸?shù)目煽啃?例如通過(guò)確認(rèn)ACK和定時(shí)器來(lái)判斷是否有必要重發(fā);通過(guò)序列號(hào)來(lái)解決通信時(shí)的丟失、重復(fù)、失序等問(wèn)題。前面提到嵌入式TCP/IP協(xié)議棧一般用于嵌入式瘦服務(wù)器。TCP有限狀態(tài)機(jī)只需要實(shí)現(xiàn)服務(wù)器端的TCP有限狀態(tài)機(jī)即可。在發(fā)送數(shù)據(jù)包時(shí)可以采用“發(fā)送—停止—等待—確認(rèn)—發(fā)送”的方式,不實(shí)現(xiàn)滑動(dòng)窗口協(xié)議。由于每次只緩沖和發(fā)送一個(gè)包,接受一包處理一包,不必考慮流量控制和擁塞控制。在一般的應(yīng)用場(chǎng)合,和嵌入式TCP/IP協(xié)議棧通信的是完整的TCP/IP協(xié)議棧。當(dāng)這些嵌入式瘦服務(wù)器發(fā)送的包丟失后,對(duì)方收不到確認(rèn)包,認(rèn)為自己所發(fā)的包丟失,超時(shí)重發(fā),而嵌入式瘦服務(wù)器此時(shí)再響應(yīng),仍然可以保證可靠性。因此嵌入式TCP/IP協(xié)議棧的TCP協(xié)議可以不實(shí)現(xiàn)超時(shí)重發(fā)機(jī)制。嵌入式TCP/IP協(xié)議棧中TCP協(xié)議處理流程如圖5所示。

?

  嵌入式TCP/IP協(xié)議棧接口的設(shè)計(jì)一般不遵循BSD Socket接口標(biāo)準(zhǔn),而采用基于事件驅(qū)動(dòng)的程序模型。應(yīng)用程序(協(xié)議)用一個(gè)C函數(shù)實(shí)現(xiàn)。當(dāng)一個(gè)事件到達(dá)時(shí)(如一個(gè)新的連接請(qǐng)求到達(dá),一個(gè)新的數(shù)據(jù)包到達(dá)一個(gè)已經(jīng)建立的連接等),應(yīng)用程序(協(xié)議)就會(huì)被調(diào)用,并由應(yīng)用程序根據(jù)所發(fā)生的事件做出處理。嵌入式TCP/IP協(xié)議棧與傳統(tǒng)TCP/IP協(xié)議棧的區(qū)別如表1所示。

?

3? 結(jié)束語(yǔ)

  隨著嵌入式Internet技術(shù)的不斷發(fā)展,將來(lái)可能會(huì)出現(xiàn)新的嵌入式Internet解決方案。但有一點(diǎn)是不能選擇的:嵌入式系統(tǒng)要接入Internet則最終要通過(guò)TCP/IP通信協(xié)議的支持,不管這種支持是直接的還是間接的。同時(shí)TCP/IP協(xié)議棧解決的是個(gè)通信問(wèn)題,對(duì)TCP/IP通信協(xié)議的研究和簡(jiǎn)化不會(huì)因?yàn)榍度胧较到y(tǒng)性能的提高而變得沒(méi)有意義。將來(lái),也許會(huì)用輕量級(jí)TCP/IP協(xié)議棧取代目前一些標(biāo)準(zhǔn)的輕量級(jí)通信協(xié)議(如RS-232等)而成為嵌入式設(shè)備和網(wǎng)關(guān)之間進(jìn)行通信的一種解決方案。

?

參考文獻(xiàn)

1? 呂京建.嵌入式因特網(wǎng)技術(shù)的興起與前景.今日電子,2000;增刊7~10

2? 彭少熙.家庭網(wǎng)絡(luò)中的嵌入式Internet方案.電子技術(shù)應(yīng)用,2001;(10)

3? 黎明.Webchip智能Internet網(wǎng)絡(luò)接口芯片及其應(yīng)用.力源電子工程,2000;(2)

4? 李明,廖靜秋.嵌入式TCP/IP協(xié)議棧的研究與開發(fā).計(jì)算機(jī)工程與應(yīng)用,2002;(16)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。