CAN協議學習(一)

2021-09-23 07:58:03 字數 1967 閱讀 7857

1)在匯流排空閒時,所有單元都可以傳送訊息,兩個以上單元同時傳送訊息時,對各訊息的identifier進行逐位仲裁比較,仲裁獲勝的單元(具有較高優先順序)可繼續傳送訊息,仲裁失敗的單元停止傳送。

2)訊息中沒有位址,訊息廣播到匯流排上,任何匯流排上的單元都可以接收訊息。在匯流排上增加單元,不會影響到其它的單元。

3)最高資料傳輸速率1mbps(距離小於40m),最遠傳輸距離10km(速率低於5kbps)。can匯流排兩個節點之間的通訊距離與波特率成反比。工程常用為500kbit/s的通訊速率。

型別最高速率

描述高速can

1mbit/s

最通用的can匯流排型別

低速can

125kbit/s

容錯,在一條匯流排短路時仍能正常工作

單線can

50kbit/s

主要用低速的車身電子單元、舒適及娛樂控制領域

4)can匯流排上可掛載多個單元,理論上掛載單元數沒有上限,但受匯流排的時間延遲和電氣負載限制。降低通訊速率,可增加單元數量。

5)所有單元具有錯誤檢測功能,檢測出錯誤後會立即通知其他單元。正在傳送訊息的單元一旦檢測出錯誤,會結束當前的傳送。

can節點掛載在can_l和can_h之間,為降低反射,高速can在can匯流排兩端增加了120ω電阻,低速can和單線can在節點位置增加了電阻。低速can在總的終端電阻為100ω時效能最佳,因此,確定低速can的終端電阻,需要先確定網路中的節點數,每個終端提供100ω的一部分,並不要求每個終端有相同的阻值,但總值應該為100ω。如匯流排中有3個can節點,則接到網路上的6個終端電阻值均為600ω。

對於高速can,當can_h - can_l < 0.5 時為隱性,即邏輯1;當 can_h-can_l>0.9v時為顯性,即邏輯0。

對於低速can,當can_l = 5v, can_h = 0v時為隱性;當can_h = 3.6v,can_l = 1.4v時為顯性。相較於高速can,低速can顯性和隱性的電平差異更大,抗干擾能力更強,

單線can只有一根線,要求節點有較好的共地性,抗干擾能力較弱。

匯流排空閒時,任何節點都可以傳送報文。如果同時有多個節點傳送報文,會出現匯流排訪問衝突,can使用逐位仲裁的方式解決衝突。在仲裁期間,每個傳送器都對傳送的 identifier 電平與被監控的匯流排電平進行比較,如果電平相同,則繼續傳送報文。若傳送器傳送了乙個隱性電平,而監視到乙個顯性電平,則節點仲裁失敗,退出傳送狀態。因此,identifier越小,訊息的優先順序越高。若在非仲裁期間出現傳送電平與監視電平不一致的狀況,將產生錯誤事件。

can標準定義了四種訊息型別,分別為資料幀、遠端幀(也有稱遙控幀)、錯誤幀和過載幀。

資料幀:傳送器向接收器傳送資料幀;

遠端幀:接收器向傳送器請求資料;

錯誤幀:任何單元檢測到匯流排錯誤後發出錯誤幀;

過載幀:用於相鄰資料幀和遠端幀之間提供延時,由接收器傳送,表示接收器來不及處理資料,請求延遲。

can匯流排使用非歸零編碼(nrz),具有效率高的特點,但同步效能差。為保證同步通訊中有足夠的電平跳變,規範中應用位填充機制,在連續的5個相同電平後插入1個反相電平,接收節點收到訊息後,自動將填充位刪除。若檢測到連續6個相同電平,則節點報錯。

訊息在can匯流排上是以廣播的形式傳輸的,但並不是所有節點都對匯流排上的資訊感興趣。節點可通過can控制器中的過濾碼和掩碼來檢驗訊息的 identifier 是否匹配,從而決定是否接收訊息。

例:設定過濾碼位 0x 00 00 15 60,設定掩碼為 0x 1f ff ff f0,則節點只接收 identifier 為 0x 00 00 15 60 ~0x 00 00 15 6f的訊息。

CAN協議學習(一)協議介紹

can 是 controller area network 的縮寫 以下稱為 can 是 iso 國際標準化的序列通訊協議。在當前的汽車產業中,出於對安全性 舒適性 方便性 低公害 低成本的要求,各種各樣的電子控制系統被開發了出來。由於這些系統之間通訊所用的資料型別及對可靠性的要求不盡相同,由多條匯...

CAN筆記(6) CAN協議(一)

通訊是通過以下 5 種型別的幀進行的 另外,資料幀和遙控幀有標準格式 can2.0a 和和擴充套件格式 can2.0b 兩種格式 標準格式有 11 個位的識別符號 identifier 以下稱 id 擴充套件格式有 29 個位的 id 各種幀的用途 幀幀用途 資料幀用於傳送單元向接收單元傳送資料的幀...

CAN匯流排協議入門學習

can 是 controller area network 的縮寫 以下稱為 can 是 iso 1 國際標準化的序列通訊協議。在當前的汽車產業中,出於對安全性 舒適性 方便性 低公害 低成本的要求,各種各樣的電子控制系統 被開發了出來。由於這些系統之間通訊所用的資料型別及對可靠性的要求不盡相同,由...