丁愛峰,胡勝云
(江鈴汽車股份有限公司,江西 南昌 330001)
各行各業(yè)競爭激烈,汽車行業(yè)亦是如此,配置情況是客戶選擇的一個重要參數(shù),配置越豐富被選購的概率就越高。目前,整車電器配置除傳統(tǒng)的收放機、點煙器、儀表之外,有諸如MP5、TBOX、BCM、ABS、ADAS等功能越來越強大的電器供選擇。越多的配置,意味著靜態(tài)電流疊加越大,如果控制不好更容易導致蓄電池饋電。集成芯片作為電器件的“大腦”,在饋電情況下更容易出問題。
下面對某車型儀表出現(xiàn)芯片內(nèi)部數(shù)據(jù)擦除或篡改故障進行軟件設計分析,并通過模擬饋電工況,利用專用診斷儀讀取內(nèi)部數(shù)據(jù),確認故障原因,提出新設計,并證實新設計的軟件能有效地解決此類故障。
1)整車上電,儀表無任何反應,無指示燈、指針不自檢、儀表液晶屏黑屏不顯示。故障表裝到其他車上,故障依舊。
2)整車上電,儀表指針不自檢,其它功能正常。故障表裝到其他車上,故障依舊。
用診斷儀讀取故障儀表Dflash數(shù)據(jù),發(fā)現(xiàn)儀表的4個表頭的校表數(shù)據(jù)有不同程度的篡改或清空。所有儀表配置數(shù)據(jù)、隨車信息表配置信息等都沒有恢復到默認數(shù)據(jù)。初步確認芯片中 (Dflash)內(nèi)存的表頭數(shù)據(jù)丟失。圖1是讀取到的故障表轉速表數(shù)據(jù)和正常表的轉速表數(shù)據(jù)對比??梢钥闯觯瑪?shù)據(jù)塊中多個數(shù)據(jù)被擦除或篡改。

圖1 故障表與正常表的轉速數(shù)據(jù)對比
進一步分析發(fā)現(xiàn),這些故障車庫存時間較長,蓄電池虧電嚴重,電池電壓接近0V。懷疑Dflash在非正常工作電壓狀態(tài)時,擦寫操作異常導致數(shù)據(jù)丟失。
為確定Dflash在非正常工作電壓狀態(tài)時,擦寫操作異常是否會導致數(shù)據(jù)丟失,設計實驗如下。
1)取2塊正常儀表,編號分別為1號件、2號件,連接上如圖2所示臺架。
2)軟件對Dflash(寫DTC)不斷擦寫。
3)電壓調(diào)到MCU復位點附近 (電壓表顯示3.3V左右,萬用表測試輸入電壓2.7V左右),此時電流0A和0.01~0.03A跳變,說明MCU在復位和啟動之間不斷轉換。

圖2 實驗測試臺
4)測試時間約30min。
試驗后,2塊儀表均出現(xiàn)故障,故障表現(xiàn)和前述一致。通過診斷工具讀取ODO值、4個表頭數(shù)據(jù)、配置數(shù)據(jù),發(fā)現(xiàn)1號件的ODO數(shù)據(jù)由5kM變?yōu)?kM、部分配置數(shù)據(jù)被清零,圖3為1號件試驗前的配置數(shù)據(jù),圖4為1號件試驗后的配置數(shù)據(jù)。
2號件的ODO數(shù)據(jù)由5kM變?yōu)?kM,水溫表、轉速表部分參數(shù)被清零,圖5~圖8分別為2號件試驗前后水溫表、轉速表參數(shù)比較。

圖3 1號件試驗前的配置數(shù)據(jù)

圖4 1號件試驗后的配置數(shù)據(jù)

圖5 2號件試驗前的水溫表參數(shù)

圖6 2號件試驗后的水溫表參數(shù)

圖7 2號件試驗前轉速表參數(shù)

圖8 2號件試驗后轉速表參數(shù)
實驗結果表明,整車持續(xù)低電壓情況下,芯片內(nèi)存Dflash擦除和寫入數(shù)據(jù)過程存在異常,導致內(nèi)存數(shù)據(jù)被篡改,造成儀表指針無動作和無法啟動現(xiàn)象。
細讀現(xiàn)有軟件,邏輯框圖分析如圖9所示。
Dflash驅(qū)動會計算一個Checksums存儲在Dflash對應區(qū)域,當初始化檢測到Checksums對應不上就會啟動鎖死Dflash模塊,導致初始化失敗和讀寫不成功,進而啟用看門狗復位,一直在內(nèi)部重啟,即導致儀表黑屏問題。Dflash的ODO或者表頭數(shù)據(jù)或者診斷數(shù)據(jù)被改寫,即導致儀表ODO清零和表頭不動問題。這從軟件邏輯上確認會導致故障。為杜絕此問題,應優(yōu)化現(xiàn)有軟件,增加低電壓保護策略,如下所述。
1)判斷儀表常電進入低電壓 (<7V)時,禁止對Dflash進行讀寫操作。
2)判斷儀表芯片進入低電壓 (<4.06V)時進行Reset。
注:芯片支持的最大復位電壓是4.06V。
在本案例中,面對儀表部分或全部功能失效的故障,通過診斷工具得知儀表DFLASH內(nèi)部配置、表頭等數(shù)據(jù)被篡改,并模擬故障發(fā)生時工況,確認軟件沒有低電壓保護,整車持續(xù)低電壓情況下,芯片內(nèi)存Dflash擦除和寫入數(shù)據(jù)過程存在異常,導致內(nèi)存數(shù)據(jù)被篡改,造成儀表指針無動作和無法啟動現(xiàn)象。最后通過優(yōu)化軟件,非常便捷地完成了優(yōu)化設計,成功解決了儀表因數(shù)據(jù)篡改而失效的問題。