CAN總線由Bosch公司在1980年代開發(fā),旨在為汽車電子系統(tǒng)提供一個(gè)可靠的通信網(wǎng)絡(luò)。隨著技術(shù)的發(fā)展,CAN總線已經(jīng)被廣泛應(yīng)用于各種工業(yè)和自動(dòng)化領(lǐng)域。
2. CAN總線數(shù)據(jù)幀概述
CAN總線的數(shù)據(jù)幀由多個(gè)字段組成,每個(gè)字段都有特定的功能和長度。一個(gè)標(biāo)準(zhǔn)的CAN數(shù)據(jù)幀包括以下部分:
- 幀起始 (SOF):表示數(shù)據(jù)幀的開始,由一個(gè)顯性位(邏輯0)組成。
- 仲裁段 :用于確定發(fā)送優(yōu)先級(jí)。
- 幀ID :標(biāo)識(shí)數(shù)據(jù)幀的唯一標(biāo)識(shí)符。
- 遠(yuǎn)程傳輸請(qǐng)求位 (RTR):指示這是一個(gè)數(shù)據(jù)幀還是遠(yuǎn)程幀。
- 控制段 :包含數(shù)據(jù)長度代碼(DLC)。
- 數(shù)據(jù)段 :包含實(shí)際傳輸?shù)臄?shù)據(jù)。
- 校驗(yàn)段 :用于錯(cuò)誤檢測。
- 循環(huán)冗余校驗(yàn) (CRC):確保數(shù)據(jù)的完整性。
- 確認(rèn)段 :由應(yīng)答位(ACK)組成,用于確認(rèn)數(shù)據(jù)幀的接收。
- 幀結(jié)束 :由7個(gè)隱性位(邏輯1)組成,表示數(shù)據(jù)幀的結(jié)束。
3. 詳細(xì)解析
3.1 幀起始(SOF)
幀起始是一個(gè)單獨(dú)的位,用于標(biāo)識(shí)數(shù)據(jù)幀的開始。在CAN總線上,邏輯0表示顯性電平,邏輯1表示隱性電平。幀起始總是一個(gè)顯性位,即邏輯0。
3.2 仲裁段
仲裁段由幀ID、RTR位和控制段組成。
- 幀ID :長度為11位(標(biāo)準(zhǔn)幀)或29位(擴(kuò)展幀),用于標(biāo)識(shí)發(fā)送的數(shù)據(jù)幀。幀ID越小,優(yōu)先級(jí)越高。
- RTR位 :遠(yuǎn)程傳輸請(qǐng)求位,1位。如果RTR=0,表示這是一個(gè)數(shù)據(jù)幀;如果RTR=1,表示這是一個(gè)遠(yuǎn)程幀,請(qǐng)求接收器發(fā)送具有相同幀ID的數(shù)據(jù)幀。
- 控制段 :包括DLC(數(shù)據(jù)長度代碼),4位,指示數(shù)據(jù)段中數(shù)據(jù)字節(jié)的數(shù)量。
3.3 數(shù)據(jù)段
數(shù)據(jù)段由0到8個(gè)字節(jié)的數(shù)據(jù)組成,具體長度由DLC字段指定。數(shù)據(jù)段用于傳輸實(shí)際的數(shù)據(jù)。
3.4 校驗(yàn)段
校驗(yàn)段包括CRC校驗(yàn)和CRC界定符。
- CRC校驗(yàn) :16位,用于檢測數(shù)據(jù)幀在傳輸過程中的錯(cuò)誤。
- CRC界定符 :1位,用于標(biāo)識(shí)CRC校驗(yàn)的結(jié)束。
3.5 確認(rèn)段
確認(rèn)段由兩個(gè)ACK位組成,用于接收器確認(rèn)數(shù)據(jù)幀的接收。如果接收器正確接收了數(shù)據(jù)幀,它會(huì)發(fā)送一個(gè)ACK位。
3.6 幀結(jié)束
幀結(jié)束由7個(gè)隱性位組成,用于標(biāo)識(shí)數(shù)據(jù)幀的結(jié)束。
4. 數(shù)據(jù)幀的發(fā)送和接收
當(dāng)一個(gè)ECU想要發(fā)送數(shù)據(jù)時(shí),它會(huì)構(gòu)建一個(gè)數(shù)據(jù)幀,并將其發(fā)送到CAN總線上。其他ECU會(huì)監(jiān)聽總線上的通信,并根據(jù)幀ID確定是否需要接收該數(shù)據(jù)幀。如果需要,接收器會(huì)發(fā)送ACK位以確認(rèn)接收。發(fā)送器在收到ACK位后,會(huì)結(jié)束數(shù)據(jù)幀的發(fā)送。
5. 錯(cuò)誤處理
CAN總線具有強(qiáng)大的錯(cuò)誤檢測和處理機(jī)制。如果檢測到錯(cuò)誤,CAN控制器會(huì)發(fā)送一個(gè)錯(cuò)誤幀,并可能引起總線上的仲裁過程,以確保數(shù)據(jù)的正確傳輸。
6. 結(jié)論
了解CAN總線數(shù)據(jù)幀的結(jié)構(gòu)對(duì)于開發(fā)和維護(hù)CAN通信系統(tǒng)至關(guān)重要。數(shù)據(jù)幀的每個(gè)部分都有其特定的功能,確保了數(shù)據(jù)的可靠傳輸和系統(tǒng)的高效運(yùn)行。隨著技術(shù)的發(fā)展,CAN總線協(xié)議也在不斷更新,以滿足更高速度和更大數(shù)據(jù)量的需求。
-
CAN總線
+關(guān)注
關(guān)注
145文章
1977瀏覽量
132433 -
汽車電子
+關(guān)注
關(guān)注
3036文章
8274瀏覽量
169741 -
總線通信
+關(guān)注
關(guān)注
0文章
59瀏覽量
11999 -
數(shù)據(jù)幀
+關(guān)注
關(guān)注
0文章
49瀏覽量
6924
發(fā)布評(píng)論請(qǐng)先 登錄
如何評(píng)估CAN總線信號(hào)質(zhì)量
EtherCAT數(shù)據(jù)幀結(jié)構(gòu)解析
解析ECAN-E02單過濾器CAN硬件過濾

基于Vector工具進(jìn)行CAN協(xié)議錯(cuò)誤幀的分析實(shí)踐

CAN總線通信原理介紹 CAN總線模塊選擇指南
CAN總線與LIN總線的區(qū)別

評(píng)論