興起
自從1976年Intel公司的MCS-48系列單片機問世以來,嵌入式系統得到了廣泛的套用。在工業控制領域中,嵌入式系統的典型套用是:嵌入式系統作為下位機進行數據採集和控制,PC機作為上位機完成各種管理功能。由於單獨的嵌入式系統功能有限,而且嵌入式系統的控制現場往往遠離數據處理現場,所以人們開始利用各種局部匯流排技術如 CAN、
RS-232、
RS-485等,將多個嵌入式系統組成區域網路,並且實現
嵌入式系統的遠程訪問與控制。
為了加大PC機與嵌入式系統的通信距離,一種方法是採用電流環技術或者使用長線收發器,提高串列數據信號的強度,增加串列數據的傳輸距離。這種方法的缺點是通信距離有限、布線困難 。另一種方法是使嵌入式系統和PC機均通過MODEM接入網路 (專線網、公共電話網或無線網),二者通過撥號連線進行信息傳輸。這種方法的缺點是抗干擾能力差、傳輸速率不高。現在,嵌入式系統的遠程訪問和控制逐漸滲透到各個領域,如遙控家電、遠程實驗、產品的遠程管理、診斷和升級等,並且要求具有更高的可靠性、安全性以及更長的通信距離和更大的控制範圍,以上兩種方法不能滿足這些要求。現在人們將目光投向了網際網路,網際網路是世界上最大的計算機網際網,具有豐富的信息資源,它幾乎覆蓋全球,使世界各地的人們方便地進行通信。如果能使嵌入式系統置身於網際網路,那么人們將會更加方便地對嵌入式系統進行遠程訪問與控制,甚至,嵌入式系統之間也可以進行對等通信 。 所以人們開始尋求嵌入式系統與網際網路的連線方法,於是嵌入式網際網路技術誕生了。嵌入式網際網路 技術是近幾年發展起來的,目前,許多公司都努力推出自己的嵌入式網際網路解決方案和產品。例如, 美國iReady公司提出了完整的稱作“Internet Tuner”的新一代非PC智慧型設備網際網路連線方案,支持這種 技術的有Seiko、Sony和Sharp等國際著名公司。
嵌入式英特網的實現
嵌入式系統接入網際網路的方法總的來說有兩種 ,其一是使嵌入式系統完全具備網路功能,直接與網際網路相連。其二是使嵌入式系統通過網關間接與網際網路相連,網關充當嵌入式系統與網際網路的橋樑,網關通常是PC機或者高性能嵌入式網路伺服器(高性能嵌入式網路伺服器本身也是一種採用 了嵌入式網際網路技術的嵌入式設備)。
嵌入式系統直接接入網際網路
這種方法的實質是在嵌入式系統中實現TCP/IP協定和其它相關的套用層協定如 HTFP、FrP和 SMTP等,使其可以在網際網路上傳送、接收IP包。下面介紹幾種在嵌入式系統中實現網路協定的方法。
1、在單片機程式中實現網路協定
選擇支持軟體固化TCP/IP協定的微控制器 (MCU),用乙太網控制器實現網路接口 (如圖所示)可以使嵌入式系統接入網際網路。系統可採用 16位或8位的MCU 。乙太網控制晶片具有物理介質上的串列數據收發功能和MAC層的控制功能,實現了
CSMA/CD協定。其他協定如 TCP/IP、HTTP、FTP等由 MCU 程式存儲空間的代碼實現 。由於協定占用了一定資源,所以要求提供大容量的程式存儲空間。在實際開發過程中可以根據具體的套用需求簡化 TCP/IP 協定,只提供一個 TCP/IP協定的一個子集即可。這種方法的優點是硬體成本低廉;缺點是軟體設計複雜、開發難度大、開發周期長、對開發者的要求較高。
2、採用具有網路協定棧的嵌入式實時作業系統
現在越來越多的高性能嵌入式系統採用嵌入式實時作業系統 (RTOS,Real Time Operation System),嵌入式 RTOS功能強大,多數支持 TCP/IP等網路協定,如 VxWorks、pSOS和 Windows CE 等。VxWorks網路協定棧是一個與 BSD4.4兼容的實時 TCP/IP協定棧,支持 IP 、ICMP、IGMP、UDP、 TCP和 SNTP等協定以及 IP multicast、CIDR 和RFC-1323等最新網際網路協定,並且提供套接字型檔。 pSOS系統包含了 TCP/IP管理部件pNA+、用戶可 以調用 pNA+中豐富的函式,訪問網路接口,操作套接字進行高級 TCP/IP網路編程 。Windows CE也提供了 TCP/IP協定棧,支持 Winsock和 IRSock網路編程 。採用具有網路協定棧的嵌入式 RTOS外加網路接口可以使嵌入式系統直接接入網際網路。這種方法的優點是:系統功能強大,而且開發者不必自己實現 TCP/IP協定。缺點是:開發成本高,嵌入式RTOS價格昂貴,對MCU的性能要求較高,通常要求採用高檔的 32位甚至64位的MCU,此外還要求開發者必須熟悉
RTOS和 TCP/IP協定。
3、採用網路晶片
網路晶片硬體固化了網路協定棧並且提供網路接口,是一個獨立於MCU的專用晶片,它通過標準的 I/O接 口與大多數 MCU相連。網路晶片負責在網際網路上傳送、接收IP包。網路晶片的製造商一般提供相應的軟體包,開發者可以調用 函式進行網路編程,使嵌入式系統在網際網路上傳送和接收數據。這種方法的優點是開發者不必考慮網路晶片的工作細節,只需編寫應用程式和網路晶片的接口程式即可;缺點是網路晶片並不支持所有的MCU,而且價格比較貴,一般在乾元以上。
嵌入式系統通過網關間接接入網際網路
這種方法的基本思路是:由網關實現各種複雜的網路協定,負責在網際網路上傳送 、接收 IP包,網 關與嵌入式系統之間採用輕量級協定進行通信 。下面介紹幾種有代表性的方法 。
1、EMIT方法
EMIT是美國 emWare公司提出的8位和16位 MCU 接入網際網路的技術 。EMIT技術主要由emMicro,emGateway和網路瀏覽器 3部分組成 (如圖所示)。emMicro是嵌入在設備中的很小的網路伺服器 ,它占用的套用存儲空間為1到8kByte,這取決於 MCU、程式語言和開發工具的選擇以及設計目標的差異。 EmGateway實現 了TCP/IP等網際網路協定,可以運行在 PC機或高性能嵌入式伺服器中。emGateway可以與多個 emMicro進行通信,採用的協定有 emNet、RS一485、RS一232、CAN或無線通信協定等,其中 emNet是 emWare公司提出的鏈路層協定。EmGateway可以完成各種複雜的工作,如身份驗證、處理多用戶請求和數據加密等。網路瀏覽器是用戶對設備進行遠程訪問和控制的平台。用戶通過瀏覽器向網關發出請求,然後由網關直接對設備進行狀態查詢或參數設定等操作。emWare 公司還推出了 EMIT 3.0軟體包,提供了預先創建 的 java對象 (稱作 emObject),使開發者可以創建 基於 Java Applet的圖形用戶接 口。Java Applet嵌入Web頁面 ,在瀏覽器中運行 ,負責與 emGateway 進行實時通信 。EMIT 3.0還包含了 emMicro代碼 (一些彙編和C原始碼 ),使開發者可以把emMicro 嵌入設備中。EMIT方法藉助 PC機強大的功能,降低了MCU性能的要求,減少了嵌入式系統軟體的開發難度,但同時也增加了網關設計以及網關與瀏覽器通信的額外開銷,而且也要求開發者熟悉 MCU的體系結構並具有一定的固件 (firmware)開發 驗 。
2、Web晶片 (Webchip)方法
P&S DataCom 公司提出的WebChip方法原理與EMIT方法相似,只是將嵌入設備中的網路伺服器 (emMicro)由晶片硬體完成。 Webchip是一個獨立於MCU的專用網路接 口晶片,它通過SPI接 口與各種 MCU 相連。Webchip與 MCU 之間採用 MCUnet協定進行通信,通常只需簡單的若干條指令就可實現互動。Webchip通過 MCUap協定與網關通信,支持 RS一232、RS一485、USB或 Modem等 物理接 口。這種方法對 MCU 的要求不高,支持 8位或 4位的 MCU。開發者不需了解 TCP/lP協定和相關接口,只需編寫晶片接口程式,但是同EMIT方法一樣也必須實現網關的設計以及瀏覽器與網關之間的通信。
3、Lonnetworks方法
1992年,Echelon公司提出了Lonnetworks技術, 基本思想是:將嵌入式設備以及PC機組成一個控制網 (Control Networking),所謂控制網就是把各種智慧型設備連線在一起,提供一個經濟、可靠,根據控制需要最佳化的靈活的連網平台。控制網中的各個設備通過Lontalk協定進行對等通信。Lontalk協定是LonNetworks設備彼此通信的底層協定,支持許多通信媒體 ,如雙絞線、光纖、同軸電纜和紅外線等。Lontalk協定固化在Lonnetworks設備中的神經元晶片中。Echelon公司利用i.LON1000網際網路伺服器實現了控制網與網際網路的連線,i.LON1000內置Web伺服器 ,具有一個IP位址,同時與控制網和網際網路相連 (如圖所示),允許用戶通過Web瀏覽器對控制網中各個設備進行狀態查詢、設備校準和故障檢測等。這種方法實質也是一種基於網關的嵌入式網際網路方法,網際網路伺服器充當了控制網與 網際網路的網關 ,各種設備在控制網中通過專用的傳 輸層協定進行通信。由於控制網沒有普及,相關技術還不夠完善,所以用這種方法將嵌入式系統接入網際網路實現複雜,成本較高。
基於網關的方法優點是:可以使低性能的嵌入式系統接入網際網路,可 以在網關上完成各種複雜的處理,提高整個系統的安全性和可靠性 ,而且一個網關可以連線多個嵌入式設備,不必為每一個嵌入 式設備實現 TCP/IP協定和分配 IP位址。缺點是: 整個系統變得龐大,採用集中式控制模式,設備仍處於從屬地位 ,很難實現設備的對等的通信。此外,
MCU乾差萬別,沒有惟一的輕量級協定和通用的接口適合所有的嵌入式系統,所 以每個設備開發商只能開發適合自己的套用。