何健豪 趙倩文 阮鷗
摘 要:本文選用了控制器看門狗的軟件問題,以故障樹的分析思路,對問題進行分析。通過研究表明,通過這種方法可找出看門狗故障原因。其他類型控制器如出現(xiàn)類似問題,可參考本文的思路開展分析。此外,對軟件進行改進,有效提升軟件成熟度。
關(guān)鍵詞:看門狗 超時 復位 控制器
1 前言
看門狗功能用于監(jiān)控控制器運行的健康度,在國內(nèi)外各種控制器中的應用極其普遍,因此對此功能的研究十分重要。本文針對看門狗問題,結(jié)合故障樹方法,找出了看門狗故障原因,實現(xiàn)軟件優(yōu)化。
2 故障現(xiàn)象
某款新能源車型,在路試試驗過程中,出現(xiàn)行駛中突然無法加速,同時儀表提示報警信息,控制器記錄有看門狗功能的相關(guān)故障碼。停車下電休眠5分鐘,車輛恢復正常。本故障屬于低幾率偶發(fā)故障,不容易復現(xiàn),故對此進行專題分析。
3 一般看門狗的基本功能原理
看門狗,又叫watchdog timer,是一個定時器電路[1],作為一種監(jiān)控功能電路,用于監(jiān)控控制器的軟件運行狀況。電路包含輸入和輸出,其中輸入叫做喂狗,輸出一般連接到主芯片的復位端??撮T狗電路具備特定的計時或計數(shù)功能,計時或計數(shù)可被設(shè)定,看門狗電路被使能時,則計數(shù)器開始計數(shù)計時。當主芯片正常工作時,軟件正常運行至看門狗程序,每隔特定時間段輸出特定信號到輸入端,給看門狗電路的計數(shù)器清零。如果在超過設(shè)定的時間,但沒有及時喂狗清零,此刻看門狗電路就會提供一個復位信號到主芯片,使主芯片復位,我們常稱為看門狗超時或復位??撮T狗電路的作用就是防止程序發(fā)生死循環(huán),或者說程序跑飛?;诓煌拈_發(fā)需求和應用場景,控制器可能內(nèi)部存在多個看門狗電路。
4 故障失效模式
能夠引起控制器內(nèi)部看門狗超時故障的原因,經(jīng)過分析有以下幾方面。
硬件看門狗故障①芯片故障②邏輯門故障③MOS開關(guān)故障④電阻電容故障⑤PCB信號線開路。①為控制器芯片出現(xiàn)故障,無法知道或確認看門狗信號,引發(fā)看門狗超時故障。②③④⑤為控制器電路出現(xiàn)故障,無法正確地傳遞看門狗信號,引發(fā)看門狗超時故障。
軟件看門狗故障⑥上電流程喂狗超時⑦下電流程喂狗超時⑧復位流程喂狗超時⑨運行中或其他的喂狗超時。⑥⑦⑧⑨為控制器軟件在各個流程中運行,但在某一個環(huán)節(jié)出現(xiàn)看門狗喂狗超時的故障。
軟件看門狗代碼設(shè)計問題寫入無效寄存器寫入錯誤數(shù)值使用錯誤格式。為控制器軟件代碼的設(shè)計出現(xiàn)漏洞或錯誤,導致軟件運行時引發(fā)看門狗超時故障。
5 故障樹
6 故障排查
根據(jù)以上故障失效模式以及故障樹分析,對其進行各個環(huán)節(jié)的排查,找出根本原因。
6.1 硬件分析
按照以下步驟逐一開展。
6.1.1 總成基本功能檢查:
廠家一般在發(fā)貨前,在控制器生產(chǎn)即將結(jié)束時,設(shè)置一個自動化的檢查工位,對控制器的基本功能進行檢查。如果發(fā)現(xiàn)不良品會及時報警提示,隔離處理。(總成基本功能測試常被成為下線檢測[2])在對控制器進行深入分解分析前,先進行控制器的基本的功能測試,確認開蓋前的基本功能的狀況并記錄。
經(jīng)過總成基本功能檢查,得出結(jié)論為功能正常。但是此時,并不能完全就可以認定硬件正常。因為可能存在硬件電路常見的偶發(fā)接觸不良或者阻值異常等問題,需要在特定工況下或長期工作下,才出現(xiàn)異常。接下來,進行更深入的排查。
6.1.2 電子元器件及電路回路檢查:
打開控制器外殼,對內(nèi)部電路回路連接進行檢查,對電子元器件(如電容電阻等)進行檢查,確認PCB電路板整體狀態(tài)是否異常。
6.1.2.1 觀察電子元器件焊接[3]情況:
通過目測法觀察電容電阻邏輯門等是否存在堆焊、連焊等情況導致電路開路或短路。
經(jīng)過目測檢查,得出結(jié)論為未見異常。此方法可排除大部分可見的較明顯的焊接故障,但如虛焊等并不能完全依靠目視判定。
6.1.2.2 測量電子元器件及電路回路阻抗:
通過萬用表對看門狗電路中的各個支點進行兩兩之間測量,記錄電阻值。目的為針對不可被目視發(fā)現(xiàn)的連接失效,通過阻值確認各支點之間是否存在虛焊等問題。測量后,將測量結(jié)果與正常的件(或設(shè)計值)的測量值進行比較,如圖5。
經(jīng)過測量結(jié)果檢查,得出結(jié)論為未見異常。此方法可排除如虛焊等問題。
6.1.2.3 主芯片檢查
經(jīng)過上述5.1.2.1和5.1.2.2的對看門狗的外圍電路進行了檢查,我們可以基地得出看門狗外圍電路是正常。由于看門狗信號的喂狗輸入及看門狗信號的復位輸出都是通過主芯片的,因此將對主芯片進行檢查。但因為主芯片的針腳數(shù)量非常龐大,對比傳統(tǒng)焊接方式有差異,針腳不容易觀察和測量,需要通過X光成像檢測法進行檢查。檢查芯片是否出現(xiàn)板端電器元器件的焊接是否出現(xiàn)不良問題導致電路開路或短路。(X光成像檢測法:使用X光設(shè)備照射并拍照記錄,可將不容易觀察的被檢測對象,更直觀地的以圖像形式進行呈現(xiàn)。檢測人員通過圖片對被檢測對象的焊接情況、故障形式等進行認定。如圖6)
經(jīng)過測試,認定芯片焊接正常。
綜合根據(jù)售后信息:故障車輛斷電休眠后,能夠正常駕駛,功能正常使用,后續(xù)不再穩(wěn)定復現(xiàn)故障,非能永久出現(xiàn)的故障。判定:硬件正常。
6.2 軟件分析
6.2.1 軟件代碼應用分析如下:
經(jīng)過軟件代碼檢查,未使用無效寄存器,看門狗的存儲數(shù)值格式正確。通過軟件監(jiān)控,寫入的計數(shù)器數(shù)值的寄存器可遞增可清零。如果問題是出現(xiàn)在上述條件中,看門狗故障應較容易穩(wěn)定出現(xiàn)。得出結(jié)論為軟件代碼應用未見異常。
6.2.2 看門狗超時分析
需要監(jiān)控各個工作流程,確認在哪個環(huán)節(jié)中出錯。要滿足兩個條件,才能開展此項工作。一是能復現(xiàn)故障,二是將數(shù)字流程監(jiān)控表象化。
對復現(xiàn)故障并非易事,一般思路是將試驗車上采集的數(shù)據(jù)以及工況,在臺架上進行模擬??刂破饕矎能囕v上拆下,為達到軟硬狀態(tài)一致后,開始循環(huán)地工作復現(xiàn)故障。需要使用設(shè)備和方法監(jiān)控各個流程的進行情況,因各個廠家的使用情況而異。
經(jīng)過約三千個循環(huán)以后,復現(xiàn)了故障。經(jīng)過分析和判定,發(fā)現(xiàn)在復位后的下電流程出現(xiàn)了看門狗超時的情況。
7 故障原因
我們發(fā)現(xiàn)在控制器工作過程中復位,進入下電流程時,觸發(fā)看門狗超時故障。如圖7數(shù)據(jù)表明,在下電過程中,控制器進行信息存儲,并在此刻,看門狗停止喂狗持續(xù)800ms,引起看門狗超時故障,觸發(fā)保護被禁止工作,則會影響駕駛。
此問題如果發(fā)生在正常下電的過程中,雖然下電過程也有看門狗超時,但是在控制器信息存儲結(jié)束后,進入休眠模式,則控制器不會出現(xiàn)任何故障,所以前期問題不能被發(fā)現(xiàn)。
8 改進方案
軟件策略優(yōu)化:在信息存儲過程中,停用看門狗功能,直至存儲工作完成后收到喚醒信號后恢復,同時提升看門狗功能優(yōu)先級。
9 結(jié)論
根據(jù)故障樹的思路對控制器看門狗的軟件問題進行分析并找出故障原因。對軟件進行改進,有效提升了軟件成熟度。可參考本文經(jīng)驗對其他類似功能的控制器進行橫展。
參考文獻:
[1]李延慶,馬勇,楊凡奇.一種硬件看門狗電路設(shè)計.汽車實用技術(shù),2016年 第1期.
[2]劉勇.變速箱總成下線檢測試驗臺開發(fā)及應用.裝備維修技術(shù),2015年 第3期.
[3]李略.錫焊及無腐蝕活性助焊劑機理簡介.汽車電器,1989年 第3期.