can總線協議包括哪三要素?
CAN的通信協議基于如下5條基本規則進行通信協調:
1)總線訪問
CAN是共享媒體的總線,對媒體的訪問機制類似于以太網的媒體訪問機制,即采用載波監聽多路訪問(Carrier Sense Multiple Access, CSMA)的方式。CAN控制器只能在總線空閑時開始發送,并采用硬同步,所有CAN控制器同步都位于幀起始的前沿。為避免異步時鐘因累計誤差而錯位,CAN總線在硬同步后,還應在滿足一定條件的跳變下進行重新同步。
2)非破壞性的位仲裁方式
CAN總線是由兩條導線構成的,總線上的狀態(信號)由兩條導線上的電壓決定,當處于隱性狀態(即隱性電平)時,兩條導線上的電壓為0V;當處于顯性狀態(即顯性電平)時,兩條導線上的電壓不低于。
當總線空閑時呈隱形電平,此時任何一個節點都可以向總線發送一個顯性電平作為一個幀的開始。如果有兩個或兩個以上的節點同時發送,就會產生總線沖突。CAN總線解決總線沖突的辦法比以太網的CSMA/CD方法有很大的改進。
3)編碼/解碼
幀起始域、仲裁域、控制域、數據域和CRC序列均使用位填充技術進行編碼。在CAN總線中,每連續5個同狀態的電平插入一位與它相補的電平,還原時每5個同狀態的電平后的相補電平刪除,從而保證了數據的透明。
4)出錯標注
當檢測到位錯誤、填充錯誤、形式錯誤或應答錯誤時,檢測出錯條件的CAN控制器將發送一個出錯標志。
5)超載標注
一些CAN控制器會發送一個或多個超載幀以延遲下一個數據幀或遠程幀的發送。