CAN總線錯(cuò)誤處理看這里就對了!-全球快消息
時(shí)間:2023-06-23 01:21:13
CAN協(xié)議具有檢測錯(cuò)誤的能力。但是如果發(fā)生錯(cuò)誤,它無法糾正錯(cuò)誤。因此,如果發(fā)生錯(cuò)誤,檢測到的節(jié)點(diǎn)或ECU將向CAN網(wǎng)絡(luò)發(fā)送錯(cuò)誤幀。與之相對應(yīng)的CAN 2.0 總線協(xié)議定義參與通信的CAN節(jié)點(diǎn)錯(cuò)誤類型如下:
如果在使用位填充編碼的位流中,出現(xiàn)了第六個(gè)連續(xù)相同的位電平,將檢測到一個(gè)位填充錯(cuò)誤;
當(dāng)一個(gè)固定形式的位場含有一個(gè)或多個(gè)非法位時(shí),將檢測到一個(gè)形式錯(cuò)誤;
(資料圖片僅供參考)
在應(yīng)答間隙(ACK SLOT)所監(jiān)視的位不為“顯性”,則會(huì)檢測到一個(gè)應(yīng)答錯(cuò)誤;
如果接收器的CRC結(jié)果和發(fā)送器的CRC結(jié)果不同,將檢測到一個(gè)CRC錯(cuò)誤。
2 CAN總線錯(cuò)誤處理機(jī)制
每個(gè)CAN控制器都有自己的CAN總線錯(cuò)誤處理程序。為了處理這個(gè)問題,每個(gè)CAN控制器有兩個(gè)計(jì)數(shù)器寄存器(0 – 255),即:發(fā)送錯(cuò)誤計(jì)數(shù)器 (TEC) 和接收錯(cuò)誤計(jì)數(shù)器 (REC) 。如果5個(gè)錯(cuò)誤中發(fā)生任何一個(gè)發(fā)生錯(cuò)誤,它將根據(jù)錯(cuò)誤類型增加 TEC 或 REC。Tips:一個(gè)特例:如果CAN總線上只有一個(gè)節(jié)點(diǎn),該節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀后得不到響應(yīng)(ACK),其發(fā)送計(jì)數(shù)器TEC最大只能計(jì)到128,即該節(jié)點(diǎn)只能進(jìn)入錯(cuò)誤被動(dòng)狀態(tài),而不會(huì)進(jìn)入總線關(guān)閉狀態(tài),這就是為什么當(dāng)您沒有將任何設(shè)備連接到網(wǎng)絡(luò)時(shí),您的ECU將持續(xù)發(fā)送幀,但不會(huì)檢測到總線關(guān)閉并保持錯(cuò)誤被動(dòng)狀態(tài)。
錯(cuò)誤計(jì)數(shù)器的遞增和遞減操作是不對稱的。在成功傳輸或接收消息時(shí),如果相應(yīng)的錯(cuò)誤計(jì)數(shù)器未為零,則相應(yīng)的錯(cuò)誤計(jì)數(shù)器將遞減。在傳輸或接收錯(cuò)誤的情況下,計(jì)數(shù)器將遞增,但遞增值大于遞減值。具體錯(cuò)誤限制管理規(guī)則如下:
a) 當(dāng)接收器檢測到錯(cuò)誤時(shí),接收錯(cuò)誤計(jì)數(shù)器REC+ 1。例外:發(fā)送活動(dòng)錯(cuò)誤標(biāo)志、過載標(biāo)志期間的位錯(cuò)誤。
b) 當(dāng)接收器在發(fā)送錯(cuò)誤標(biāo)志后檢測到顯性位作為第一位時(shí),接收錯(cuò)誤計(jì)數(shù)器REC+8。
c) 當(dāng)發(fā)送器發(fā)送錯(cuò)誤標(biāo)志時(shí),發(fā)送錯(cuò)誤計(jì)數(shù)器REC+8。
1) 例外 1:如果發(fā)送器是錯(cuò)誤被動(dòng)狀態(tài),并且由于未檢測到顯性 ACK 而檢測到 ACK 錯(cuò)誤,并且在發(fā)送其被動(dòng)錯(cuò)誤標(biāo)志時(shí)未檢測到顯性位。 2) 例外 2:如果發(fā)送方因?yàn)橹俨闷陂g發(fā)生填充錯(cuò)誤而發(fā)送錯(cuò)誤標(biāo)志,因此,填充位應(yīng)該是隱性的,并且已作為隱性發(fā)送但被監(jiān)視為主導(dǎo)的。 在這兩種例外情況下,傳輸錯(cuò)誤計(jì)數(shù)器保持不變。d) 如果發(fā)送器在發(fā)送活動(dòng)錯(cuò)誤標(biāo)志或過載標(biāo)志時(shí)檢測到位錯(cuò)誤,則發(fā)送錯(cuò)誤計(jì)數(shù)器TEC+8。
e) 如果接收器在發(fā)送活動(dòng)錯(cuò)誤標(biāo)志或過載標(biāo)志時(shí)檢測到位錯(cuò)誤,則接收錯(cuò)誤計(jì)數(shù)器TEC+8。
f) 在發(fā)送活動(dòng)錯(cuò)誤標(biāo)志、被動(dòng)錯(cuò)誤標(biāo)志或過載標(biāo)志后,任何節(jié)點(diǎn)都應(yīng)容忍最多7 個(gè)連續(xù)顯性位。在檢測到第14個(gè)連續(xù)顯性位后(在活動(dòng)錯(cuò)誤標(biāo)志或過載標(biāo)志的情況下)或在被動(dòng)錯(cuò)誤標(biāo)志后檢測到第 8 個(gè)連續(xù)顯性位之后,并且每當(dāng)在出現(xiàn)額外的8個(gè)連續(xù)顯性位序列之后,REC和TEC都需要+8。
g) 成功傳輸一個(gè)幀后(收到 ACK 并且沒有檢測到錯(cuò)誤,直到 EOF 被檢測到完成),傳輸錯(cuò)誤計(jì)數(shù)器應(yīng)減1,直到為0。
h) 成功接收一個(gè)幀后(接收到 ACK 時(shí)隙沒有錯(cuò)誤并且成功ACK 位的發(fā)送),接收錯(cuò)誤計(jì)數(shù)器應(yīng)減 1,如果它介于1和127。如果接收錯(cuò)誤計(jì)數(shù)器為0,則應(yīng)保持為零 (0),如果它大于127,則應(yīng)將其設(shè)置為介于119和127。
3 什么是CAN協(xié)議中的故障限制
故障限制是一種檢查機(jī)制,可以區(qū)分短時(shí)干擾(例如電纜的噪聲耦合到傳輸介質(zhì))和永久性故障(例如,節(jié)點(diǎn)發(fā)生故障并干擾總線). CAN通信節(jié)點(diǎn)的狀態(tài)分為暫時(shí)錯(cuò)誤(Error active和Error Passive)和永久性故障(Bus Off);
因此,節(jié)點(diǎn)可能處于以下三種可能的錯(cuò)誤狀態(tài)之一:
錯(cuò)誤活動(dòng)狀態(tài)。錯(cuò)誤被動(dòng)狀態(tài)。錯(cuò)誤總線關(guān)閉狀態(tài)。
1. CAN協(xié)議中的錯(cuò)誤主動(dòng)狀態(tài)
當(dāng)CAN設(shè)備通電時(shí),它以錯(cuò)誤活動(dòng)狀態(tài)啟動(dòng)。處于錯(cuò)誤活動(dòng)狀態(tài)的設(shè)備通??梢詤⑴cCAN通信。它還會(huì)在檢測到錯(cuò)誤時(shí)傳輸主動(dòng)錯(cuò)誤標(biāo)志。此主動(dòng)錯(cuò)誤標(biāo)志(表示主導(dǎo) 0 位序列)會(huì)導(dǎo)致當(dāng)前幀傳輸中止,從而導(dǎo)致同一消息的后續(xù)重新傳輸。
其中兩個(gè)錯(cuò)誤計(jì)數(shù)器(TEC 和 REC)在錯(cuò)誤活動(dòng)狀態(tài)下都小于 128。它完全參與總線通信,并通過傳輸活動(dòng)錯(cuò)誤幀來發(fā)出錯(cuò)誤信號。這包括 6 個(gè)主導(dǎo)位的序列,后跟 8 個(gè)隱性位,所有其他節(jié)點(diǎn)都使用適當(dāng)?shù)腻e(cuò)誤標(biāo)志進(jìn)行響應(yīng),以響應(yīng)違反位填充規(guī)則。
2. CAN協(xié)議中的錯(cuò)誤被動(dòng)狀態(tài)
如果發(fā)送錯(cuò)誤計(jì)數(shù)器或接收錯(cuò)誤計(jì)數(shù)器大于127,CAN設(shè)備將進(jìn)入錯(cuò)誤被動(dòng)狀態(tài)。處于錯(cuò)誤被動(dòng)狀態(tài)的設(shè)備仍然可以參與通信,但在檢測到任何錯(cuò)誤時(shí)會(huì)傳輸被動(dòng)錯(cuò)誤標(biāo)志。此被動(dòng)錯(cuò)誤標(biāo)志(隱性 1 位序列)通常不會(huì)中止其他設(shè)備(如錯(cuò)誤主動(dòng)幀)傳輸?shù)膸?/p>
此外,錯(cuò)誤被動(dòng)節(jié)點(diǎn)必須在消息傳輸后等待額外的時(shí)間(Suspend Transmission Field,ITM后的 8 個(gè)隱性位),然后才能啟動(dòng)新數(shù)據(jù)。
3. CAN協(xié)議中的總線關(guān)閉狀態(tài)
如果CAN控制器的發(fā)送誤差計(jì)數(shù)器超過255,則進(jìn)入總線關(guān)閉狀態(tài)。它與總線斷開連接(使用內(nèi)部邏輯),不再參與總線活動(dòng)。簡單地說,我們可以說物理上與總線連接和邏輯上斷開連接。為了重新連接協(xié)議控制器,必須執(zhí)行Bus Off recovery sequence。這通常涉及主機(jī)系統(tǒng)對CAN控制器的重新初始化和配置,之后它將等待(128 * 11)隱性位時(shí)間,然后再開始通信。
關(guān)注公眾號,點(diǎn)擊公眾號主頁右上角“ ··· ”,設(shè)置星標(biāo),實(shí)時(shí)關(guān)注智能汽車電子與軟件最新資訊
相關(guān)稿件
??垂煞?301262.SZ):尚未形成AIGC技術(shù)的規(guī)模化商用_全球新資訊
內(nèi)地買家攪動(dòng)香港樓市,馮小剛離場凈賺6000萬港元,豪宅成交量大漲
世界熱點(diǎn)評!浙江80歲老漢住茅草屋,銀行流水卻大過企業(yè),自稱一年穩(wěn)賺3000萬
視點(diǎn)!哈德勝任命邱華景為公司財(cái)務(wù)負(fù)責(zé)人 2022年公司凈利3557.93萬
EDG勝利賽后語音、Uzi:我一直在A塔,得拉扯他們-每日播報(bào)
全球看熱訊:PTT熱議EDG擊敗AL:Xiaohao盡力了,明年快跑吧!
天風(fēng)證券:618寵物消費(fèi)高增長 國產(chǎn)品牌茁壯成長中 每日播報(bào)
焦點(diǎn)信息:為什么說越了解產(chǎn)業(yè)才能越從產(chǎn)業(yè)中賺錢?真相了!
谷歌瀏覽器并行配置不正確怎么處理(并行配置不正確怎么處理)-世界消息
世界視點(diǎn)!2023水泥行業(yè)現(xiàn)狀分析 水泥行業(yè)未來發(fā)展趨勢
環(huán)球熱消息:上海沿浦(605128.SH):重慶沿浦目前項(xiàng)目銷量逐漸增加的趨勢
說“不”要勇敢,東昌府區(qū)付樓幼兒園開展防欺凌安全教育
賽克賽斯:配送商不負(fù)責(zé)推廣卻參與競標(biāo) 核心經(jīng)銷商或上演“高買低賣” 全球要聞
市場采購貿(mào)易再“上新” 機(jī)電產(chǎn)品從成都金牛區(qū)發(fā)往烏茲別克斯坦 世界新要聞
【世界新視野】五名富豪深潛失聯(lián)引發(fā)生死救援 極限旅游值得賠上命嗎?
天天即時(shí):偷偷藏不住桑稚小時(shí)候是誰演的?偷偷藏不住男主有前女友嗎
環(huán)球即時(shí):端午小長假宅在家里太無聊?搜狐娛樂精選十部佳片陪你過!
當(dāng)前熱門:通用機(jī)器人里程碑?谷歌展示全球首個(gè)多任務(wù)AI智能體 已學(xué)會(huì)套圈、搭積木
教育頻道
FTC將申請禁令阻止微軟(MSFT.US)收購動(dòng)視暴雪(ATVI.US)
沈陽:全日制中專以上畢業(yè)可享受全額契稅補(bǔ)貼|環(huán)球速看料
熱點(diǎn)評!暴雨黃色預(yù)警繼續(xù) 端午假期首日南方進(jìn)入強(qiáng)降雨時(shí)段
河北隆堯:“老支書調(diào)解室”助力基層社會(huì)治理 每日快報(bào)
歐盟反壟斷監(jiān)管部門正在調(diào)查亞馬遜收購機(jī)器人公司iRobot的交易。iRobot股價(jià)因此下跌8.9%。_全球熱議
劍與遠(yuǎn)征團(tuán)本恐魔陣容怎么搭配(劍與遠(yuǎn)征團(tuán)本恐魔陣容怎么搭配的)
【環(huán)球速看料】發(fā)揮人大監(jiān)督質(zhì)效 推動(dòng)重大項(xiàng)目提質(zhì)提速


