快速讀懂CAN-bus節(jié)點(diǎn)的錯誤處理規(guī)則
發(fā)布時間:2016-11-11 責(zé)任編輯:susan
【導(dǎo)讀】CAN-bus的可靠性很高,但是在某些情況下還是發(fā)生錯誤,為了使數(shù)據(jù)能夠在總線上可靠傳輸,CAN-bus規(guī)范對各類幀的格式、用途及發(fā)送時機(jī)都進(jìn)行了詳細(xì)的規(guī)定。
CAN-bus規(guī)范對各類幀的格式、用途及發(fā)送時機(jī)都進(jìn)行了詳細(xì)的規(guī)定。并實(shí)現(xiàn)在CAN控制器中自動完成幀格式處理及校驗(yàn)等工作,一旦錯誤被檢測,正在傳送的數(shù)據(jù)幀將會立即停止而待總線空閑時再次重發(fā)直至發(fā)送成功,該過程并不需要CPU的干涉除非錯誤累計(jì)該發(fā)送器退隱(Bus off)。
CAN-bus的可靠性很高,但是在某些情況下還是發(fā)生錯誤,為了使數(shù)據(jù)能夠在總線上可靠傳輸,CAN-bus規(guī)范對各類幀的格式、用途及發(fā)送時機(jī)都進(jìn)行了詳細(xì)的規(guī)定。下面我們來總結(jié)下在CAN通訊中會出現(xiàn)哪些錯誤。
圖一
位錯誤:發(fā)送節(jié)點(diǎn)在發(fā)送數(shù)據(jù)的同時也會對發(fā)出的比特流采樣回收,如果監(jiān)測到總線電平與正在發(fā)送的電平不符,將會發(fā)生位錯誤(Bit Check Error);
位填充錯誤:為解決異步串行通訊中共有的缺點(diǎn)——各節(jié)點(diǎn)通訊時鐘不同步,CAN-bus采用了一種同步的方式,規(guī)定每隔5個位的時間長度進(jìn)行一次同步,當(dāng)傳輸信號連續(xù)5個位是相同的,就要插入一個點(diǎn)評相反的位(稱為“填充位”),如果電纜上傳輸?shù)男盘柌粷M足這一規(guī)則,則會出現(xiàn)填充位錯誤(Bit Stuff Error);
CRC錯誤:發(fā)送端發(fā)送的CRC值由發(fā)送器計(jì)算得出,接收器采用同樣的CRC算法,計(jì)算出接收端CRC值,若接收器計(jì)算的CRC值與接收到的CRC值不符,將會產(chǎn)生該類錯誤(CRC Error);
格式錯誤:當(dāng)傳輸?shù)臄?shù)據(jù)幀格式與任何一種合法的幀格式不符時會發(fā)生該類格式錯誤(Frame Check Error);
應(yīng)答錯誤:如果在ACK段發(fā)送節(jié)點(diǎn)沒有接收到接收節(jié)點(diǎn)發(fā)出的應(yīng)答(顯性位),將發(fā)生應(yīng)答錯誤(Acknowledgment Error),所以當(dāng)單個節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀時會發(fā)生該類錯誤。
錯誤幀在總線信號傳輸中起著信號燈的作用,接收和發(fā)送過程中如果檢測到通信出錯,便會發(fā)送錯誤幀,錯誤幀由錯誤標(biāo)識符以及錯誤界定符構(gòu)成。其中錯誤標(biāo)識符分為兩種:“主動錯誤”和“被動錯誤”。
主動錯誤狀態(tài)下,只要檢查到錯誤,它立即“主動地”發(fā)出錯標(biāo)識。所謂“出錯標(biāo)識“,它本身就是一個“錯誤的位序列”(連續(xù)的6個顯性位,不滿足CAN協(xié)議的“最多5個連續(xù)的同性位”要求),目的是“主動地”告訴大家:即使你們沒有發(fā)現(xiàn)“剛才我已發(fā)現(xiàn)”的錯誤,現(xiàn)在我“以身作則”出錯啦!你們該看到這個錯誤了吧!
如果處于被動狀態(tài)下,檢查到錯誤,它只能干瞪眼“被動地”等別人(主動報錯站點(diǎn))報錯,等待的時候它可不能去動總線,直到識別出由主動報錯站點(diǎn)發(fā)出 的“錯誤的位序列”,它才松了一口氣:有人正式報錯了!然后他就可以去競爭總線,該干啥干啥。
為了避免某個設(shè)備因?yàn)樽陨碓颍ɡ缬布p壞)導(dǎo)致無法正常收發(fā)數(shù)據(jù)而不斷地破壞數(shù)據(jù)幀,從而影響其他正常節(jié)點(diǎn)通訊,CAN-bus規(guī)范中規(guī)定每個CAN控制器都有一個發(fā)送錯誤計(jì)數(shù)器和一個接收計(jì)數(shù)器。根據(jù)計(jì)數(shù)值不同CAN節(jié)點(diǎn)會處于不同的設(shè)備狀態(tài),狀態(tài)之間的轉(zhuǎn)換關(guān)系見下圖:
特別推薦
- 增強(qiáng)視覺傳感器功能:3D圖像拼接算法幫助擴(kuò)大視場
- PNP 晶體管:特性和應(yīng)用
- 使用IO-Link收發(fā)器管理數(shù)據(jù)鏈路如何簡化微控制器選擇
- 用好 DMA控制器這兩種模式 MCU效率大大提高!
- 深入分析帶耦合電感多相降壓轉(zhuǎn)換器的電壓紋波問題
- Honda(本田)與瑞薩簽署協(xié)議,共同開發(fā)用于軟件定義汽車的高性能SoC
- 第13講:超小型全SiC DIPIPM
技術(shù)文章更多>>
- TCL實(shí)業(yè)攬獲多項(xiàng)CES 2025科技大獎,蟬聯(lián)全球消費(fèi)電子品牌TOP10
- 利用高性能電壓監(jiān)控器提高工業(yè)功能安全合規(guī)性——第1部分
- 芯耀輝:從傳統(tǒng)IP到IP2.0,AI時代國產(chǎn)IP機(jī)遇與挑戰(zhàn)齊飛
- 解決模擬輸入IEC系統(tǒng)保護(hù)問題
- 當(dāng)過壓持續(xù)較長時間時,使用開關(guān)浪涌抑制器
技術(shù)白皮書下載更多>>
- 車規(guī)與基于V2X的車輛協(xié)同主動避撞技術(shù)展望
- 數(shù)字隔離助力新能源汽車安全隔離的新挑戰(zhàn)
- 汽車模塊拋負(fù)載的解決方案
- 車用連接器的安全創(chuàng)新應(yīng)用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
精密電阻
精密工具
景佑能源
聚合物電容
君耀電子
開發(fā)工具
開關(guān)
開關(guān)電源
開關(guān)電源電路
開關(guān)二極管
開關(guān)三極管
科通
可變電容
可調(diào)電感
可控硅
空心線圈
控制變壓器
控制模塊
藍(lán)牙
藍(lán)牙4.0
藍(lán)牙模塊
浪涌保護(hù)器
雷度電子
鋰電池
利爾達(dá)
連接器
流量單位
漏電保護(hù)器
濾波電感
濾波器