關於各種匯流排仲裁機制的原理分析,中文網際網路上已經有非常多的原理介紹,這裡引出幾篇相對全面的部落格IIC匯流排仲裁,CAN 匯流排的全面介紹,SPI匯流排介紹,其中SPI作為主從裝置通訊,協定沒有規定匯流排仲裁方式。
簡而言之,CAN 匯流排的仲裁是非破壞性仲裁,和乙太網類似,屬於 CSMA/CA (載波檢測,多主掌控,衝突避免,Carrier Sense Multiple Access with Collision Avoidance)的通訊方式。原理是優先順序更高的資料框,識別符號位置具有更多的0位,即顯性位,多個資料框發出資料進行線‘與’操作,保留高優先順序的資料框。這些資料框之間的時序比較是依靠起始的同步位和仲裁域進行比較的。
實時系統部分參考 Kopetz, H. (1997) "Real-Time Systems: Design Principles for Distributed Embedded Applications", Springer International Series in Engineering and Computer Science. ISBN 978-0792398943 下載連結:Real-time system principle
Composability: An architecture is said to be composable with respect to a specified property if the system integration will not invalidate this property once the property has been established at the subsystem level. Examples of such properties are timeliness or testability. In a composable architecture, the system properties follow from the subsystem properties.
主要有兩種方式的流控制:設定超時重傳機制的顯式流控和不設定超時重傳,根據優先順序傳送資訊的隱式流控
隱式流控方式可能導致 「event shower」 現象,即同時出現大量event,導致資料來不及被處理,系統反應較慢等現象。
總體來看,在實時通訊系統中有相當多的權衡因素和設計思考,書中介紹了上個世紀比較流行的網路結構和幾種匯流排之間的比較,見下圖:
其中,CAN 作為 Event Triggered Protocol ,完全具有事件觸發式協定的特性。匯流排之間的trade-off 更多體現在時間觸發和事件觸發的區別上,即下圖所示:
在通訊通道容量較低並且通訊需求量高的情況下,Time Triggered System 可以更好地滿足通訊需求。
為了保證系統實時性,需要對軟硬體通訊協定進行設計使得有用資訊快速被傳達到需要的節點。如協定中的仲裁方式和流控機制,使得系統達到較高的通訊效率。在分散式的通訊架構中,應當在設計之初考慮系統延時、可靠性與容錯機制、資訊處理效率等因素,保證系統安全可靠。