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

嵌入式Internet體系結構研究

2009-09-02
作者:闕建榮

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

  關鍵詞: 嵌入式Internet? 體系結構? 嵌入式TCP/IP協(xié)議棧

?

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

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

1? 嵌入式Internet的體系結構

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

1.1 基于網(wǎng)關的體系結構

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

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

?

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

?

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

1.2 直連的體系結構

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

  要讓那些低檔的8位和16位嵌入式系統(tǒng)支持TCP/IP協(xié)議棧而直接連入Internet,可行的辦法就是針對嵌入式系統(tǒng)的特點對傳統(tǒng)的TCP/IP協(xié)議棧進行裁剪,。讓這些嵌入式設備支持一種輕量級的TCP/IP協(xié)議棧而直接連入Internet,。基于Webit的嵌入式Internet直連結構就是這一體系結構典型的應用實例,。

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

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

?

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

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

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

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

?

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

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

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

?

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

?

3? 結束語

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

?

參考文獻

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

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

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

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

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