(重慶郵電學(xué)院,重慶400065)
摘 要:首先介紹嵌入式Internet技術(shù)的發(fā)展和廣闊的應(yīng)用前景以及嵌入式Internet技術(shù)的基本概念和原理,然后重點闡述了嵌入式系統(tǒng)接入Internet的幾種方式,包括各種接入方式的工作原理,對TCP/IP的處理方法及所需的其他協(xié)議、軟硬件等,并對它們各自的優(yōu)缺點進行了比較,指出了新的發(fā)展方向。
關(guān)鍵詞:嵌入式系統(tǒng);嵌入式Internet;TCP/IP協(xié)議
0 引 言
嵌入式Internet技術(shù)是一種將嵌入式設(shè)備接入Internet的技術(shù),利用該技術(shù)可將Internet從PC機延伸到8位、16位、32位單片機,并實現(xiàn)基于Inter-net的遠(yuǎn)程數(shù)據(jù)采集、遠(yuǎn)程控制、自動報警、上傳/下載數(shù)據(jù)文件、自動發(fā)送E-mail等功能,大大擴展In-ternet的應(yīng)用范圍。
嵌入式Internet技術(shù)的出現(xiàn)時間并不很長,但是發(fā)展速度卻非常之快,新思想不斷涌現(xiàn),新概念連續(xù)推出,新技術(shù)層出不窮,新產(chǎn)品不斷產(chǎn)生,從底層硬件技術(shù)所提供的解決方案到頂層軟件所開拓的想像空間,都在不斷地推陳出新。隨著PC機時代的到來,21世紀(jì)將是嵌入式Internet的時代。美國貝爾實驗室總裁Arun Netravali的一批科學(xué)家對此做出了預(yù)測:嵌入式Internet“將會產(chǎn)生比PC機時代多成百上千倍的瘦服務(wù)器和超級嵌入式瘦服務(wù)器。這些瘦服務(wù)器將與我們所能想到的各種物理信息、生物信息相聯(lián)接,通過Internet網(wǎng)自動地、實時地、方便地、簡單地提供給需要這些信息的對象”[1]。
網(wǎng)絡(luò)專家預(yù)測,將來在Internet上傳輸?shù)男畔⒅,將?0%的信息來自小型嵌入式系統(tǒng)[2]。嵌入式Internet將有很好的發(fā)展前景和廣闊的市場,未來的Internet技術(shù)將是嵌入式Internet占主導(dǎo)地位,因此嵌入式系統(tǒng)與Internet的接入方式已成為人們研究的熱點。
1 嵌入式Internet的基礎(chǔ)
嵌入式Internet是嵌入式系統(tǒng)與Internet的結(jié)合。嵌入式系統(tǒng)中包含嵌入式處理機、嵌入式操作系統(tǒng)和應(yīng)用電路部分,與Internet的接入則必須有對應(yīng)的接入?yún)f(xié)議,如通用的TCP/IP協(xié)議。因此,實現(xiàn)嵌入式Internet的基礎(chǔ)是嵌入式處理機、嵌入式操作系統(tǒng)和接入Internet的通信協(xié)議。
。1)嵌入式處理機
單片機就是典型的嵌入式處理機,如常見的In-tel的8051系列、Atmel的AVR、MicroChip的PIC、Motorola的Dragonball、Cygnal的C8051F等,以及一些高端的單片機如ARM、SH3、MIPS等,嵌入式處理機的種類有幾百種。處理機是嵌入式系統(tǒng)的核心,其性能直接影響整個系統(tǒng)的性能高低,影響接入Internet的方式和成本。
。2)嵌入式操作系統(tǒng)
嵌入式系統(tǒng)要完成復(fù)雜的功能,已經(jīng)不可能像普通單片機一樣,直接從底層開始編寫所有程序,必須采用底層的操作系統(tǒng),在此基礎(chǔ)上來完成復(fù)雜的應(yīng)用軟件設(shè)計。但由于嵌入式系統(tǒng)自身資源的限制,嵌入式操作不可能像PC機的操作系統(tǒng)一樣龐大,Windows98/2000有幾百兆字節(jié),而嵌入操作系統(tǒng)一般只有100-200半字節(jié)。同時嵌入操作系統(tǒng)還必須是實時多任務(wù)操作系統(tǒng),而Windows98/2000不是實時操作系統(tǒng)。另一方面,嵌入式處理機的種類繁多,嵌入操作系統(tǒng)還必須支持多種不同處理器體系結(jié)構(gòu)的眾多處理機。
目前國際上嵌入式系統(tǒng)的主流是實時多任務(wù)操作系統(tǒng)(RTOS:Real-Time Operating System)。RTOS是嵌入式應(yīng)用軟件的基礎(chǔ)和開發(fā)平臺,是一段嵌入在目標(biāo)代碼中的軟件,用戶的其它應(yīng)用程序都建立在RTOS之上。不但如此,RTOS還是一個標(biāo)準(zhǔn)的內(nèi)核,將CPU時間、中斷、I/O、定時器等資源都包裝起來,留給用戶一個標(biāo)準(zhǔn)的API,并根據(jù)各個任務(wù)的優(yōu)先級,合理地在不同任務(wù)之間分配CPU時開發(fā)基礎(chǔ)。這樣一來,基于RTOS上的C語言程序具有極大的可移植性。同時,在RTOS基礎(chǔ)上可以編寫出各種硬件驅(qū)動程序、專家?guī)旌瘮?shù)、行業(yè)庫函數(shù)、產(chǎn)品庫函數(shù)和通用性的應(yīng)用程序一起,可以作為產(chǎn)品銷售,促進行業(yè)內(nèi)的知識產(chǎn)權(quán)交流。
雖然商品化的嵌入式操作系統(tǒng)在20世紀(jì)70年代后期才出現(xiàn),但到20世紀(jì)末,成熟的商品化操作系統(tǒng)已經(jīng)十分豐富了,如Palm OS,VxWorks,pSOS,Nuclear,VelOSity,QNX,VRTX,WindowsCE(現(xiàn)改名為Windows Powered)以及目前炒得很熱的嵌入式Linux等。
。3)接入Internet的通信協(xié)議
嵌入式系統(tǒng)接入Internet同PC機接入Internet一樣,必須通過相應(yīng)的通信協(xié)議。目前的Internet采用TCP/IP協(xié)議,因此嵌入式系統(tǒng)接入Internet最終必須通過TCP/IP接入,嵌入式系統(tǒng)對信息進行TCP/IP協(xié)議處理,使其變成可以在Internet上傳輸?shù)腎P數(shù)據(jù)包。若采用網(wǎng)關(guān)方式,在網(wǎng)關(guān)前端可以采用適合嵌入處理機和起控制作用的新協(xié)議,通過網(wǎng)關(guān)轉(zhuǎn)換后變成標(biāo)準(zhǔn)IP包接入Internet。
由于嵌入式系統(tǒng)自身資源的限制,處理能力不如臺式機強,以及從PC機上來的TCP/IP的復(fù)雜性,使得處理通信協(xié)議成為嵌入式系統(tǒng)接入Internet的關(guān)鍵,也是嵌入式系統(tǒng)接入Internet的難點之一。因此下面著重分析當(dāng)前的幾種接入方式以及對協(xié)議的不同處理方法。
2 嵌入Internet的幾種接入方式
2.1 處理機加TCP/IP協(xié)議方式
采用處理機加TCP/IP協(xié)議方式,MCU處理機像PC機一樣直接處理TCP/IP協(xié)議,一般需要高檔的處理機,如32位的ARM,SH3,MIPS等MCU和一些單周期指令速度較高的8位MCU,如AVR、SX等,其結(jié)構(gòu)見圖1。
對TCP/IP協(xié)議的具體處理又有2種方法。一種方法是采用實時操作系統(tǒng)RTOS,用軟件方式直接處理TCP/IP協(xié)議。實時操作系統(tǒng)的功能越來越強大,許多都具有對圖像界面和TCP/IP的支持能力。采用這種方式最靈活,能按用戶需求實現(xiàn)很多復(fù)雜的功能,當(dāng)然靈活的同時帶來的是開發(fā)復(fù)雜度的增加,對開發(fā)人員的要求高,對操作系統(tǒng)和TCP/IP協(xié)議都要有一定的熟悉程度,因此開發(fā)周期也較長,高檔MCU和RTOS的價格也很高。
另一種是采用固化了TCP/IP協(xié)議的硬件芯片,如Seiko Instruments公司的S7600A等,它支持HTTP、SMTP、POP3、MIME等多種協(xié)議,通過外部硬件電路處理TCP/IP協(xié)議。也可用UBICOM公司(原Scenix公司)的SX單片機加虛擬外設(shè)的方式。SX單片機采用CPU并行流水線和單時鐘周期指令,其極限運行速度系數(shù)等于1,達到最大值,支持的晶振最大到100 MHz,因此執(zhí)行速度可達100MIPS。SX單片機的最大特點是支持虛擬外設(shè),將許多功能模塊(如DTMF接收與發(fā)送、TCP/IP協(xié)議等)設(shè)計成軟件功能模塊,需要使用某功能時直接調(diào)用相應(yīng)模塊,其效果等同于安裝對應(yīng)硬件外設(shè)電路,但虛擬外設(shè)方式更靈活更方便,且硬件電路簡單。該方式與前一種相比更方便,開發(fā)難度有所降低,但還是需要熟悉TCP/IP協(xié)議和相關(guān)接口。
這兩種方式類似于在MCU上實現(xiàn)PC機加網(wǎng)卡的功能,MCU直接處理TCP/IP協(xié)議,復(fù)雜度較高,且每個MCU也需要一個IP地址,而IP地址需要付費使用。它需要高檔的MCU處理機和較高的開發(fā)成本,因此一般只會在一些高檔產(chǎn)品(如汽車)中使用。它有一個好處是不需要PC機做網(wǎng)關(guān)。
2.2 Webit方式
Webit是沈陽東大新業(yè)信息技術(shù)股份有限公司研制開發(fā)的嵌入式系統(tǒng)接入Internet的一個實用產(chǎn)品,它將MCU和以太網(wǎng)控制器集成到一塊小板卡上,將它裝入到嵌入系統(tǒng)中就可以完成嵌入系統(tǒng)與Internet網(wǎng)的聯(lián)接。Webit有自己的IP地址,與前面提到的第一種方式相似,但它有更高的集成度,將協(xié)議處理部分獨立出來,開發(fā)人員省去了網(wǎng)絡(luò)部分的設(shè)計,可將主要精力放在應(yīng)用系統(tǒng)本身。
Webit總體上是一個基于AVR單片機的系統(tǒng),在單片機內(nèi)有用來存儲系統(tǒng)服務(wù)程序的8千字節(jié)的FLASH空間、512字節(jié)的RAM空間以及用來存放
系統(tǒng)參數(shù)(IP地址、MAC地址、串口波特率等)的EEPROM。在單片機的外圍,有用來存放Web頁面的EEPROM。系統(tǒng)中包含一個10 M以太網(wǎng)控制器,用來提供網(wǎng)絡(luò)的聯(lián)接。系統(tǒng)提供的應(yīng)用系統(tǒng)接口為TTL電平的UART口及14位I/O口,通過它與應(yīng)用系統(tǒng)相連,其應(yīng)用方式見圖2。
Webit方式實際上與第一種方式類似,只是將協(xié)議處理部分分離出來由Webit單獨完成,開發(fā)人員可以不必考慮網(wǎng)絡(luò)協(xié)議和相關(guān)接口,但也需要獨立的IP地址。該方式也不需要網(wǎng)關(guān),無需PC機,軟、硬件結(jié)構(gòu)可以獨立設(shè)計,其開發(fā)成本相對較低。
2.3 采用專用嵌入式網(wǎng)絡(luò)協(xié)議
利用emWare公司開發(fā)的嵌入式微Internet網(wǎng)絡(luò)技術(shù)(EMIT:Embedded Micro InternetworkingTechnology)。EMIT由emNet和emGateway兩部分組成,emNet協(xié)議運行在MCU內(nèi)部,是為嵌入式系統(tǒng)和其他網(wǎng)絡(luò)(如RS485、IR、RF和電力線等)進行聯(lián)接的網(wǎng)絡(luò)協(xié)議。同時,emNet使得集成emMicro的嵌入式系統(tǒng)能夠和嵌入式微控制器網(wǎng)關(guān)emGate-way進行有效的通信。嵌入式微控制器網(wǎng)關(guān)(即em-Gateway)運行在計算機、TV機頂盒或?qū)S玫募矣秒娖鞣⻊?wù)器中,它是設(shè)備網(wǎng)絡(luò)和Internet之間聯(lián)接的橋梁。應(yīng)用系統(tǒng)運行MCU內(nèi)的emNet,通過em-Gateway與Internet聯(lián)接,見圖3。
具體來講,EMIT采用桌面計算機或高性能嵌入式處理器作為網(wǎng)關(guān)emGateway,支持TCP/IP協(xié)議并運行Internet服務(wù)程序,形成一個用戶可通過網(wǎng)絡(luò)瀏覽器進行遠(yuǎn)程訪問的服務(wù)器,emGateway通過RS232、RS485、CAN、紅外、射頻等總線將多個嵌入式設(shè)備聯(lián)系起來,每個嵌入式設(shè)備的應(yīng)用程序中包含一個獨立的通信任務(wù),稱為emMicro,監(jiān)測嵌入式設(shè)備中預(yù)先定義的各個變量,并將結(jié)果反饋到emGateway中;同時emMicro還可以解釋emGate-way的命令,修改設(shè)備中的變量,或進行某種控制。
這種方式要求設(shè)計工程師必須熟悉emNet協(xié)議和相關(guān)的接口,并且軟硬件設(shè)計的工作量仍然較大。應(yīng)用系統(tǒng)的MCU處理emNet協(xié)議要占用一定的系統(tǒng)資源,對MCU的要求也較高,同時需要微機做網(wǎng)關(guān)。優(yōu)點是網(wǎng)關(guān)中的一個IP地址可以聯(lián)接多個嵌入式應(yīng)用系統(tǒng)。
2.4 使用專用芯片Webchip
Webchip是武漢力源公司于2000年4月開發(fā)出使嵌入式電子設(shè)備和家用電器與網(wǎng)絡(luò)方便聯(lián)接的實用解決方案。Webchip是獨立于各種微控制器的專用網(wǎng)絡(luò)接口芯片,它通過標(biāo)準(zhǔn)的輸入、輸出口與各種MCU相連。MCU通過Webchip與網(wǎng)關(guān)聯(lián)接即可接收并執(zhí)行經(jīng)由Internet遠(yuǎn)程傳來的命令或?qū)?shù)據(jù)交給Webchip發(fā)送出去。MCU應(yīng)用系統(tǒng)通過Webchip網(wǎng)絡(luò)芯片與Gateway聯(lián)接,再進入Internet網(wǎng),如圖4所示。
Webchip內(nèi)部固化了MCUNet協(xié)議,它與em-Gateway和OSGi協(xié)議兼容,是MCU電子設(shè)備與計算機平臺上的Gateway建立聯(lián)系的一種軟件協(xié)議,可以處理MCU與Gateway之間的通信。MCUNet協(xié)議結(jié)構(gòu)簡單,但功能很強。Webchip作用就是解釋通信協(xié)議,控制數(shù)據(jù)傳輸,使MCU應(yīng)用系統(tǒng)不用去管理協(xié)議的具體內(nèi)容,只需要解釋和執(zhí)行Webchip送來的命令(Webchip與MCU之間共有17條命令)。Webchip將來自MCU的數(shù)據(jù)編譯成符合協(xié)議規(guī)定的格式,然后傳給Gateway,而由Gateway下傳的命令和數(shù)據(jù)由Webchip負(fù)責(zé)解釋,然后通過命令方式送給MCU。圖4中的網(wǎng)關(guān)服務(wù)器用于協(xié)議的解釋、轉(zhuǎn)換、執(zhí)行等,通常由一臺普通PC機來實現(xiàn)。
Webchip的簡要工作過程是:Webchip通過SPI三線串行接口與MCU應(yīng)用系統(tǒng)聯(lián)接。它與MCU應(yīng)用系統(tǒng)交換信息是由17條簡單的指令進行控制。Webchip的另一端以RS-232、RS-485或Modem等接口電路與基于PC機平臺的網(wǎng)關(guān)接口。Webchip在MCU應(yīng)用系統(tǒng)接入Internet的過程中實際上是起
了底層協(xié)議的編譯、解釋和轉(zhuǎn)換作用,將MCU應(yīng)用系統(tǒng)與網(wǎng)關(guān)再與Internet聯(lián)接起來。這是由于PC機網(wǎng)關(guān)能提供HTTP服務(wù),又可與網(wǎng)絡(luò)瀏覽器接口。
這種方案相對更簡單,對MCU要求較低,無論是運行速度、硬件配置和存儲器容量等方面均無特殊要求;軟件設(shè)計也只需在原應(yīng)用系統(tǒng)的基礎(chǔ)上增加一小段接口程序,其它無需作大的改動。對設(shè)計工程師,不需要熟悉復(fù)雜的網(wǎng)絡(luò)協(xié)議和相關(guān)接口,完全不必考慮任何網(wǎng)絡(luò)協(xié)議,只需要解釋并執(zhí)行We-bchip傳送過來的指令和數(shù)據(jù)就可以實現(xiàn)與Internet網(wǎng)絡(luò)聯(lián)接。其開發(fā)周期更短,也較靈活。同采用專用嵌入式網(wǎng)絡(luò)協(xié)議方案一樣,需要微機做網(wǎng)關(guān),網(wǎng)關(guān)中的一個IP地址可以聯(lián)接多個嵌入式應(yīng)用系統(tǒng)。
目前還買不到PS2000的芯片,只是最近在力源網(wǎng)站上有了PS2000的詳細(xì)芯片資料。其開發(fā)套件也較便宜,包含帶有通信接口的PSM2000模塊板和PSE2000 EVKIT演示套件等。
3 結(jié)束語
隨著芯片技術(shù)的發(fā)展,嵌入Internet還會有更多更新的接入方式出現(xiàn)。針對目前的情況,最主要的問題是需要解決成本問題,以上幾種接入方式雖然有成本較低的方案,但與眾多嵌入系統(tǒng)中便宜的MCU系統(tǒng)相比,其接入成本在整個系統(tǒng)中還是占有相當(dāng)大的比重。只有接入成本進一步降低才能使嵌入式Internet真正進入尋常百姓家庭,真正在嵌入系統(tǒng)和智能家庭的大市場中發(fā)揮重要作用,因此還需要進一步開發(fā)單芯片的最低成本的解決方案,以適應(yīng)市場的需要。
參考文獻
[1] 呂京建.嵌入式因特網(wǎng)技術(shù)的興起與前景[J].今日電子,2000.增刊:7-10.
[2] 彭少熙.家庭網(wǎng)絡(luò)中的嵌入式Internet方案[J].電子技術(shù)應(yīng)用,2001,(10):47-50.
[3] 黎明.Webchip智能Internet網(wǎng)絡(luò)接口芯片及其應(yīng)用[J].力源電子工程,2000,(2):1-4.
[4] Webit系統(tǒng)結(jié)構(gòu)[EB/OD].http://www.webit.com.cn,2001,05-26.
摘自 北極星技術(shù)網(wǎng)