嵌入式系統中網絡通信協議的選擇
6、令牌總線
令牌總線的基本原理與令牌環網相似。但在令牌總線中,網絡上所有節點組成一個虛擬環,而非物理環。令牌在虛擬環中從一個節點傳向其邏輯鄰居節點。只有持有令牌的節點才能訪問網絡。如同令牌環一樣,令牌總線具有非常高的網絡帶寬利用率、很高的吞吐能力和良好的可確定性。另外令牌總線中各節點有相同的優先級;令牌總線中的電纜斷裂并不一定導致整個網絡癱瘓;網絡運行過程中可動態增加或關閉節點,因此節點失誤一般不會導致整個網絡癱瘓(當然在網絡啟動、增加 /刪除節點時會導致邏輯環重構,以便每個節點確定自己的邏輯鄰居,這會有點費時);總線拓補結構還非常適合于制造設備。因此,令牌總線協議被MAP (Manufacturing Automation Protocol,制造自動化協議)、ARCnet(Attached Resource Computer Network)采用,在過程自動化控制等嵌入式場合廣泛應用。
7、CSMA/CA (帶沖突避免的載波監聽多路訪問)
CSMA/CD在節點數量不多、傳輸信息量較少時效率很高;基于令牌的協議具有良好的實時性和吞吐能力。人們已經開發出一種能綜合以上兩者優點的混合協議―CSMA/CA。CSMA/CA的本質是利用競爭時間片來避免沖突。其基本原理是:如同CSMA/CD一樣,節點必須檢測到網絡空閑之后才能發送信息;如果有兩個或更多的節點發生沖突,便在網絡上啟動一個阻塞信號通知所有沖突節點,同步節點時鐘,啟動競爭時間片(競爭時間片跟隨在阻塞信號之后,其長度比沿網絡環路傳輸時延稍長));通常,每一個競爭時間片均指定給特定的節點,每個節點在其對應的時間片內如有信息發送則可以啟動傳輸;其它節點檢測到信息傳輸后,停止時間片的推進,直到傳輸結束所有節點才恢復推進時間片;當所有時間片都失去作用時,網絡進入空閑狀態。為確保公平性和可確定性,在每次傳輸之后,時間片要循環。此外,優先時間片(the priority slots)優先于普通時間片的推進,能支持高優先級信息的全局優先傳輸。
CSMA/CA 協議在具體實施中主要有兩個變種:一是RCSMA(Reservation CSMA),其特點是時間片數等于節點數。RCSMA在各種傳輸條件下都能有效工作,但顯然不適于節點較多的網絡;在另一個變種中,時間片數少于節點數,且根據沖突最少的原則隨機調整時間片的分配,根據所預測的網絡流量動態地改變時間片數;如Echelon公司推出的廣泛應用于智能大廈領域的 Lonwork標準。
另外,在CSMA/CA中,并非必需采用硬件來避免沖突,還可以通過軟手段來實現,例如發送使時間片在沒有網絡傳輸的情況下仍然保持活動的啞信息。
四、結論
介質訪問協議是嵌入式網絡協議選擇的核心。盡管沒有哪一種協議對各種應用場合都是十全十美的,但通過對上述各種介質訪問協議的分析和比較不難發現:令牌環、令牌總線、CSMA/CA比較適合于嵌入式網絡。但令牌環的具體實施比較復雜、成本較高,其應用越來越少。讀者可針對具體應用需求,選用令牌總線(如ARCnet)或CSMA/CA。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論