你的位置:首頁(yè) > 測(cè)試測(cè)量 > 正文
快速讀懂CAN-bus節(jié)點(diǎn)的錯(cuò)誤處理規(guī)則
發(fā)布時(shí)間:2016-11-11 責(zé)任編輯:susan
【導(dǎo)讀】CAN-bus的可靠性很高,但是在某些情況下還是發(fā)生錯(cuò)誤,為了使數(shù)據(jù)能夠在總線上可靠傳輸,CAN-bus規(guī)范對(duì)各類幀的格式、用途及發(fā)送時(shí)機(jī)都進(jìn)行了詳細(xì)的規(guī)定。
CAN-bus規(guī)范對(duì)各類幀的格式、用途及發(fā)送時(shí)機(jī)都進(jìn)行了詳細(xì)的規(guī)定。并實(shí)現(xiàn)在CAN控制器中自動(dòng)完成幀格式處理及校驗(yàn)等工作,一旦錯(cuò)誤被檢測(cè),正在傳送的數(shù)據(jù)幀將會(huì)立即停止而待總線空閑時(shí)再次重發(fā)直至發(fā)送成功,該過(guò)程并不需要CPU的干涉除非錯(cuò)誤累計(jì)該發(fā)送器退隱(Bus off)。
CAN-bus的可靠性很高,但是在某些情況下還是發(fā)生錯(cuò)誤,為了使數(shù)據(jù)能夠在總線上可靠傳輸,CAN-bus規(guī)范對(duì)各類幀的格式、用途及發(fā)送時(shí)機(jī)都進(jìn)行了詳細(xì)的規(guī)定。下面我們來(lái)總結(jié)下在CAN通訊中會(huì)出現(xiàn)哪些錯(cuò)誤。
圖一
位錯(cuò)誤:發(fā)送節(jié)點(diǎn)在發(fā)送數(shù)據(jù)的同時(shí)也會(huì)對(duì)發(fā)出的比特流采樣回收,如果監(jiān)測(cè)到總線電平與正在發(fā)送的電平不符,將會(huì)發(fā)生位錯(cuò)誤(Bit Check Error);
位填充錯(cuò)誤:為解決異步串行通訊中共有的缺點(diǎn)——各節(jié)點(diǎn)通訊時(shí)鐘不同步,CAN-bus采用了一種同步的方式,規(guī)定每隔5個(gè)位的時(shí)間長(zhǎng)度進(jìn)行一次同步,當(dāng)傳輸信號(hào)連續(xù)5個(gè)位是相同的,就要插入一個(gè)點(diǎn)評(píng)相反的位(稱為“填充位”),如果電纜上傳輸?shù)男盘?hào)不滿足這一規(guī)則,則會(huì)出現(xiàn)填充位錯(cuò)誤(Bit Stuff Error);
CRC錯(cuò)誤:發(fā)送端發(fā)送的CRC值由發(fā)送器計(jì)算得出,接收器采用同樣的CRC算法,計(jì)算出接收端CRC值,若接收器計(jì)算的CRC值與接收到的CRC值不符,將會(huì)產(chǎn)生該類錯(cuò)誤(CRC Error);
格式錯(cuò)誤:當(dāng)傳輸?shù)臄?shù)據(jù)幀格式與任何一種合法的幀格式不符時(shí)會(huì)發(fā)生該類格式錯(cuò)誤(Frame Check Error);
應(yīng)答錯(cuò)誤:如果在ACK段發(fā)送節(jié)點(diǎn)沒(méi)有接收到接收節(jié)點(diǎn)發(fā)出的應(yīng)答(顯性位),將發(fā)生應(yīng)答錯(cuò)誤(Acknowledgment Error),所以當(dāng)單個(gè)節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀時(shí)會(huì)發(fā)生該類錯(cuò)誤。
錯(cuò)誤幀在總線信號(hào)傳輸中起著信號(hào)燈的作用,接收和發(fā)送過(guò)程中如果檢測(cè)到通信出錯(cuò),便會(huì)發(fā)送錯(cuò)誤幀,錯(cuò)誤幀由錯(cuò)誤標(biāo)識(shí)符以及錯(cuò)誤界定符構(gòu)成。其中錯(cuò)誤標(biāo)識(shí)符分為兩種:“主動(dòng)錯(cuò)誤”和“被動(dòng)錯(cuò)誤”。
主動(dòng)錯(cuò)誤狀態(tài)下,只要檢查到錯(cuò)誤,它立即“主動(dòng)地”發(fā)出錯(cuò)標(biāo)識(shí)。所謂“出錯(cuò)標(biāo)識(shí)“,它本身就是一個(gè)“錯(cuò)誤的位序列”(連續(xù)的6個(gè)顯性位,不滿足CAN協(xié)議的“最多5個(gè)連續(xù)的同性位”要求),目的是“主動(dòng)地”告訴大家:即使你們沒(méi)有發(fā)現(xiàn)“剛才我已發(fā)現(xiàn)”的錯(cuò)誤,現(xiàn)在我“以身作則”出錯(cuò)啦!你們?cè)摽吹竭@個(gè)錯(cuò)誤了吧!
如果處于被動(dòng)狀態(tài)下,檢查到錯(cuò)誤,它只能干瞪眼“被動(dòng)地”等別人(主動(dòng)報(bào)錯(cuò)站點(diǎn))報(bào)錯(cuò),等待的時(shí)候它可不能去動(dòng)總線,直到識(shí)別出由主動(dòng)報(bào)錯(cuò)站點(diǎn)發(fā)出 的“錯(cuò)誤的位序列”,它才松了一口氣:有人正式報(bào)錯(cuò)了!然后他就可以去競(jìng)爭(zhēng)總線,該干啥干啥。
為了避免某個(gè)設(shè)備因?yàn)樽陨碓颍ɡ缬布p壞)導(dǎo)致無(wú)法正常收發(fā)數(shù)據(jù)而不斷地破壞數(shù)據(jù)幀,從而影響其他正常節(jié)點(diǎn)通訊,CAN-bus規(guī)范中規(guī)定每個(gè)CAN控制器都有一個(gè)發(fā)送錯(cuò)誤計(jì)數(shù)器和一個(gè)接收計(jì)數(shù)器。根據(jù)計(jì)數(shù)值不同CAN節(jié)點(diǎn)會(huì)處于不同的設(shè)備狀態(tài),狀態(tài)之間的轉(zhuǎn)換關(guān)系見(jiàn)下圖:
特別推薦
- 隨時(shí)隨地享受大屏幕游戲:讓便攜式 4K 超高清 240Hz 游戲投影儀成為現(xiàn)實(shí)
- 在發(fā)送信號(hào)鏈設(shè)計(jì)中使用差分轉(zhuǎn)單端射頻放大器的優(yōu)勢(shì)
- 第9講:SiC的加工工藝(1)離子注入
- 移遠(yuǎn)通信再推兩款新型4G、Wi-Fi、GNSS三合一組合天線
- Bourns 推出全新雙繞組系列,擴(kuò)展屏蔽功率電感產(chǎn)品組合
- 貿(mào)澤開(kāi)售AMD Versal AI Edge VEK280評(píng)估套件
- 安森美Hyperlux圖像傳感器將用于斯巴魯新一代集成AI的EyeSight系統(tǒng)
技術(shù)文章更多>>
- AMTS & AHTE South China 2024圓滿落幕 持續(xù)發(fā)力探求創(chuàng)新,攜手并進(jìn)再踏新征程!
- 提高下一代DRAM器件的寄生電容性能
- 意法半導(dǎo)體Web工具配合智能傳感器加快AIoT項(xiàng)目落地
- 韌性與創(chuàng)新并存,2024 IIC創(chuàng)實(shí)技術(shù)再獲獎(jiǎng)分享供應(yīng)鏈挑戰(zhàn)下的自我成長(zhǎng)
- 上海國(guó)際嵌入式展暨大會(huì)(embedded world China )與多家國(guó)際知名項(xiàng)目達(dá)成合作
技術(shù)白皮書(shū)下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動(dòng)避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門(mén)搜索