詳解CAN總線:CAN總線通信優先級機制
在詳解CAN總線:CAN總線報文格式—數據幀文章中,講解到仲裁段。仲裁段用于寫明需要發送到目的CAN節點的地址、確定發送的幀類型(當前發送的是數據幀還是遙控幀),并確定發送的幀格式是標準幀還是擴展幀。
本篇文章將講解仲裁段的另一個重要功能:通信優先級。
在CAN總線空閑態,最先開始發送消息的單元獲得發送權。多個單元同時開始發送時,各發送單元從仲裁段的第一位開始進行仲裁,連續輸出顯性電平最多的單元可繼續發送。所以,幀ID值越小,優先級越高。
仲裁的過程如下圖所示:

1
數據幀和遙控幀的優先級
具有相同 ID 的數據幀和遙控幀在總線上競爭時,數據幀優先級高,因為數據幀仲裁段的最后一位(RTR)為顯性位具有優先權,可繼續發送。
數據幀和遙控幀的仲裁過程如下圖所示:

2
標準格式和擴展格式的優先級
標準格式 ID 與具有相同 ID 的遙控幀或者擴展格式的數據幀在總線上競爭時,標準格式的 RTR 位為顯性位優先級更高,優先發送。
標準格式和擴展格式的仲裁過程如下圖所示:

*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。