標(biāo)題: CAN總線技術(shù)白皮書 (共16頁pdf下載) [打印本頁]

作者: atao123    時間: 2019-1-3 22:18
標(biāo)題: CAN總線技術(shù)白皮書 (共16頁pdf下載)
摘要:本文 CAN 總線工作原理、協(xié)議規(guī)范與幀格式等細(xì)節(jié)。

1. 概述
CAN 是 Controller Area Network(控制器局域網(wǎng)絡(luò))的簡稱,最初是由德國 Bosch 公司設(shè)計的,應(yīng)用于汽車的監(jiān)測和控制。CAN 總線作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,逐步被廣泛應(yīng)用到各種控制領(lǐng)域。
1991 年 9 月,Philips 制定并發(fā)布 CAN 技術(shù)規(guī)范:CAN 2.0A和 CAN2.0B。1993 年 11 月,ISO 組織正式頒布 CAN 國際標(biāo)準(zhǔn) ISO11898。CAN 總線是唯一成為國際標(biāo)準(zhǔn)的現(xiàn)場總線。

2. CAN 總線介紹
2.1 CAN總線協(xié)議
CAN 總線規(guī)范分為兩種 CAN2.0A 和 CAN2.0B:
①CAN2.0A:CAN 標(biāo)準(zhǔn)報文格式
②CAN2.0B:CAN 標(biāo)準(zhǔn)報文格式和擴(kuò)展報文格式
CAN 總線技術(shù)規(guī)范目的:
①定義數(shù)據(jù)鏈路層
②定義 CAN 協(xié)議在周圍各層中所發(fā)揮的作用

CAN 總線上是差分信號,一個差分信號是用一個數(shù)值來表示兩個物理量之間的差異:
邏輯 0—顯性—CAN_H 對應(yīng)是 3.5V,CAN_L 對應(yīng)是 1.5V
邏輯 1—隱性—CAN_H 對應(yīng)是 2.5V,CAN_L 對應(yīng)是 2.5V
正常情況下:
CAN_H 標(biāo)準(zhǔn)電壓:隱性為 2.6V 左右;顯性為 3.8V 左右
CAN_L 標(biāo)準(zhǔn)電壓:隱性為 2.4V左右;顯性為 1.2V左右
(2)CAN總線信號編碼方式

CAN 總線采用 NRZ(單極性不歸零碼)編碼,相比曼徹斯特碼具有更好的 EMC 性能。當(dāng)發(fā)送器檢測到位流里有連續(xù) 5 個相同極性的位就會插入一個填充位,接收器會刪除這個填充位,然而在固定的位場中不使用位填充。



2.3 CAN總線幀格式及幀類型
2.3.1 CAN總線幀格式
CAN 總線有二種不同的 CAN 幀格式,標(biāo)準(zhǔn)幀和擴(kuò)展幀。CAN2.0A 協(xié)議僅支持標(biāo)準(zhǔn)幀;CAN2.0B協(xié)議引入第二種幀格式,它支持標(biāo)準(zhǔn)幀和擴(kuò)展幀。具有11位標(biāo)識符的CAN幀稱為標(biāo)準(zhǔn)幀;具有 29 位標(biāo)識符的 CAN 幀稱為擴(kuò)展幀。兩種幀格式可出現(xiàn)在同一總線上。
2.3.2 CAN總線幀類型
CAN 總線報文傳送主要有四種類型的幀:數(shù)據(jù)幀、遠(yuǎn)程幀、錯誤幀以及過載幀。
(1)數(shù)據(jù)幀
由 7 個不同的位場組成,分別是幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC 場、應(yīng)答場以及幀結(jié)束。數(shù)據(jù)幀用于從發(fā)送節(jié)點向其他節(jié)點發(fā)送數(shù)據(jù)。
①幀起始(SOF):表示數(shù)據(jù)幀和遠(yuǎn)程幀的起始,僅由 1 位顯性位(0)組成
②幀結(jié)束(EOF):表示數(shù)據(jù)幀和遠(yuǎn)程幀的結(jié)束,由 7 位隱性位(1)組成。
③仲裁場:用于實現(xiàn)總線仲裁功能和設(shè)置沖突發(fā)生時的優(yōu)先級。11 位標(biāo)識符的是標(biāo)準(zhǔn)數(shù)據(jù)幀;29 位標(biāo)識符的是擴(kuò)展數(shù)據(jù)幀。遠(yuǎn)程發(fā)送請求位 RTR 用于區(qū)分?jǐn)?shù)據(jù)幀和遠(yuǎn)程幀,在數(shù)據(jù)幀中 RTR 必須為顯性電平(0);遠(yuǎn)程幀中該位為隱性電平(1)。

不管在數(shù)據(jù)幀中還是遠(yuǎn)程幀中,標(biāo)準(zhǔn)幀的 RTR 位被擴(kuò)展幀的 SRR 位替代,SRR 位在擴(kuò)展幀中必須為隱性位,擴(kuò)展幀的 RTR 位被置于保留位 r1 前。
④控制場:控制場中的IDE位用于區(qū)分標(biāo)準(zhǔn)幀和擴(kuò)展幀。在標(biāo)準(zhǔn)幀中該位為顯性電平 (0);擴(kuò)展幀中該位為隱性電平(1),接收器檢測位流序列的 IDE位以識別接收的是標(biāo)準(zhǔn)幀還是擴(kuò)展幀。
數(shù)據(jù)長度代碼(DLC),指示數(shù)據(jù)場的字節(jié)數(shù)目,共 4 個位 DLC0—DLC3。DLC 可以設(shè)置0—8 的數(shù)字表示數(shù)據(jù)字節(jié)數(shù)(超過 8 的數(shù)字則認(rèn)為是 8,這種情況并不視為出錯)。 兩位保留位 r0 和 r1,用于擴(kuò)展。保留位必須全部以顯性電平發(fā)送,但接收方可以接收顯性、隱性及其任意組合的電平。
⑤數(shù)據(jù)場:數(shù)據(jù)場可以為 0—8 個字節(jié),首先發(fā)送 MSB(最高位),一般情況下都是 8 個字節(jié),每個字節(jié)可以存儲任意的數(shù)。
⑥CRC場:CRC校驗僅僅是CAN通訊的一種錯誤檢測,用于對幀起始、仲裁場、控制場、數(shù)據(jù)場上的位進(jìn)行校驗。CRC 碼最適合于短幀報文,CRC 界定符為 1 位隱性位。
⑦應(yīng)答場:應(yīng)答場長度為 2 位,包含應(yīng)答間隙和應(yīng)答界定符。在應(yīng)答域里,發(fā)送站發(fā)送兩個“隱性”位。當(dāng)接收器正確地接收到有效的報文,接收器就會在應(yīng)答間隙期間發(fā)送 ACK 信號,向發(fā)送器發(fā)送一個“顯性”的位以示應(yīng)答。


完整的pdf格式文檔51黑下載地址(共16頁):
CAN總線技術(shù)白皮書.pdf (694.3 KB, 下載次數(shù): 174)




作者: feitian227    時間: 2019-1-6 21:17
慢慢看,有點長,。
作者: junliliu15    時間: 2019-1-8 09:58
很基礎(chǔ),但是對于新手,很實用,從原理弄清楚。
作者: umbane    時間: 2021-7-1 17:12

很基礎(chǔ),但是對于新手,很實用,從原理弄清楚。
作者: zhj1314    時間: 2021-12-2 15:20
慢慢看,有點長
作者: XIAYUMEI2    時間: 2022-6-7 08:24
看看是否有幫助
作者: xiaxiao1127    時間: 2022-6-8 18:15
下來慢慢學(xué),謝了。
作者: LI-GONG-004    時間: 2023-10-26 09:02
VERY  GOOD
作者: guolh    時間: 2024-1-2 10:56
支持樓主分享�。�!
作者: hclin    時間: 2024-5-3 01:28
很有參考價值,謝謝分享
作者: cqopd    時間: 2024-5-18 16:31
剛好在學(xué)習(xí)CAN,謝謝分享




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1