你的位置:首頁 > 測(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ā)送成功,該過程并不需要CPU的干涉除非錯(cuò)誤累計(jì)該發(fā)送器退隱(Bus off)。
CAN-bus的可靠性很高,但是在某些情況下還是發(fā)生錯(cuò)誤,為了使數(shù)據(jù)能夠在總線上可靠傳輸,CAN-bus規(guī)范對(duì)各類幀的格式、用途及發(fā)送時(shí)機(jī)都進(jìn)行了詳細(xì)的規(guī)定。下面我們來總結(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í)間長度進(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)沒有接收到接收節(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ā)送過程中如果檢測(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)地”告訴大家:即使你們沒有發(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)致無法正常收發(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)系見下圖:
特別推薦
- 授權(quán)代理商貿(mào)澤電子供應(yīng)Same Sky多樣化電子元器件
- 使用合適的窗口電壓監(jiān)控器優(yōu)化系統(tǒng)設(shè)計(jì)
- ADI電機(jī)運(yùn)動(dòng)控制解決方案 驅(qū)動(dòng)智能運(yùn)動(dòng)新時(shí)代
- 倍福推出采用 TwinSAFE SC 技術(shù)的 EtherCAT 端子模塊 EL3453-0090
- TDK推出新的X系列環(huán)保型SMD壓敏電阻
- Vishay 推出新款采用0102、0204和 0207封裝的精密薄膜MELF電阻
- Microchip推出新款交鑰匙電容式觸摸控制器產(chǎn)品 MTCH2120
技術(shù)文章更多>>
- 中微公司成功從美國國防部中國軍事企業(yè)清單中移除
- 華邦電子白皮書:滿足歐盟無線電設(shè)備指令(RED)信息安全標(biāo)準(zhǔn)
- 功率器件熱設(shè)計(jì)基礎(chǔ)(九)——功率半導(dǎo)體模塊的熱擴(kuò)散
- 準(zhǔn) Z 源逆變器的設(shè)計(jì)
- 第12講:三菱電機(jī)高壓SiC芯片技術(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
熱門搜索
單向可控硅
刀開關(guān)
等離子顯示屏
低頻電感
低通濾波器
低音炮電路
滌綸電容
點(diǎn)膠設(shè)備
電池
電池管理系統(tǒng)
電磁蜂鳴器
電磁兼容
電磁爐危害
電動(dòng)車
電動(dòng)工具
電動(dòng)汽車
電感
電工電路
電機(jī)控制
電解電容
電纜連接器
電力電子
電力繼電器
電力線通信
電流保險(xiǎn)絲
電流表
電流傳感器
電流互感器
電路保護(hù)
電路圖