CAN知識(shí)點(diǎn)總結(jié)(二)

CAN的主要功能是進(jìn)行數(shù)據(jù)通訊凌外,CAN知識(shí)點(diǎn)總結(jié)(一)里面總結(jié)了CAN網(wǎng)絡(luò)中的CAN節(jié)點(diǎn)和CAN總線以及標(biāo)準(zhǔn)11898佑女“赂眩總結(jié)(二)來(lái)說(shuō)一下CAN的幀格式歉备。

首先記住傅是,顯性電平對(duì)應(yīng)邏輯“0”,隱形電平對(duì)應(yīng)邏輯“1”蕾羊,千萬(wàn)別混淆了喧笔!

一、下圖是CAN的數(shù)據(jù)幀(Data Frame)的格式龟再。

標(biāo)準(zhǔn)數(shù)據(jù)幀

圖中只有藍(lán)色色塊的數(shù)據(jù)段Data Field才是要傳遞的數(shù)據(jù)书闸。問(wèn)題來(lái)了,為什么數(shù)據(jù)段的前后還有這么多信息塊呢利凑?

這是因?yàn)镃AN網(wǎng)絡(luò)里面只有兩根線浆劲,一根高線一根低線。物理層面的簡(jiǎn)單注定CAN的數(shù)據(jù)格式必須含有大量的通訊協(xié)議哀澈。

一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)幀包含以下內(nèi)容:

SOF 起始位(Start of Frame ):起始位代表著數(shù)據(jù)幀的傳輸開(kāi)始梳侨,它占位1Bit。它由發(fā)送器發(fā)送日丹,并通過(guò)將邊沿從隱性(總線空閑)更改為顯性來(lái)確保全網(wǎng)同步走哺。

ID 標(biāo)識(shí)符(Identidier):SOF之后是標(biāo)識(shí)符(ID)。ID確定了數(shù)據(jù)幀的優(yōu)先級(jí)哲虾,并負(fù)責(zé)CAN網(wǎng)絡(luò)中發(fā)送器和收發(fā)器的關(guān)系丙躏。

RTR 遠(yuǎn)程傳輸請(qǐng)求(Remote Transmission Request):發(fā)送器使用RTR位將幀類型(數(shù)據(jù)幀或遠(yuǎn)程幀)通知接收器。如果RTR是顯性位束凑,那表明這是數(shù)據(jù)幀晒旅。(隱性位表明是遠(yuǎn)程幀)

IDE 標(biāo)識(shí)符拓展(Identifier Extension):IDE位用于區(qū)分標(biāo)準(zhǔn)格式和擴(kuò)展格式。標(biāo)識(shí)符的標(biāo)準(zhǔn)格式為11位汪诉,擴(kuò)展格式為29位废恋。下圖就是“標(biāo)準(zhǔn)格式和擴(kuò)展格式的數(shù)據(jù)格式”。

標(biāo)識(shí)符拓展

DLC 數(shù)據(jù)長(zhǎng)度代碼(Data Length Code):DLC將有效字節(jié)的數(shù)量發(fā)送到接收器扒寄。DLC是多少鱼鼓,Data Field中就有多少個(gè)字節(jié)。

Data Field 數(shù)據(jù)段:一個(gè)數(shù)據(jù)幀最多可以傳輸八個(gè)有用字節(jié)该编。這八個(gè)字節(jié)放在數(shù)據(jù)段里面迄本。

CRC 循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check):能檢測(cè)出錯(cuò)誤,是傳輸安全性的保證课竣。

  • 原理:根據(jù)要傳輸?shù)奈唬◤钠鹗嘉坏綌?shù)據(jù)段)和由ISO 11898-1定義的多項(xiàng)式G(x)計(jì)算出一段CRC序列嘉赎,然后在要傳輸?shù)奈缓竺婕由线@個(gè)CRC序列置媳。整個(gè)多項(xiàng)式對(duì)應(yīng)于要傳輸?shù)奈坏谋稊?shù)。如果多項(xiàng)式的除法得到了余數(shù)公条,則接收器能夠檢測(cè)到傳輸錯(cuò)誤拇囊。
ACK應(yīng)答

應(yīng)答ACK(Acknowledgement):根據(jù)CRC除法的結(jié)果,接收器會(huì)向發(fā)送器回應(yīng)傳輸是否正確靶橱。如果正確寥袭,接收器會(huì)在ACK時(shí)隙(ACK Slot)期間發(fā)送一個(gè)顯性電平的ACK信號(hào)給發(fā)送器,來(lái)表示應(yīng)答抓韩。注意:在接收器確認(rèn)之前纠永,ACK的信號(hào)之前一直都是隱性電平鬓长。只有傳輸正確之后谒拴,才改為顯性電平。(看上圖中ACK Slot在傳輸正確和傳輸錯(cuò)誤時(shí)不同的電平)涉波。

  • ACK Error 應(yīng)答錯(cuò)誤:應(yīng)答非常重要英上,如果接收器不向發(fā)送器發(fā)送顯性電平,那就到不了EOF那一位啤覆,也就是說(shuō)發(fā)送失敗苍日,報(bào)文需重新發(fā)送。發(fā)送失敗又分幾種形式: 1. 接受器在ACK時(shí)隙期間窗声,除了向發(fā)送器發(fā)送電平相恃,也會(huì)監(jiān)視總線上的數(shù)據(jù),如果數(shù)據(jù)與發(fā)送的數(shù)據(jù)不一致笨觅,那就表示發(fā)送失敗拦耐。2. 在ACK時(shí)隙期間,如果發(fā)送器檢測(cè)到ACK位依然是隱性位见剩,那么發(fā)送失敗杀糯。

DEL 界定符(Delimiter):ACK Del始終是隱性傳輸(圖中灰線為邏輯“1”)。

EOF 結(jié)束位(End of Frame ):7個(gè)隱性位代表數(shù)據(jù)幀的傳輸結(jié)束苍苞。

二固翰、數(shù)據(jù)傳輸正確的條件下的應(yīng)答過(guò)程(應(yīng)答為positive):

發(fā)送器發(fā)送報(bào)文

第一步,發(fā)送器(Sender)向總線發(fā)送報(bào)文羹呵,從上圖中可以看出骂际,報(bào)文從SOF一直傳輸?shù)搅藬?shù)據(jù)段(Data Field)。此時(shí)只有發(fā)送器和總線上有數(shù)據(jù)傳輸冈欢。

傳輸CRC段

第二步方援,接著傳輸CRC 段。此時(shí)接收器上依然沒(méi)有數(shù)據(jù)傳輸涛癌。

ACK時(shí)隙發(fā)送應(yīng)答

第三步犯戏,到了ACK時(shí)隙段送火,接收器要做出應(yīng)答。圖中兩個(gè)接收器給出的應(yīng)答均為傳輸正確先匪,從上圖中可以看出接收器發(fā)送的ACK時(shí)隙段的信號(hào)為顯性電平种吸。此時(shí)接收器那兒開(kāi)始有信號(hào)傳輸了。

發(fā)送ACK界定符

第四步呀非,發(fā)送ACK界定符信號(hào)坚俗。ACK界定符永遠(yuǎn)為隱性位。

傳輸EOF

第五步岸裙,傳輸EOF猖败,數(shù)據(jù)幀傳輸完成。

幀間隔ITM發(fā)送

第六步降允,幀間隔ITM發(fā)送恩闻,整個(gè)過(guò)程完畢。

三剧董、CAN的其他幀幢尚。除了用于數(shù)據(jù)傳輸?shù)臄?shù)據(jù)幀之外,CAN還規(guī)定了其他的格式翅楼,例如遠(yuǎn)程幀 Remote Frame和錯(cuò)誤幀Error Frame尉剩。

遠(yuǎn)程幀Remote Frame: 遠(yuǎn)程幀是一種幀類型,通過(guò)該幀類型可以從任何CAN節(jié)點(diǎn)請(qǐng)求用戶數(shù)據(jù)毅臊,即數(shù)據(jù)幀理茎。但是,這些幾乎不用于汽車中管嬉,因?yàn)槠嚴(yán)锏臄?shù)據(jù)基于信息生產(chǎn)者的主動(dòng)性皂林。

  • 遠(yuǎn)程幀可以用標(biāo)準(zhǔn)格式和擴(kuò)展格式傳輸。
標(biāo)準(zhǔn)遠(yuǎn)程幀格式
  • 遠(yuǎn)程幀和數(shù)據(jù)幀的區(qū)別:

除缺少數(shù)據(jù)字段外宠蚂,遠(yuǎn)程幀的結(jié)構(gòu)與數(shù)據(jù)幀的結(jié)構(gòu)相對(duì)應(yīng)式撼。數(shù)據(jù)和遠(yuǎn)程幀之間的區(qū)別是使用RTR位(遠(yuǎn)程傳輸請(qǐng)求)。RTR顯性位表明該幀是數(shù)據(jù)幀求厕,隱性位表明該幀是遠(yuǎn)程幀著隆。

  • 作用原理:

1. CAN節(jié)點(diǎn)一接收到ID與其自身數(shù)據(jù)幀的ID相同的遠(yuǎn)程幀,便會(huì)回復(fù)相應(yīng)的數(shù)據(jù)幀呀癣。

2. 對(duì)于帶有對(duì)象存儲(chǔ)的CAN控制器美浦,CAN控制器會(huì)自動(dòng)應(yīng)答遠(yuǎn)程幀。沒(méi)有對(duì)象存儲(chǔ)的CAN控制器必須通知主機(jī)项栏,以便它可以啟動(dòng)響應(yīng)浦辨。

3. 一般來(lái)說(shuō),遠(yuǎn)程幀的請(qǐng)求后緊跟相應(yīng)數(shù)據(jù)幀的請(qǐng)求答案沼沈。但是流酬,可以在請(qǐng)求和答案之間推送優(yōu)先級(jí)更高的CAN消息币厕。

錯(cuò)誤幀 Error Frame:錯(cuò)誤幀可用于發(fā)信號(hào)通知在通信過(guò)程中發(fā)現(xiàn)的錯(cuò)誤。錯(cuò)誤幀的傳輸伴隨正在進(jìn)行的消息傳輸?shù)慕K止芽腾。

來(lái)源:所有圖均來(lái)源于Vector官網(wǎng) https://elearning.vector.com/

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末旦装,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子摊滔,更是在濱河造成了極大的恐慌阴绢,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艰躺,死亡現(xiàn)場(chǎng)離奇詭異呻袭,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)腺兴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)左电,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人含长,你說(shuō)我怎么就攤上這事券腔》拢” “怎么了拘泞?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)枕扫。 經(jīng)常有香客問(wèn)我陪腌,道長(zhǎng),這世上最難降的妖魔是什么烟瞧? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任诗鸭,我火速辦了婚禮,結(jié)果婚禮上参滴,老公的妹妹穿的比我還像新娘强岸。我一直安慰自己,他們只是感情好砾赔,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布蝌箍。 她就那樣靜靜地躺著,像睡著了一般暴心。 火紅的嫁衣襯著肌膚如雪妓盲。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天专普,我揣著相機(jī)與錄音悯衬,去河邊找鬼。 笑死檀夹,一個(gè)胖子當(dāng)著我的面吹牛筋粗,可吹牛的內(nèi)容都是我干的策橘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼娜亿,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼役纹!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起暇唾,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤促脉,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后策州,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體瘸味,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年够挂,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了旁仿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡孽糖,死狀恐怖枯冈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情办悟,我是刑警寧澤尘奏,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站病蛉,受9級(jí)特大地震影響炫加,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜铺然,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一俗孝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧魄健,春花似錦赋铝、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至其垄,卻和暖如春苛蒲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背绿满。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工臂外, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓漏健,卻偏偏與公主長(zhǎng)得像嚎货,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蔫浆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353