CAN 速率
CAN 總線以幀的形式發送數據,但是最終到總線上的就是“0”和“1”這樣的二進制數據,這里就涉及到了通信速率,也就是每秒鐘發送多少位數據,前面說了CAN2.0 最高速度為 1Mbps/S。對于 CAN 總線,一個位分為 4 段:
①、同步段(SS)
②、傳播時間段(PTS)
③、相位緩沖段 1(PBS1)
④、相位緩沖段 2(PBS2)
這些段由 Tq(Time Quantum)組成,Tq 是 CAN 總線的最小時間單位。幀由位構成,一個位由 4 個段構成,每個段又由若干個 Tq組成,這個就是位時序。1 位由多少個 Tq 構成、每個段又由多少個 Tq
構成等,可以任意設定位時序。通過設定位時序,多個單元可同時采樣,也可任意設定采樣點。各段的作用和 Tq 數如圖所示:
1 個位的構成如圖所示:
圖中的采樣點是指讀取總線電平,并將讀到的電平作為位值的點。位置在 PBS1結束處。根據這個位時序,我們就可以計算 CAN通信的波特率了。具體計算方法,我們等下再介紹,前面提到的 CAN 協議具有仲裁功能,下面我們來看看是如何實現的。
在總線空閑態,最先開始發送消息的單元獲得發送權。
當多個單元同時開始發送時,各發送單元從仲裁段的第一位開始進行仲裁。連續輸出顯性電平最多的單元可繼續發送。實現過程,如圖所示:
圖中,單元 1 和單元 2 同時開始向總線發送數據,開始部分他們的數據格式是一樣的,故無法區分優先級,直到 T 時刻,單元 1 輸出隱性電平,而單元2 輸出顯性電平,此時單元 1 仲裁失利,立刻轉入接收狀態工作,不再與單元 2 競爭,而單元 2則順利獲得總線使用權,繼續發送自己的數據。這就實現了仲裁,讓連續發送顯性電平多的單元獲得總線使用權。
-
CAN
+關注
關注
57文章
2764瀏覽量
464138 -
通信
+關注
關注
18文章
6065瀏覽量
136282 -
總線
+關注
關注
10文章
2900瀏覽量
88280
發布評論請先 登錄
相關推薦
評論