劉開元,成 瀚,李 婕
(上汽通用汽車有限公司武漢分公司,湖北 武漢 430200)
隨著科學技術的發(fā)展,現代汽車朝著電動化、智能化、網聯(lián)化和共享化[1]的方向發(fā)展,由于大量新功能的出現以及舊技術的升級,汽車上配備了越來越多的ECU(Electronic Control Unit,電子控制模塊),為了實現ECU之間的高效通信,1986年德國Bosch公司開發(fā)出了一種串行通信協(xié)議并命名為CAN(Controller Area Network)網絡,成為了現代汽車應用最為廣泛的總線通信協(xié)議[2]。隨著ECU的增多,傳統(tǒng)的CAN協(xié)議已經難以滿足越來越多的總線傳輸的數據量需求,因此發(fā)展出來了CAN FD協(xié)議[3]以及車載以太網[4]。
隨著車輛功能的不斷更新升級以及網聯(lián)化的發(fā)展趨勢,基于車輛安全性考慮,汽車制造商在逐步更新汽車的總線架構,設置了車輛網關模塊CGM(Communication Gateway Module)以及防火墻Firewall用以隔絕汽車總線數據與外界的聯(lián)系以保證車輛的總線數據安全,而在此之前,無論是專業(yè)人員或者是普通消費者,持有相應設備即可直接從車輛的OBD(On Board Diagnostics)接口獲取車輛的總線數據,車輛安全性不能得到保證。
而對于汽車制造商的工程技術人員來說,在車輛的開發(fā)測試階段,整車的總線數據對于車輛的問題分析以及故障排查極為重要,因此通常情況下,車輛在工程開發(fā)測試階段預留了工程接口,工程師可以通過該接口繞過Firewall模塊直接獲取到車輛的總線數據。但是在某些特殊情況下,由于整車架構定義等原因,會出現車輛在開發(fā)測試階段沒有預留工程接口的情況,這對工程技術人員分析問題與解決故障造成了很大障礙。
為了解決上述問題,工程技術人員通常采用解鎖防火墻的辦法來獲取總線報文數據,但是該方法無法錄取車輛在任何時候的所有數據,存在一定的局限性,為了徹底解決獲取總線數據困難的問題,我們考慮采用“人造”工程接口的方法。
1)時間上的要求
車輛在工廠的開發(fā)測試階段,有很多問題是在車輛的特殊工況下發(fā)生的,例如車輛的點火啟動過程中、整車電子模塊的在線刷新 (Flash)過程、靜態(tài)測試 (SVT,Static Vehicle Test)過程以及動態(tài)測試 (DVT,Dynamic Vehicle Test)過程等,因此,需要車輛在任何時間、工況下的總線數據以支持問題的分析。
2)范圍上的要求
車輛根據前期電子架構定義有多路總線,對于問題的分析和解決,要求所獲取的總線數據足夠充分,針對不同車型的總線架構以及不同的問題,需要具體分析。
圖1所示為通用某新能源車型的總線拓撲圖,從圖中可知,該車型總線分為MS CAN和HS CAN兩部分,MS CAN包括A CAN、B CAN等,HS CAN包括C CAN、D CAN等 (A,B,C,D均為化名)。MS CAN與HS CAN分別經過Firewall1與Firewall2連接到車輛的OBD接口,其中Firewall1集成于車身控制模塊 (BCM,Body Control Module)中。
圖1 通用某新能源車型總線拓撲圖
基于安全性考慮,由于防火墻的攔截,用戶無法直接從OBD口獲取車輛的總線數據,但是可以通過使用診斷指令解鎖防火墻,以獲取防火墻白表 (White List)定義的合法路由數據。以本車型MS CAN總線使用的AUTOSAR總線協(xié)議為例,圖2展示了解鎖Firewall1模塊以獲取MS CAN總線報文的方法,HS CAN總線報文的獲取方法同理。
圖2 解鎖Firewall1獲取MS CAN總線報文的方法
雖然解鎖車輛防火墻可以獲取總線數據,但是該方法存在諸多局限性。
1)僅能獲取防火墻白表上包含的合法路由數據,對于白表未包含的總線數據,即使解鎖了防火墻依然無法看到,例如High Voltage Battery Maximum Temperature報文。因此該方法獲取的總線數據不夠全面,不滿足上述總線數據范圍上的要求。
2)不支持部分診斷服務,例如23服務:按地址讀取內存Read Memory By Address。
3)根據PATAC UDS刷寫規(guī)范要求,解鎖防火墻使用的3E、10、27等診斷指令會對車輛在Flash、SVT、DVT等過程造成干擾,因此無法錄取車輛在這些特殊工況下的總線數據,不滿足上述總線數據時間上的要求。
4)解鎖防火墻需要一定時間,因此無法錄取車輛在啟動瞬間的總線數據,不滿足上述總線數據時間上的要求。
綜上所述,采用解鎖防火墻的方法來獲取總線數據不是一個理想的策略。
由于解鎖防火墻獲取總線數據方法存在諸多弊端,而通過工程接口獲取車輛的總線數據是較為常見和理想的解決方案,因此,針對該型車輛在開發(fā)測試階段沒有預留工程接口的情形,考慮使用跳線方法人造工程接口。
1)跳線原理
使用跳線的目的在于不破壞原線束連接的情況下創(chuàng)造出一個新的接口,新接口根據工程需求,可以復制部分或全部原線束上的信號,跳線原理如圖3所示。
圖3 跳線原理示意
2)跳線的安裝
對于該車型,開發(fā)測試階段所需要的總線數據為HS CAN和MS CAN,其中HS CAN包括C CAN與D CAN,對應跳線接口DLC1;MS CAN包括A CAN與B CAN,對應跳線接口DLC2,如圖4所示。
圖4 跳線安裝操作指導
綜合考慮實車線束布置與安裝位置,以易于拆裝為出發(fā)點,決定A CAN&B CAN的跳線安裝位置為BCM模塊接口處,C CAN&D CAN的跳線安裝位置為駕駛位門檻板下的車身主線束接插件處,如圖4所示。
3)跳線安裝完成確認
跳線需要在保證原車線束正常連接的前提下提供一個新的接口,因此首先要檢查跳線對原車狀態(tài)是否有影響,除了在安裝之前檢查跳線每個端口PIN腳的通斷以外,還要在跳線安裝完成之后檢查跳線與原車線束接插件的連接情況,但由于直接檢查比較困難,可以通過車輛工作狀態(tài)來間接判斷跳線的安裝是否正確,如果跳線與車輛線束接插件接觸不良,會導致車輛儀表板警報燈異常點亮,某些模塊無法正常工作,甚至車輛無法啟動。
在確認跳線未影響車輛原線束連接后,需要確認跳線創(chuàng)造的新接口是否成功轉接出了車輛A CAN&B CAN和C CAN&D CAN的總線報文數據,確認方法是通過設備讀取新接口所導出的總線報文,檢查報文的完整性;進一步地,通過新接口對車輛模塊運行診斷服務,如果診斷服務能夠正常運行,則認為新接口導出的總線狀態(tài)正常。
在跳線能夠導出所需車輛總線數據的情況下,工程人員獲取總線數據的策略主要分為兩種:第一種是使用電腦與汽車網絡接口硬件從跳線接口獲取車輛的實時總線數據,第二種是使用掛載在跳線接口上的黑匣子 (RMU,Remote Monitor Unit)記錄存儲車輛全時間、全過程的總線數據。通過這兩種方法的結合,工程人員能夠靈活而輕易地獲取所需的車輛總線數據從而有助于問題的分析與解決??偩€數據實時監(jiān)測與存儲策略如圖5所示。
圖5 總線數據實時監(jiān)測與存儲策略
本文主要探討了通用某新能源車型在測試開發(fā)階段的總線數據錄取策略,針對車輛在測試開發(fā)階段沒有預留工程接口,工程人員無法順利獲取車輛總線數據的問題,分析研究了幾種錄取總線數據的方法及其優(yōu)缺點,結合車輛在測試開發(fā)階段對總線數據的需求,提出了使用跳線人造工程接口的方法獲取所需的總線數據,并且進一步地提出了兩種總線數據的實時監(jiān)測與存儲策略,解決了車輛在測試開發(fā)階段總線數據獲取困難的問題,對相關從業(yè)人員具有參考和借鑒意義。
(編輯 章 子)