博客專欄

EEPW首頁 > 博客 > 詳解CAN總線:CAN總線故障界定與管理

詳解CAN總線:CAN總線故障界定與管理

發(fā)布人:美男子玩編程 時間:2022-10-21 來源:工程師 發(fā)布文章

CAN總線故障界定的目標是實現(xiàn)數(shù)據(jù)傳輸系統(tǒng)即使在節(jié)點發(fā)生故障的情況下也能維持很高的可用性。


因此故障界定策略必須證明在以下2個方面是可靠的:


  • 區(qū)分短期故障和永久性故障;

  • 找到并斷開故障節(jié)點。



故障界定策略是每個節(jié)點都配備有一個發(fā)送錯誤接收器及一個接收錯誤接收器,前者記錄發(fā)送幀期間發(fā)生的錯誤數(shù)目,后者則記錄接收幀期間發(fā)生的錯誤數(shù)目。



1


錯誤狀態(tài)的種類


對故障界定而言,CAN節(jié)點根據(jù)錯誤計數(shù)結(jié)果的不同,可以處于下列3種狀態(tài)之:主動錯誤狀態(tài)、被動錯誤狀態(tài)和總線關(guān)閉態(tài)。



1、主動錯誤狀態(tài)


主動錯誤狀態(tài)是可以正常參加總線通信的狀態(tài)。處于主動錯誤狀態(tài)的單元檢測出錯誤時,輸出主動錯誤標志。



2、被動錯誤狀態(tài)


被動錯誤狀態(tài)是易引起錯誤的狀態(tài)。


處于被動錯誤狀態(tài)的單元雖能參加總線通信,但為不妨礙其它單元通信,接收時不能積極地發(fā)送錯誤通知。


處于被動錯誤狀態(tài)的單元即使檢測出錯誤,而其它處于主動錯誤狀態(tài)的單元如果沒發(fā)現(xiàn)錯誤,整個總線也被認為是沒有錯誤的。


處于被動錯誤狀態(tài)的單元檢測出錯誤時,輸出被動錯誤標志。


另外,處于被動錯誤狀態(tài)的單元在發(fā)送結(jié)束后不能馬上再次開始發(fā)送。在開始下次發(fā)送前,在間隔幀期間內(nèi)必須插入“延遲傳送”(8 個位的隱性位)。



3、總線關(guān)閉態(tài)


總線關(guān)閉態(tài)是不能參加總線上通信的狀態(tài)。信息的接收和發(fā)送均被禁止。


這些狀態(tài)依靠發(fā)送錯誤計數(shù)和接收錯誤計數(shù)來管理,根據(jù)計數(shù)值決定進入何種狀態(tài)。錯誤狀態(tài)和計數(shù)值的關(guān)系如下表和圖所示:



圖片

圖片

2


故障界定規(guī)則


發(fā)送錯誤計數(shù)值和接收錯誤計數(shù)值根據(jù)一定的條件發(fā)生變化。錯誤計數(shù)器在錯誤標志的第一個位出現(xiàn)的時間點上開始計數(shù)。一次數(shù)據(jù)的接收和發(fā)送可能同時滿足多個條件。


錯誤計數(shù)值的變動條件如下表所示:



圖片



*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: CAN總線

相關(guān)推薦

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

關(guān)閉