新聞中心

CAN總線錯(cuò)誤幀分析

作者: 時(shí)間:2016-12-15 來(lái)源:網(wǎng)絡(luò) 收藏
1、CAN錯(cuò)誤檢測(cè)(Error Detection)
CAN網(wǎng)絡(luò)具有嚴(yán)格的錯(cuò)誤診斷功能,該功能已固化在硅片之中,一旦錯(cuò)誤被檢測(cè),正在傳送的數(shù)據(jù)幀將會(huì)立即停止而待總線空閑時(shí)再次重發(fā)直至發(fā)送成功,該過(guò)程并不需要CPU的干涉除非錯(cuò)誤累計(jì)該發(fā)送器退隱(Bus Off)。CAN控制器可檢測(cè)如下五種錯(cuò)誤:
√ 位錯(cuò)誤(Bit Check Error)
發(fā)送器在發(fā)送比特流的同時(shí)也對(duì)發(fā)出的比特流采樣回收,若送出的bit與所期待的bit不合,則會(huì)檢測(cè)到一個(gè)Bit Check Error;


√ 位填充錯(cuò)誤(Bit Stuff Error)
在需要執(zhí)行位編碼規(guī)則的位流序列中檢測(cè)到第6個(gè)連續(xù)的極性相同的位序流時(shí),則檢測(cè)到一個(gè)Bit Stuff Error;

√ CRC 錯(cuò)誤(CRC Error)
發(fā)送端送出的CRC序列由發(fā)送器算出,接收器執(zhí)行同樣的CRC算法,若計(jì)算結(jié)果與接收到的CRC序列不符,一個(gè)CRC Error被檢測(cè)到,由發(fā)送端送出;

√ 幀格式錯(cuò)誤(Frame Check Error)
當(dāng)一個(gè)固定形式的位場(chǎng)含非法位,則檢測(cè)到一個(gè)Frame Check Error(接收端檢測(cè)到幀結(jié)束最后一位為顯性時(shí)幀錯(cuò)誤忽略);


√ 應(yīng)答錯(cuò)誤(Acknowledgment Error)
ACK SLOT采樣為隱性,則檢測(cè)到一個(gè)Acknowledgement Error;


2、CAN錯(cuò)誤界定(Error Confinement)

本文引用地址:http://m.butianyuan.cn/article/201612/330445.htm
CAN控制器內(nèi)置兩個(gè)錯(cuò)誤計(jì)數(shù)器:Receive Error Counter及Tranmit Error Counter(錯(cuò)誤計(jì)數(shù)器的計(jì)數(shù)規(guī)則后附)。當(dāng)某個(gè)計(jì)數(shù)器的當(dāng)前值達(dá)到128時(shí),CAN控制器將進(jìn)入“Error Passive Mode”,此時(shí)該節(jié)點(diǎn)仍然參與CAN通訊,檢測(cè)到錯(cuò)誤時(shí)只能發(fā)送“Error Passive Flag”,且錯(cuò)誤幀發(fā)送完畢重啟下一個(gè)發(fā)送之前有8bits位時(shí)的掛起狀態(tài);當(dāng)Tranmit Error Counter當(dāng)前值為255接著又一個(gè)錯(cuò)誤被檢測(cè)到時(shí),CAN控制器將進(jìn)入“Bus Off Mode”,此時(shí)該節(jié)點(diǎn)與總線完全脫離,整個(gè)癱瘓;計(jì)數(shù)器當(dāng)前值均小于128時(shí),CAN控制器被標(biāo)識(shí)為“Error Active Mode”,CAN節(jié)點(diǎn)可正常通訊并檢測(cè)到錯(cuò)誤時(shí)發(fā)送“Error Active Flag”。這三種狀態(tài)之間關(guān)系為:


關(guān)鍵詞: CAN總線錯(cuò)誤

評(píng)論


技術(shù)專區(qū)

關(guān)閉