汽車CAN總線關(guān)閉的故障記錄與恢復(fù)建議
雖然CAN總線有著非常高的穩(wěn)定性,然而,一旦出現(xiàn)錯誤尤其是CAN總線關(guān)閉,對于汽車的整體功能甚至安全性都造成極大影響。為此,在汽車行業(yè)高速發(fā)展,電子與通信技術(shù)廣泛應(yīng)用的今天,如何檢測汽車網(wǎng)絡(luò)故障的發(fā)生,如何修復(fù)故障,使我們能夠保證穩(wěn)定和安全的應(yīng)用CAN網(wǎng)絡(luò)技術(shù)服務(wù)于汽車產(chǎn)業(yè),形成了本文研究的背景和意義。
汽車CAN總線關(guān)閉故障發(fā)生時,應(yīng)分析物理層包括CAN線路、CAN控制器及收發(fā)器、CAN信號干擾等外在因素,同時分析CAN寄存器及軟件處理,重新初始化CAN驅(qū)動和恢復(fù)正常后,定時嘗試往外發(fā)送報文。CAN總線關(guān)閉嚴(yán)重影響到整車的功能與安全性,我們通過對故障的成因分析,提出合理的完善建議,希望能對汽車電子技術(shù)的健康發(fā)展起到一定的作用。
診斷規(guī)范描述了一系列的診斷服務(wù),定義ECU與診斷儀之間的請求響應(yīng)規(guī)則、ECU對于請求報文的處理行為以及請求、響應(yīng)報文信息含義。常用的診斷規(guī)范包括有UDS,KWP2000以及ISO15765等協(xié)議。其中記錄和讀取診斷故障碼(DTC)就是診斷的一項重要工作,網(wǎng)絡(luò)節(jié)點單元把曾經(jīng)或現(xiàn)在發(fā)生的相關(guān)故障碼都保存在非易失性存儲器(NVM)中,隨時方便于汽車工程師檢查故障記錄。
我們對于CAN總線關(guān)閉故障的診斷流程是,CAN控制器在錯誤中斷里或者在周期性的查詢里,檢查BUS OFF寄存器的值,如果CAN控制器發(fā)生了BUS OFF,這個寄存器的值就會被賦真值。此時,CAN診斷模塊會把BUS OFF的DTC狀態(tài)中的Test Failed位給置上,表示當(dāng)前檢查CAN總線關(guān)閉故障是存在的,即CAN網(wǎng)絡(luò)通信處在失效模式,同時把BUS OFF的記錄次數(shù)加1。當(dāng)BUS OFF的記錄次數(shù)達(dá)到整車廠規(guī)定的閥值時,CAN診斷模塊會DTC狀態(tài)中的Confirmed位給置上,同時把CAN總線關(guān)閉的DTC記錄到非易失性存儲器中。
CAN總線關(guān)閉的恢復(fù)建議
我們的CAN診斷模塊在錯誤中斷或周期性查詢中發(fā)現(xiàn)總線關(guān)閉故障時,應(yīng)該立即對CAN控制器的驅(qū)動及相關(guān)寄存器進(jìn)行初始化操作,這樣,在初始化完成后,CAN總線關(guān)閉的故障能夠立即被解除。但是,該CAN節(jié)點在解除總線關(guān)閉故障后,會繼續(xù)對外發(fā)送報文,如果此時產(chǎn)生總線關(guān)閉的真正外部因素沒有解除,該CAN節(jié)點仍有機(jī)會再次發(fā)生總線關(guān)閉的故障。
為了避免該節(jié)點在CAN網(wǎng)絡(luò)中頻繁發(fā)生總線關(guān)閉的問題,防止影響到網(wǎng)絡(luò)資源的消耗和對其他節(jié)點的不必要干擾,我們建議在CAN初始化完成后,不要立即對外發(fā)送CAN報文,應(yīng)該等待一定時間段后再嘗試發(fā)送報文是否成功。
-
CAN總線
+關(guān)注
關(guān)注
145文章
1987瀏覽量
132871
發(fā)布評論請先 登錄

T113核心板CAN通訊bus-off自動恢復(fù)

CAN總線通信原理介紹 CAN總線模塊選擇指南
使用CAN總線的注意事項 CAN總線與其他通信協(xié)議對比
CAN總線與LIN總線的區(qū)別
如何使用Arduino實現(xiàn)CAN總線通信



【CAN總線知識】全面了解CAN總線協(xié)議

CAN總線關(guān)閉故障的解決方案

評論