ECU診斷服務-功能理解
在ECU開發過程中診斷功能是最為基礎的部分之一,而ISO 14229-1 道路車輛統一診斷服務UDS(Unified Diagnostic Services)是應用最廣泛的應用層規範,不僅可以實現基於CAN匯流排的診斷服務,也可以在FlexRay,K-line,LIN,Ethernet等網路匯流排上實現。
在規範中Server指的是具備診斷功能的ECU控制器,而Client指的是診斷設備(可以是定製的診斷儀,也可以是PC+CANoe這樣的調試工具)。通過診斷設備的人機界面使得我們能夠讀取信息、寫入信息、以及管理控制ECU。為了便於理解診斷服務可以實現哪些具體的功能,可以大致將這些功能分為五類:故障信息的管理、ECU信息的管理、BootLoader實現、通信控制、以及執行控制。
1. 故障信息的管理
車輛上通常有著上百個ECU控制單元,如何用一種統一且高效的方式讀取故障信息,定位故障點是UDS首先要解決的問題。一般情況下車輛上根據診斷處理方式可分為兩類ECU。二級ECU一般不直接被Client訪問進行故障讀取,當完成自診斷和存儲後將故障信息發送至一級ECU;一級ECU可對自身以及二級ECU的故障進行存儲,並可直接與Client交互。以分散式BMS舉例,主控單元BMU可以是一級ECU,從控LECU可以是二級ECU。
Client可以讀取到ECU的故障代碼DTC(Diagnostic Trouble Code),每一個DTC對應一個明確的故障。這些故障可以是被控對象故障,例如單體電壓過低,充電電流過大等。也可以是控制器自身故障的診斷,例如EEPROM失效、控制開關失效等。還可以是系統故障,例如12V輸入電壓偏低,高壓互鎖異常等。還有網路通信故障,例如VCU通信故障,LECU通信故障等。
除了獲取DTC故障代碼以外,還可以通過讀取Snapshot快照信息了解到故障時刻的其他關鍵參數,用於進一步分析故障原因。例如當我們讀取BMS的故障代碼得到單體電壓低的DTC時,我們可以在Snapshot快照中找到SOC,溫度,電流,總電壓、KL.15狀態這些信息,用於判斷故障時刻的工況、環境,從而找到故障觸發原因。
除了讀取以外,故障信息的管理還包括了故障清除、故障存儲、故障上報方式等方面的設置;因此需要通過一系列的服務指令SID來實現。
2.ECU信息的管理
除了故障信息以外,ECU通常還存儲了車輛VIN碼,ECU製造裝配日期/批次、ECU軟硬體版本號,Bootloader版本號,標定參數版本號等信息,需要通過ECU讀取和寫入的服務指令SID來管理這些信息。
3.執行控制
UDS服務還支持Client對ECU的控制。通過相應的SID可以實現對ECU的重啟和Routine Control。正常情況下ECU是根據既定程序運行的,而啟動Routine Control服務可以調用ECU內預設的功能函數,非常靈活的實現對ECU的外部控制。例如可以通過Routine Control指令在沒有外部充電設備的情況下控制BMS進入充電模式、吸合接觸器;亦或者在一切正常的情況下,使BMS進入故障狀態,執行一系列的故障保護措施。
你以為就這樣結束了嗎?當然還沒有!
TAG:IND4汽車人 |