范圍
ISO 11898-1主要描述了CAN總線的基本架構(gòu),定義了CAN在數(shù)據(jù)鏈路層的通信方式。重點(diǎn)內(nèi)容是數(shù)據(jù)鏈路層的兩個(gè)子層:邏輯鏈路控制(LLC)和介質(zhì)訪問(wèn)控制(MAC)。
LLC和MAC工作使用很少接觸,我理解的是把CAN比作一道菜的話,MAC是廚師,LLC是傳菜員。
ISO 11898-1定義了兩種CAN,經(jīng)典CAN和CAN FD。
經(jīng)典CAN:波特率最高1Mbit/s,數(shù)據(jù)場(chǎng)每幀可達(dá)8個(gè)字節(jié)。
CAN FD:波特率最高超過(guò)1Mbit/s,數(shù)據(jù)場(chǎng)每幀可超過(guò)8個(gè)字節(jié)。
其實(shí)這里說(shuō)波特率不是特別準(zhǔn)確,看單位就知道規(guī)范的說(shuō)法是比特率或位速率,標(biāo)準(zhǔn)原文也是bit rates。1個(gè)波特表示一個(gè)符號(hào),一個(gè)符號(hào)可以是多個(gè)bit組成,而1個(gè)比特就是一個(gè)bit,但口語(yǔ)大家都說(shuō)波特率,也沒(méi)有歧義,就這么用吧。
波特率達(dá)到1Mbit/s時(shí),最大傳輸距離為40m。
CAN的基本特點(diǎn)
CAN有如下特點(diǎn):
— 基于優(yōu)先權(quán)的多主總線訪問(wèn);
多主方式是指網(wǎng)絡(luò)上的每一節(jié)點(diǎn)都可以發(fā)送信息,每一節(jié)點(diǎn)也都可以對(duì)某一信息的標(biāo)識(shí)符進(jìn)行檢測(cè)。優(yōu)先權(quán)是根據(jù)標(biāo)識(shí)符的值判定,ID值越小,優(yōu)先權(quán)越高。
— 基于內(nèi)容的無(wú)損仲裁;
仲裁機(jī)制可以保證不會(huì)丟失信息,也不會(huì)浪費(fèi)時(shí)間。
— 所有幀以廣播方式傳輸;
每一節(jié)點(diǎn)發(fā)出信息,同一總線上的所有節(jié)點(diǎn)都可以選擇接收該信息。
— 通過(guò)接收濾波進(jìn)行多點(diǎn)傳輸;
接收器不判斷是哪個(gè)節(jié)點(diǎn)發(fā)送的信息,而是通過(guò)幀接收濾波的方法判斷該信息是否和接收器相關(guān)。發(fā)送也是一樣。
— 支持遠(yuǎn)程數(shù)據(jù)請(qǐng)求;
某個(gè)節(jié)點(diǎn)通過(guò)發(fā)送遠(yuǎn)程幀,請(qǐng)求另一個(gè)節(jié)點(diǎn)向自己回應(yīng)相應(yīng)的數(shù)據(jù)幀,這個(gè)數(shù)據(jù)幀標(biāo)識(shí)符和遠(yuǎn)程幀標(biāo)識(shí)符相同。
— 配置靈活;
只要標(biāo)識(shí)符數(shù)量夠,可以不做軟件或硬件的變更而增加節(jié)點(diǎn)。
— 全網(wǎng)內(nèi)數(shù)據(jù)具有一致性;
某一幀可以同時(shí)被所有節(jié)點(diǎn)接收,也可以同時(shí)不被所有節(jié)點(diǎn)接收。
— 錯(cuò)誤檢測(cè)和錯(cuò)誤通報(bào);
總線數(shù)據(jù)校驗(yàn),有多種方式。
— 自動(dòng)重傳仲裁失敗、未被確認(rèn)或在傳輸過(guò)程中被故障損壞的幀;
仲裁失敗會(huì)在下次總線空閑期間自動(dòng)重發(fā)。錯(cuò)誤幀在恢復(fù)時(shí)間之后,如果未再出錯(cuò),會(huì)被適時(shí)重發(fā)。
— 區(qū)分節(jié)點(diǎn)的臨時(shí)故障和永久故障,以及自動(dòng)關(guān)閉故障節(jié)點(diǎn)。
故障節(jié)點(diǎn)會(huì)被斷開(kāi),會(huì)無(wú)法發(fā)送和無(wú)法接收任何幀。
CAN的消息幀
CAN在發(fā)送的時(shí)候,由LLC消息幀轉(zhuǎn)換為MAC消息幀;CAN在接收的時(shí)候,由MAC消息幀轉(zhuǎn)換為L(zhǎng)LC消息幀。
LLC消息幀包括:標(biāo)識(shí)符、格式化場(chǎng)、數(shù)據(jù)長(zhǎng)度場(chǎng)、LLC數(shù)據(jù)場(chǎng)。
MAC消息幀包括:幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)、循環(huán)冗余碼校驗(yàn)場(chǎng)(CRC場(chǎng))、應(yīng)答場(chǎng)、幀結(jié)束。
一般好像只討論發(fā)出的MAC消息幀。消息幀分4種:數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀、超載幀。數(shù)據(jù)幀最常見(jiàn),也最復(fù)雜,以此為例說(shuō)明幀結(jié)構(gòu)。
幀起始(SOF) :數(shù)據(jù)幀和遠(yuǎn)程幀的開(kāi)始,只由一個(gè)顯性位組成,并且只在總線空閑時(shí)發(fā)送。
仲裁場(chǎng) :標(biāo)準(zhǔn)幀中由11位標(biāo)識(shí)符(標(biāo)識(shí)符編碼從ID-28到ID-18)和RTR位組成;擴(kuò)展幀中由29位標(biāo)識(shí)符(標(biāo)識(shí)符編碼從ID-28到ID-18、ID-17到ID-0)、SRR位、IDE位和RTR位組成組成。
RTR位叫遠(yuǎn)程傳輸請(qǐng)求位,數(shù)據(jù)幀中RTR是顯性電平,遠(yuǎn)程幀中RTR是隱性電平。
SRR位叫替代傳輸請(qǐng)求位,在擴(kuò)展幀中始終是隱性電平。
IDE位叫標(biāo)識(shí)符擴(kuò)展位。標(biāo)準(zhǔn)幀也有IDE位,只不過(guò)是在控制場(chǎng)。IDE位在標(biāo)準(zhǔn)幀中是顯性電平,在擴(kuò)展幀中是隱性電平。
控制場(chǎng) :總共6位。標(biāo)準(zhǔn)幀中,由IDE(顯性)、r0(顯性)和DLC組成;擴(kuò)展幀中,由r1(顯性)、r0(顯性)和DLC組成。
DLC叫數(shù)據(jù)長(zhǎng)度碼,4位。DLC的值就是這一幀里數(shù)據(jù)場(chǎng)的長(zhǎng)度。
數(shù)據(jù)場(chǎng) :0~8個(gè)字節(jié),存儲(chǔ)著發(fā)送的數(shù)據(jù),即這一幀想要傳輸?shù)男畔ⅰ?/p>
CRC場(chǎng) :循環(huán)冗余碼校驗(yàn)場(chǎng),由CRC序列和CRC界定符組成。
CRC序列是發(fā)送節(jié)點(diǎn)根據(jù)一個(gè)約定好的多項(xiàng)式算出來(lái)的校驗(yàn)碼,這個(gè)多項(xiàng)式的系數(shù)根據(jù)這幀報(bào)文里的幀起始、仲裁場(chǎng)等數(shù)據(jù)確定。接收節(jié)點(diǎn)用同樣的方式計(jì)算。如果兩方算出來(lái)的校驗(yàn)碼一致,則報(bào)文正常;不一致,則請(qǐng)求重新發(fā)送。
CRC_15用于經(jīng)典CAN,CRC_17用于數(shù)據(jù)場(chǎng)不超過(guò)16個(gè)字節(jié)的CANFD,CRC_21用于數(shù)據(jù)場(chǎng)超過(guò)16個(gè)字節(jié)的CANFD。
CRC界定符算是一個(gè)分界線,經(jīng)典CAN中為1個(gè)隱性位,CANFD中為1~2個(gè)隱性位。
應(yīng)答場(chǎng)(ACK場(chǎng)) :總共2位,由ACK槽和ACK界定符組成,兩個(gè)都是隱性位。
幀結(jié)束 :由7個(gè)隱性位組成。
其他3種消息幀與數(shù)據(jù)幀類(lèi)似,只是結(jié)構(gòu)不太一樣。
遠(yuǎn)程幀由6個(gè)域組成:幀起始、仲裁場(chǎng)、控制場(chǎng)、CRC場(chǎng)、應(yīng)答場(chǎng)和幀結(jié)束。
錯(cuò)誤幀由錯(cuò)誤標(biāo)志和錯(cuò)誤界定符組成。
超載幀由超載標(biāo)志和超載界定符組成。
-
CAN總線
+關(guān)注
關(guān)注
145文章
1969瀏覽量
132033 -
接收器
+關(guān)注
關(guān)注
14文章
2533瀏覽量
73123 -
ACK
+關(guān)注
關(guān)注
0文章
28瀏覽量
11319 -
CRC校驗(yàn)
+關(guān)注
關(guān)注
0文章
84瀏覽量
15473 -
LLC電路
+關(guān)注
關(guān)注
1文章
43瀏覽量
7672
發(fā)布評(píng)論請(qǐng)先 登錄
汽車(chē)CAN總線滲透測(cè)試
高速CAN總線和低速CAN總線的特性

can總線stm32交通燈
ISO11898物理層特性
CAN總線的特點(diǎn)
CAN協(xié)議的特點(diǎn)
CAN協(xié)議的特點(diǎn)
CAN總線筆記 精選資料分享
CAN總線協(xié)議
CAN總線的原理是什么
CAN總線協(xié)議簡(jiǎn)介
CAN總線的基礎(chǔ)知識(shí)
CAN總線應(yīng)用常見(jiàn)問(wèn)題

評(píng)論