摘要:本文 CAN 總線工作原理、協議規范與幀格式等細節。
0.png (62.32 KB, 下載次數: 83)
下載附件
2019-1-3 22:29 上傳
0.png (105.38 KB, 下載次數: 81)
下載附件
2019-1-3 22:28 上傳
1. 概述
CAN 是 Controller Area Network(控制器局域網絡)的簡稱,最初是由德國 Bosch 公司設計的,應用于汽車的監測和控制。CAN 總線作為一種技術先進、可靠性高、功能完善、成本合理的遠程網絡通訊控制方式,逐步被廣泛應用到各種控制領域。
1991 年 9 月,Philips 制定并發布 CAN 技術規范:CAN 2.0A和 CAN2.0B。1993 年 11 月,ISO 組織正式頒布 CAN 國際標準 ISO11898。CAN 總線是唯一成為國際標準的現場總線。
2. CAN 總線介紹
2.1 CAN總線協議
CAN 總線規范分為兩種 CAN2.0A 和 CAN2.0B:
①CAN2.0A:CAN 標準報文格式
②CAN2.0B:CAN 標準報文格式和擴展報文格式
CAN 總線技術規范目的:
①定義數據鏈路層
②定義 CAN 協議在周圍各層中所發揮的作用
0.png (140.46 KB, 下載次數: 83)
下載附件
2019-1-3 22:29 上傳
0.png (89.98 KB, 下載次數: 97)
下載附件
2019-1-3 22:30 上傳
CAN 總線上是差分信號,一個差分信號是用一個數值來表示兩個物理量之間的差異:
邏輯 0—顯性—CAN_H 對應是 3.5V,CAN_L 對應是 1.5V
邏輯 1—隱性—CAN_H 對應是 2.5V,CAN_L 對應是 2.5V
正常情況下:
CAN_H 標準電壓:隱性為 2.6V 左右;顯性為 3.8V 左右
CAN_L 標準電壓:隱性為 2.4V左右;顯性為 1.2V左右
(2)CAN總線信號編碼方式
0.png (63.72 KB, 下載次數: 85)
下載附件
2019-1-3 22:30 上傳
CAN 總線采用 NRZ(單極性不歸零碼)編碼,相比曼徹斯特碼具有更好的 EMC 性能。當發送器檢測到位流里有連續 5 個相同極性的位就會插入一個填充位,接收器會刪除這個填充位,然而在固定的位場中不使用位填充。
0.png (99.48 KB, 下載次數: 85)
下載附件
2019-1-3 22:31 上傳
0.png (40.64 KB, 下載次數: 90)
下載附件
2019-1-3 22:31 上傳
2.3 CAN總線幀格式及幀類型
2.3.1 CAN總線幀格式
CAN 總線有二種不同的 CAN 幀格式,標準幀和擴展幀。CAN2.0A 協議僅支持標準幀;CAN2.0B協議引入第二種幀格式,它支持標準幀和擴展幀。具有11位標識符的CAN幀稱為標準幀;具有 29 位標識符的 CAN 幀稱為擴展幀。兩種幀格式可出現在同一總線上。
2.3.2 CAN總線幀類型
CAN 總線報文傳送主要有四種類型的幀:數據幀、遠程幀、錯誤幀以及過載幀。
(1)數據幀
由 7 個不同的位場組成,分別是幀起始、仲裁場、控制場、數據場、CRC 場、應答場以及幀結束。數據幀用于從發送節點向其他節點發送數據。
①幀起始(SOF):表示數據幀和遠程幀的起始,僅由 1 位顯性位(0)組成
②幀結束(EOF):表示數據幀和遠程幀的結束,由 7 位隱性位(1)組成。
③仲裁場:用于實現總線仲裁功能和設置沖突發生時的優先級。11 位標識符的是標準數據幀;29 位標識符的是擴展數據幀。遠程發送請求位 RTR 用于區分數據幀和遠程幀,在數據幀中 RTR 必須為顯性電平(0);遠程幀中該位為隱性電平(1)。
不管在數據幀中還是遠程幀中,標準幀的 RTR 位被擴展幀的 SRR 位替代,SRR 位在擴展幀中必須為隱性位,擴展幀的 RTR 位被置于保留位 r1 前。
④控制場:控制場中的IDE位用于區分標準幀和擴展幀。在標準幀中該位為顯性電平 (0);擴展幀中該位為隱性電平(1),接收器檢測位流序列的 IDE位以識別接收的是標準幀還是擴展幀。
數據長度代碼(DLC),指示數據場的字節數目,共 4 個位 DLC0—DLC3。DLC 可以設置0—8 的數字表示數據字節數(超過 8 的數字則認為是 8,這種情況并不視為出錯)。 兩位保留位 r0 和 r1,用于擴展。保留位必須全部以顯性電平發送,但接收方可以接收顯性、隱性及其任意組合的電平。
⑤數據場:數據場可以為 0—8 個字節,首先發送 MSB(最高位),一般情況下都是 8 個字節,每個字節可以存儲任意的數。
⑥CRC場:CRC校驗僅僅是CAN通訊的一種錯誤檢測,用于對幀起始、仲裁場、控制場、數據場上的位進行校驗。CRC 碼最適合于短幀報文,CRC 界定符為 1 位隱性位。
⑦應答場:應答場長度為 2 位,包含應答間隙和應答界定符。在應答域里,發送站發送兩個“隱性”位。當接收器正確地接收到有效的報文,接收器就會在應答間隙期間發送 ACK 信號,向發送器發送一個“顯性”的位以示應答。
0.png (213.38 KB, 下載次數: 90)
下載附件
2019-1-3 22:31 上傳
完整的pdf格式文檔51黑下載地址(共16頁):
CAN總線技術白皮書.pdf
(694.3 KB, 下載次數: 174)
2019-1-3 22:18 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|