|
摘要:本文 CAN 總線工作原理、協(xié)議規(guī)范與幀格式等細(xì)節(jié)。
0.png (62.32 KB, 下載次數(shù): 83)
下載附件
2019-1-3 22:29 上傳
0.png (105.38 KB, 下載次數(shù): 81)
下載附件
2019-1-3 22:28 上傳
1. 概述
CAN 是 Controller Area Network(控制器局域網(wǎng)絡(luò))的簡(jiǎn)稱,最初是由德國 Bosch 公司設(shè)計(jì)的,應(yīng)用于汽車的監(jiān)測(cè)和控制。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)場(chǎng)總線。
2. CAN 總線介紹
2.1 CAN總線協(xié)議
CAN 總線規(guī)范分為兩種 CAN2.0A 和 CAN2.0B:
①CAN2.0A:CAN 標(biāo)準(zhǔn)報(bào)文格式
②CAN2.0B:CAN 標(biāo)準(zhǔn)報(bào)文格式和擴(kuò)展報(bào)文格式
CAN 總線技術(shù)規(guī)范目的:
①定義數(shù)據(jù)鏈路層
②定義 CAN 協(xié)議在周圍各層中所發(fā)揮的作用
0.png (140.46 KB, 下載次數(shù): 83)
下載附件
2019-1-3 22:29 上傳
0.png (89.98 KB, 下載次數(shù): 97)
下載附件
2019-1-3 22:30 上傳
CAN 總線上是差分信號(hào),一個(gè)差分信號(hào)是用一個(gè)數(shù)值來表示兩個(gè)物理量之間的差異:
邏輯 0—顯性—CAN_H 對(duì)應(yīng)是 3.5V,CAN_L 對(duì)應(yīng)是 1.5V
邏輯 1—隱性—CAN_H 對(duì)應(yīng)是 2.5V,CAN_L 對(duì)應(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總線信號(hào)編碼方式
0.png (63.72 KB, 下載次數(shù): 85)
下載附件
2019-1-3 22:30 上傳
CAN 總線采用 NRZ(單極性不歸零碼)編碼,相比曼徹斯特碼具有更好的 EMC 性能。當(dāng)發(fā)送器檢測(cè)到位流里有連續(xù) 5 個(gè)相同極性的位就會(huì)插入一個(gè)填充位,接收器會(huì)刪除這個(gè)填充位,然而在固定的位場(chǎng)中不使用位填充。
0.png (99.48 KB, 下載次數(shù): 85)
下載附件
2019-1-3 22:31 上傳
0.png (40.64 KB, 下載次數(shù): 90)
下載附件
2019-1-3 22:31 上傳
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)識(shí)符的CAN幀稱為標(biāo)準(zhǔn)幀;具有 29 位標(biāo)識(shí)符的 CAN 幀稱為擴(kuò)展幀。兩種幀格式可出現(xiàn)在同一總線上。
2.3.2 CAN總線幀類型
CAN 總線報(bào)文傳送主要有四種類型的幀:數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀以及過載幀。
(1)數(shù)據(jù)幀
由 7 個(gè)不同的位場(chǎng)組成,分別是幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)、CRC 場(chǎng)、應(yīng)答場(chǎng)以及幀結(jié)束。數(shù)據(jù)幀用于從發(fā)送節(jié)點(diǎn)向其他節(jié)點(diǎn)發(fā)送數(shù)據(jù)。
①幀起始(SOF):表示數(shù)據(jù)幀和遠(yuǎn)程幀的起始,僅由 1 位顯性位(0)組成
②幀結(jié)束(EOF):表示數(shù)據(jù)幀和遠(yuǎn)程幀的結(jié)束,由 7 位隱性位(1)組成。
③仲裁場(chǎng):用于實(shí)現(xiàn)總線仲裁功能和設(shè)置沖突發(fā)生時(shí)的優(yōu)先級(jí)。11 位標(biāo)識(shí)符的是標(biāo)準(zhǔn)數(shù)據(jù)幀;29 位標(biāo)識(shí)符的是擴(kuò)展數(shù)據(jù)幀。遠(yuǎn)程發(fā)送請(qǐng)求位 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 前。
④控制場(chǎng):控制場(chǎng)中的IDE位用于區(qū)分標(biāo)準(zhǔn)幀和擴(kuò)展幀。在標(biāo)準(zhǔn)幀中該位為顯性電平 (0);擴(kuò)展幀中該位為隱性電平(1),接收器檢測(cè)位流序列的 IDE位以識(shí)別接收的是標(biāo)準(zhǔn)幀還是擴(kuò)展幀。
數(shù)據(jù)長(zhǎng)度代碼(DLC),指示數(shù)據(jù)場(chǎng)的字節(jié)數(shù)目,共 4 個(gè)位 DLC0—DLC3。DLC 可以設(shè)置0—8 的數(shù)字表示數(shù)據(jù)字節(jié)數(shù)(超過 8 的數(shù)字則認(rèn)為是 8,這種情況并不視為出錯(cuò))。 兩位保留位 r0 和 r1,用于擴(kuò)展。保留位必須全部以顯性電平發(fā)送,但接收方可以接收顯性、隱性及其任意組合的電平。
⑤數(shù)據(jù)場(chǎng):數(shù)據(jù)場(chǎng)可以為 0—8 個(gè)字節(jié),首先發(fā)送 MSB(最高位),一般情況下都是 8 個(gè)字節(jié),每個(gè)字節(jié)可以存儲(chǔ)任意的數(shù)。
⑥CRC場(chǎng):CRC校驗(yàn)僅僅是CAN通訊的一種錯(cuò)誤檢測(cè),用于對(duì)幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)上的位進(jìn)行校驗(yàn)。CRC 碼最適合于短幀報(bào)文,CRC 界定符為 1 位隱性位。
⑦應(yīng)答場(chǎng):應(yīng)答場(chǎng)長(zhǎng)度為 2 位,包含應(yīng)答間隙和應(yīng)答界定符。在應(yīng)答域里,發(fā)送站發(fā)送兩個(gè)“隱性”位。當(dāng)接收器正確地接收到有效的報(bào)文,接收器就會(huì)在應(yīng)答間隙期間發(fā)送 ACK 信號(hào),向發(fā)送器發(fā)送一個(gè)“顯性”的位以示應(yīng)答。
0.png (213.38 KB, 下載次數(shù): 90)
下載附件
2019-1-3 22:31 上傳
完整的pdf格式文檔51黑下載地址(共16頁):
CAN總線技術(shù)白皮書.pdf
(694.3 KB, 下載次數(shù): 174)
2019-1-3 22:18 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|