徐繼財
(泛亞汽車技術中心有限公司,上海 201208)
近年來,隨著汽車電子、總線技術、人工智能等學科領域的先進技術在汽車上的應用,人們對于自動駕駛、主動安全等車輛功能要求日益增強。然而,隨之而來的是車內的電子模塊的應用越來越多,使得車輛的結構日益復雜,汽車故障診斷的難度也越來越大,尤其對于電子模塊及其內部軟件相關的間歇性故障,維修人員因無法捕捉到車輛故障時的車況,往往束手無策無法對故障進行有效的診斷[1]。而這樣的間歇性故障,如處理不及時,往往會給車主帶來更加嚴重的經濟損失或安全隱患。因而,開發一個數據記錄儀,能夠實時監控車輛狀態,捕捉車輛發生故障時,汽車的各個相關參數,是非常有必要的。
間歇性故障數據捕捉記錄儀是用在維修間歇性故障、輔助用于工程測試等場合的診斷硬件。綜合考慮車輛故障診斷需求以及國內外品牌不同車輛的相關特性,記錄儀滿足以下性能:
(1)支持多種診斷協議如KWP2000、GMLAN、SAE J1850、CAN 等。
(2)數據捕捉記錄儀能夠長時間捕捉記錄并存儲故障相關數據。
(3)數據捕捉記錄儀硬件和車輛診斷接口DLC 之間的連接電纜和接頭采用標準接頭連接。
(4)數據捕捉記錄儀和上位機之間采用USB 連接,可對記錄儀硬件做基本配置,做到能夠篩選和故障相關的系統總線上各個相關參數。
(5)支持通過DLC 取電和連接電腦上位機讀取數據時采用外接穩壓電源取電兩種模式。
(6)支持針對不同供應商的診斷硬件和軟件的配置。
(7)支持診斷硬件中固件軟件的更新,如Bootloader刷新。
(8)低成本、尺寸小、重量輕。

圖1 數據捕捉記錄儀系統的組成
綜合考慮系統需求,數據捕捉記錄儀的軟件按圖3 所示的架構編寫。整個下位機軟件可分為兩個部分:第一部分為數據捕捉記錄儀與車輛ECU 的通訊部分,以及通過SD 卡對數據完成記錄,并可通過上位機電腦讀取記錄數據;第二部分為下位機Bootloader,用于完成對數據捕捉記錄儀軟件的更新。
數據捕捉記錄儀的通訊部分運行在一個實時環境的操作系統中。數據捕捉記錄儀通過USB 相關驅動完成與上位機電腦的通訊,通過CAN、K Line、J1850 相關驅動完成與車輛的通訊。交互到的數據經過濾器篩選后均存放在SD 存儲卡中,可由上位機電腦服務程序負責調用。同時數據捕捉記錄儀上帶有開關和LED 指示燈,可對記錄儀進行簡單的操作,或通過LED 觀察記錄儀的運行情況。
要使用CAN 模塊,必須先對CAN 模塊進行初始化。在初始化模式中,正在進行的任何發送或接收都會立即停止,與CAN 總線的同步丟失,并可能會違反CAN 協議。為防止CAN 總線系統出現嚴重的后果,在進入初始化模式時,用戶必須保證CAN 不在工作狀態。若CAN 模塊已經在工作,則用戶需確認CAN 的傳送隊列為空,并首先讓CAN 進入睡眠模式。否則,中止正在發送的報文可能導致錯誤情況,并影響到其它的CAN 總線節點[2]。
因為總線上無時無刻都在傳輸著大量的數據和消息,因而需要利用上位機軟件配置數據捕捉記錄儀,使之記錄和故障相關的數據。主要配置參數有:總線類型,傳輸速率,DLC PIN 腳,ECU,CAN ID,等等;同時,也可配置設定診斷消息,使記錄儀定時發送診斷命令,讀取車輛參數數據。配置時,數據捕捉記錄儀和上位機之間采用USB 連接,通過串口數據命令對記錄儀硬件做基本配置,做到能夠篩選和故障相關的系統總線上各個相關參數。
汽車故障診斷是綜合性、智能化很高的一門技術,開發一個合適、完善和高效的汽車間歇性故障數據捕捉記錄儀系統又是一項高難度、復雜的工作。[3]本課題根據現代汽車故障中汽車間歇性故障診斷研究發展方向,結合相關常用汽車故障診斷國際標準協議,分析了故障診斷相關總線通訊協議,設計了具有造價低廉、可靠性高、攜帶方便、易于操作、功能易于拓展的汽車間歇性故障數據捕捉記錄儀。