《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測(cè)試測(cè)量 > 業(yè)界動(dòng)態(tài) > CAN為什么會(huì)發(fā)送失敗

CAN為什么會(huì)發(fā)送失敗

2017-07-21
來源:ZLG致遠(yuǎn)電子

  CAN總線調(diào)試過程中出現(xiàn)報(bào)文發(fā)送失敗,很多工程師都對(duì)此只知其一不知其二,這里就CAN報(bào)文發(fā)送失敗的問題我們來做一次探討。

  在了解CAN報(bào)文為什么會(huì)發(fā)送失敗之前我們先看看一條正確的CAN報(bào)文到底應(yīng)該是怎么樣的,表1是一個(gè)正常標(biāo)準(zhǔn)數(shù)據(jù)幀的報(bào)文組成。

  表 1  標(biāo)準(zhǔn)數(shù)據(jù)幀報(bào)文格式組成

1.png

2.png

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

  CAN總線是一種基于廣播的通訊方式,為了保證總線上的每一個(gè)正常節(jié)點(diǎn)都能正確的接收到報(bào)文,報(bào)文的發(fā)送者要求每一個(gè)接收節(jié)點(diǎn)在報(bào)文發(fā)送結(jié)束前要作出應(yīng)答,這也是報(bào)文里ACK存在的原因。

  一幀CAN報(bào)文中ACK段長度為2個(gè)位,包含應(yīng)答間隙(ACK Slot)和應(yīng)答界定符(ACK Delimter)。在應(yīng)答場里,發(fā)送站發(fā)送兩個(gè)隱性位。當(dāng)接收器正確地接收到有效的報(bào)文,接收器就會(huì)在應(yīng)答間隙(ACK Slot)期間(發(fā)送ACK信號(hào))向發(fā)送器發(fā)送一“顯性”的位以示應(yīng)答。

  應(yīng)答間隙:所有接收到匹配CRC序列(CRC SEQUENCE)的站會(huì)在應(yīng)答間隙(ACK Slot)期間用一顯性的位寫入發(fā)送器的隱性位來作出回答。

  應(yīng)答界定符:ACK界定符是ACK場的第二個(gè)位,并且是一個(gè)必須為隱性的位。因此,應(yīng)答間隙(ACK Slot)被兩個(gè)隱性的位所包圍,也就是CRC界定符(CRC Delimter)和ACK界定符(ACK Delimter)。

3.png

  圖 2  正常ACK段報(bào)文

  而如果總線上沒有ACK應(yīng)答(即應(yīng)答間隙為隱性),發(fā)送器就會(huì)發(fā)送一個(gè)錯(cuò)誤標(biāo)志,并且發(fā)送錯(cuò)誤計(jì)數(shù)器值加8,節(jié)點(diǎn)就會(huì)對(duì)報(bào)文進(jìn)行自動(dòng)重發(fā),若自動(dòng)重發(fā)依然收不到ACK,則在發(fā)送錯(cuò)誤計(jì)數(shù)器計(jì)數(shù)滿128后(即出現(xiàn)16幀錯(cuò)誤幀),由錯(cuò)誤主動(dòng)轉(zhuǎn)為錯(cuò)誤被動(dòng)狀態(tài),如圖3所示。

  那導(dǎo)致ACK段出錯(cuò)的原因有哪些呢?

  l總線上只有一個(gè)有效節(jié)點(diǎn):發(fā)送報(bào)文的節(jié)點(diǎn)在發(fā)送出一幀報(bào)文后會(huì)檢測(cè)總線上應(yīng)答間隙的狀態(tài),如果檢測(cè)到應(yīng)答間隙為隱性位,則表示該幀報(bào)文沒有得到ACK,發(fā)送失敗,需要重發(fā),而由于發(fā)送錯(cuò)誤計(jì)數(shù)器會(huì)在發(fā)送失敗后累加,直到該節(jié)點(diǎn)關(guān)閉。所以,當(dāng)總線上只有一個(gè)有效節(jié)點(diǎn)時(shí),這個(gè)節(jié)點(diǎn)是發(fā)不出去數(shù)據(jù)的,因?yàn)樗l(fā)出的數(shù)據(jù)幀中的ACK Slot沒有另外一個(gè)節(jié)點(diǎn)來填充,將永遠(yuǎn)是隱性位,這個(gè)節(jié)點(diǎn)會(huì)一直重發(fā)數(shù)據(jù)直到發(fā)送成功或發(fā)送被取消。

  l波特率不匹配或者節(jié)點(diǎn)沒有初始化,導(dǎo)致沒有ACK;

  l總線線纜短路,斷路,接反;

  l高速CAN總線上接的節(jié)點(diǎn)不是高速CAN,而是容錯(cuò)低速CAN,導(dǎo)致不匹配。

4.png

  圖 3  應(yīng)答界定符錯(cuò)誤幀

5.png

  圖 4  沒有ACK的報(bào)文

  當(dāng)你在調(diào)試CAN總線時(shí)出現(xiàn)節(jié)點(diǎn)發(fā)送報(bào)文失敗的情況時(shí),一定要檢查是不是以上幾點(diǎn)疏漏導(dǎo)致你的總線上ACK異常。而借助恰當(dāng)?shù)膬x器,可以在查找CAN總線錯(cuò)誤時(shí)事半功倍。圖4即采用致遠(yuǎn)電子的CANScope來對(duì)錯(cuò)誤幀進(jìn)行標(biāo)記,同時(shí)找到錯(cuò)誤幀對(duì)應(yīng)的波形來查找出錯(cuò)誤情況。CANScope還可以對(duì)CAN總線物理層、數(shù)據(jù)鏈路層、應(yīng)用層做一系列的測(cè)試,為CAN工程師解決測(cè)試難題。

6.png

  圖 5  CANScope測(cè)試項(xiàng)目


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 伊伊人成亚洲综合人网7777| 国产麻豆91网在线看| 亚洲Av人人澡人人爽人人夜夜| 精品欧美小视频在线观看| 国产特级毛片aaaaaa| xxxxhd93| 日本在线观看中文字幕| 亚洲最大成人网色| 精品国产麻豆免费人成网站| 国产极品粉嫩交性大片| 中文字幕在线看日本大片| 欧美一区二区三区激情| 伊人久久综在合线亚洲91| 色老太婆bbw| 国产福利2021最新在线观看| JIZZJIZZ亚洲日本少妇| 手机在线毛片免费播放| 亚洲AV成人片色在线观看高潮 | 亚洲AV激情无码专区在线播放| 琪琪色原网站在线观看| 国产不卡一卡2卡三卡4卡5卡在线| aaa一级黄色片| 免费成人激情视频| a级毛片免费全部播放| 欧美性xxxx极品高清| 午夜毛片不卡免费观看视频| 国产chinese91在线| 在线观看免费黄色网址| 久热中文字幕在线精品首页| 热re99久久精品国产99热| 日韩精品无码一本二本三本色| 免费jjzz在在线播放国产| 韩国伦理电影我妻子的秘密| 少妇极品熟妇人妻| 久久精品成人一区二区三区| 正在播放pppd| 午夜福利啪啪片| 韩国精品一区视频在线播放| 国产精品香蕉在线观看| а天堂中文最新一区二区三区 | 在线观看亚洲av每日更新|