通用通訊協定打造通道 多重嵌入式網路溝通無障礙

嵌入式網路的應用面愈來愈廣,從早期的汽車、工業或機器控制,一直擴展到如今,幾乎所有內含致動器的機器,如電動控制器/馬達、液壓或氣壓設備,都使用了嵌入式網路...
嵌入式網路的應用面愈來愈廣,從早期的汽車、工業或機器控制,一直擴展到如今,幾乎所有內含致動器的機器,如電動控制器/馬達、液壓或氣壓設備,都使用了嵌入式網路。由於各種不同嵌入式網路應用增加,如何在單一系統內讓多重網路互通,就成了重要議題。本文將從通用通訊協定的角度來探討此一問題。  

今日許多嵌入式應用都涵蓋了嵌入式網路的運用。它們採用多顆微控制器且彼此互通,主要是因為系統控制極度分散,或是因為遠端感應器與致動器需要連接至主控制單元。無論是何種原因,嵌入式網路的應用極為廣泛,諸如汽車、工業或機器控制等領域,嵌入式網路的應用皆已問市數年。現今幾乎所有內含致動器的機器,如電動控制器/馬達、液壓或氣壓設備,都使用了嵌入式網路。  

目前最新的趨勢之一,是在單一系統使用多重嵌入式網路。使用多重網路有助於降低個別網路的負載,且效能也更容易預測。另外,當嵌入式網路搜集的資料必須傳送至較高控制等級或統計資料搜集層時,則也有使用多重網路的需要。用來將資料匯報至更高層級的網路,通常比感應器和致動器層級的網路需求還多,因此可以使用完全不同的技術與網路協定堆疊。當做2種網路之間的介面使用,還需要一些橋接或閘道技術。  

在一些應用中,嵌入式網路會隨著時間的增長,而出現不同的標準。遺憾的是,隨著這些系統與標準的改變,會發生更多的重疊現象。在未來幾年,每種應用所使用的微控制器數量將會有持續增加的趨勢。於是會有越來越多的嵌入式網路出現,但因為缺乏主要通用標準,在這些網路之間,也亦需要越來越多的介面。  

嵌入式網路閘道器需進行協定轉換  

嵌入式網路的橋接器與閘道器不只是接收與轉送訊息,通常還需進行協定轉換作業。CAN匯流排所使用的協定可能是DeviceNet或CANopen,而乙太網路上的協定可能是TCP/IP。為了能將資料在這樣的網路之間彼此傳輸,必須應用大量資料處理。在閘道器上,不僅需要實作處理所需的所有協定,還需要一些深入的設定,讓閘道了解哪個網路上的資料被轉送,以及轉送到哪個網路上。  

讓不同網路架構互通的作法  

一旦不同網路架構之間需要介面時,可用多種方法使這些網路互通,最常見的是中繼器、橋接器與閘道器。就發展與設定等方面的軟硬體需求來看,中繼器、橋接器與閘道器之間的複雜程度差異極大。中繼器不需要微控制器與軟體即可開發,而橋接器則需要一般性能的微控制器/微處理器,以及能識別選取網路通訊協定功能的軟體。不過,閘道器就必須採用搭配精深軟體套件的高階微控制器/微處理器,它必須了解連接本身所有網路的通訊協定,並需要對所有傳輸資料具備完整的組態資訊,如此才能決定資料的傳送條件。  

橋接器與閘道器的微控制器需求  

橋接器與閘道器使用之微控制器的首要需求,就是必須能夠存取本應互連的嵌入式網路。由於外加的周邊裝置處理通訊介面,因為會增加PCB上的晶片數與所需空間,成本通常也會更為昂貴。因此,需要的通訊介面若能多量建置在晶片上,橋接器或閘道器的實作就會更直接,並且更合乎成本效益。  

其次,微控制器也需要足夠的效能,才能在這些介面上處理最差狀況的通訊負載時,能夠確保不流失任何訊息。現在重要的是,不只要考量整體的傳輸速率,還必須考量中斷服務程序自接收緩衝區擷取資料前,所發生的最差延遲狀況。  

最後,微控制器需存取特定數量的隨機存取記憶體(RAM)與非動態記憶體。隨機存取記憶體用於資料在處理轉送至其他網路時的緩衝與快取。非動態記憶體,如EEPROM或快閃記憶體,則是用來儲存,決定將哪個網路資料,如何轉送至哪些其他網路的組態資訊。一般而言,閘道器要求的隨機存取記憶體比橋接器來得多,後者所需的隨機存取記憶體又比中繼器還多。  

就效能需求來看,前述盛行的通訊介面可區分為3大類:(1)位元導向的通訊(RS-485,LIN,I2C),可由低效能微控制器處理,包括許多8位元的衍生產品。(2)訊息導向、袖珍、高速(CAN),若需處理2個介面時,通常需要至少一般效能的16位元微控制器。若需處理3個以上的介面時,需要32位元的微控制器。(3)訊息導向、大尺寸、中速(乙太網路),橋接器或閘道若要能有效處理,通常需要32位元的微控制器。飛利浦LPC2000微控制器系列產品,便是架構於32位元微控制器的高效ARM7,具備多種通訊介面。飛利浦LPC2000日前已推出多達4個CAN介面、2個UART與2個I2C介面。未來將推出增加乙太網路和USB介面的衍生產品。  

以通用的通訊協定大幅縮減開發時程  

由於必須實作所有網路的通訊協定,而且也需要加上網路通訊協定彼此間訊息互傳的方法,因此,在多種網路技術與通訊協定之間,進行嵌入式閘道器的開發工作時,就需要更高階的處理能力與深入的軟體研發。  

然而,若能使用跨網路技術的通用通訊協定,如此一來,對橋接器與閘道器的開發就輕鬆許多。這類通用通訊協定其中的一個範例,即為CANopen。它不僅可以在CAN上作業,還可以在各種序列式匯流排與乙太網路上運作。如此,可在各種層面上,大幅簡化橋接器或閘道器的開發(圖1)。  

首先,由於相同的通訊協定應用於多種介面上,通訊協定堆疊的開發將大為簡化。由於獨立於硬體之外,因此可以共享特定的程序與函數。其次,由於資料交換仍在相同的通訊協定之下進行,使得這類橋接器或閘道器的組態也因而簡化。它不需全面解析並重新提交給網路通訊協定堆疊,因此可使用更快速的轉送機制。  

這類橋接器或閘道器的開發,並不只是比較簡易一些而已,而是大幅簡化了其複雜性。舉例說明,我們可以想像一台使用三種不同網路技術的閘道器,分別為RS-485傳統網路、CAN與乙太網路。如果三者都使用不同的網路通訊協定,那麼這些通訊協定堆疊都必須落實。除此之外,資料轉送表和演算法,也必須建立並維護。  

若這三種網路技術全採用通用的通訊協定,那麼通訊協定堆疊的開發,只需三種不同協定開發的30%~50%時間。除此之外,由於在本身通訊協定下轉送資料,比重新將資料以不同通訊協定封包簡單許多,因此現在所需的資料轉送演算法,開發時間更減少30%~50%(圖2)。  

以通用通訊協定CANopen為例  

CANopen的不同版本已成功使用於一些序列匯流排(MicroMessaging)及乙太網路(Ethernet-Powerlink)之上。讓CANopen成為通用網路通訊協定首選的其他理由,還包括了:(1)其標準可用性的開放(可以向CiA「自動化CAN」使用者與製造商社群免費索取規格書)、(2)對於深度嵌入應用客製化能力的開放(可按應用上的特殊要求,自行予以最佳化)、(3)其袖珍造型與最小的實作,能置於一些最小的8位元微控制器上。除此之外,(4)其應用獨立性(不為特定、有限用途而設計)等。此外,其開發工具,例如組態工具、監控器、分析器、程式庫、程式來源碼與現貨產品的供應商數量相當多,也是一大優勢。總而言之,只要通訊技術能提供一些基本通用的要求,CANopen就極為適合用於多重通訊技術上。  

(作者Axel Wolf任職於飛利浦半導體,Olaf Pfeiffer任職於嵌入式系統學會)  

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!