杜玉峰 秦春清 覃海揮
關鍵詞:汽車電控模塊;下線檢測;在線配置;軟件結構
0引言
汽車生產是一個多廠家合作的過程,相關的汽車模塊廠家根據國際標準生產特定的汽車模塊和零部件。這些汽車模塊在車輛下線時就已經批量刷寫好了相關的電控單元(ElectronicControlUnit,ECU)程序并給予相配的通訊協(xié)議[1]。車輛模塊ECU配置系統(tǒng)主要將儲存于本地服務器中的ECU配置值寫入對應車輛ECU中,保證各ECU通過車載總線正常通訊,并上傳配置結果至制造執(zhí)行系統(tǒng)(ManufacturingExecutionSystem,MES)供生產商查看。
在互聯(lián)網和通訊技術不斷發(fā)展的情況下,車內控制網絡的發(fā)展決定著車內模塊ECU不斷增多[2]。ECU配置所需要的車輛配置信息,由人工整理方式錄入到本地數據庫這一方式已經不再適合實際生產。與此同時,目前所使用的本地數據庫的品種代碼數量也在快速增加。面對大量的車輛配置信息數據,人工更新本地數據庫的方式效率低下,在數據管理方面更新維護復雜,且人工整理過程中容易出現(xiàn)數據錄入錯誤,配置協(xié)議版本不匹配等錯誤,導致生產下線受到一定影響。所以,針對上述問題,必須對現(xiàn)有傳統(tǒng)人工ECU配置系統(tǒng)作相應升級。
1在線配置系統(tǒng)方案
在線配置系統(tǒng)主要分為兩部分,包括數據管理端和在線配置工位端。數據管理端主要負責下線檢測的數據管理,包括檢測情況查詢、在線檢測協(xié)議發(fā)送和車輛信息管理等需求。在線配置工位與車輛直接接觸,完成檢測的實際操作內容。主要方案如圖1所示。
汽車在流水線生產時,自身會攜帶一份隨車卡記錄在裝配期間的相關信息,其中包括車輛識別代碼(VehicleIdentificationNumber,VIN)和車輛配置代碼(VehicleSchemeNumber,VSN)。由引車員使用掃描槍對車輛隨身碼進行掃描,獲得的車輛相關信息發(fā)送至測試電檢服務器,測試電檢服務器則根據此信息對配置服務器進行數據請求。
在線配置服務器根據獲得的車輛信息在其數據庫內部進行數據檢索,檢索到車輛相關配置信息后,經由中間件進行車輛信息的處理,再將車輛配置信息發(fā)回。發(fā)回的車輛配置信息(如ECU配置協(xié)議等)被提取并保存在本地數據庫中,同時測試終端也獲得此ECU的在線配置協(xié)議。測試終端根據在線協(xié)議對車輛進行相關通訊檢測,得到檢測反饋結果后,將車輛各ECU的配置結果保存于本地數據庫,同時也將配置結果上傳到在線配置服務器中,以更新車輛數據狀態(tài)供管理端查詢檢測實時情況?;玖鞒倘鐖D2所示。
2在線配置系統(tǒng)架構
在線配置系統(tǒng)架構主要包括系統(tǒng)部署結構設計和軟件流程設計。考慮車輛配置過程與配置設備的通訊、數據庫與檢測應用的通訊以及服務器與檢測應用的通訊等流程,設計的系統(tǒng)在符合上述要求的同時,還必須保證有良好的交互界面交予操作員使用。
2.1在線配置系統(tǒng)部署結構
系統(tǒng)結構主要分為3個部分,仿照傳統(tǒng)的軟件MVC(View,Controller,Model)三層架構設計。具體的部署結構圖如圖3所示。
表示層(View)主要在系統(tǒng)結構中負責承擔用戶輸入、數據顯示和狀態(tài)顯示。
控制層(Controller)主要負責整個系統(tǒng)內部處理邏輯,承擔著包括車型信息匹配、通訊板卡初始化、IMMO鑰匙匹配檢測以及車輛模塊ECU在線配置等主要處理流程。除此之外,控制層還需要接收表示層所傳入的相關請求,經由內部處理邏輯處理結束后返回給表示層相關的處理結果??刂茖右矔鶕炔刻幚磉壿嬓枰c數據層進行交互,以提取或者更新數據庫數據。
數據層(Model)主要負責系統(tǒng)的數據存儲和提取。
在線配置系統(tǒng)部署結構中,電檢服務器是一個較為特殊的部分。為了方便對診斷數據和結果的直接管理,通常檢測的相關數據在本地數據庫存儲的同時也必須上傳至電檢服務器。這樣可以在數據管理部門和線下的在線配置工位相互分隔的同時,保持檢測數據的實時更新同步。
2.2在線配置系統(tǒng)軟件流程
根據在線配置系統(tǒng)的設計方案,設計出如圖4所示的軟件流程。完整的軟件流程由車輛配置信息的獲取和ECU在線配置兩大部分組成。
車輛配置信息的獲取主要分為兩個部分。第一部分為實時獲取,即產線引車員利用掃描槍掃描車身的VIN碼和VSN碼獲得車輛特定信息,根據此信息向在線服務器請求在線配置數據,并將所得到的數據存儲進本地數據庫。第二部分為批量下載部分,在線配置工位的服務器運行獲取在線配置的后臺程序,此后臺程序定時向數據管理端服務器發(fā)動請求,下載數據管理端在線服務器中對應總線上的車輛配置信息,并保存在本地數據庫中,作為數據管理端在線配置服務器宕機或者網絡繁忙時的備用數據源。
ECU在線配置由特定的模塊完成,經由應用層將獲取到的ECU配置值通過車機通訊寫入對應的車輛ECU中,以保證各個ECU之間的正常通訊。
3車輛在線配置功能開發(fā)
確定在線配置系統(tǒng)結構之后,根據在線配置的軟件流程設計,對車輛在線配置功能進行開發(fā)。目前車廠進行在線配置過程必須根據模塊通訊協(xié)議進行。
3.1在線配置通訊協(xié)議
目前車內通訊架構各個模塊的數據交流一般使用車內控制器局域網絡(ControllerAreaNetwork,CAN)通訊以及LIN(LocalInterconnectNetwork)總線。某車型車內網絡如圖5所示。
通訊架構內部自帶網關控制器,負責協(xié)調不同結構和特征的CAN總線網絡及其他數據網絡之間的協(xié)議轉換、數據交換和故障診斷等工作。不同總線系統(tǒng)的輸出數據到達網關后,網關做進一步的處理,在網關中過濾各個信息的速度、數據量和緊急程度,并在必要時進行緩沖存儲。同時,網關還要對系統(tǒng)故障進行監(jiān)控和診斷[3]。ISO11898-1《數據鏈路層和物理層信號》協(xié)議定義了CAN總線數據幀如圖6所示[4]。
目前車輛使用較為廣泛的是基于CAN總線的檢測技術,且主流的通訊協(xié)議模型如圖7所示。網絡層、傳輸層和會話層使用ISO-15765協(xié)議(CAN診斷協(xié)議)為應用層提供控制接口的同時對通訊時間參數、通訊流控制等進行規(guī)定[5-6]。無論底層使用哪種通訊技術,一般來說應用層依舊使用ISO-14229協(xié)議,即統(tǒng)一診斷服務(UnifiedDiagnosticServices,UDS)協(xié)議[7-8]。UDS診斷協(xié)議規(guī)定了一些列的診斷服務,具體如表2所示(只列出與在線配置相關部分)。
3.2ECU安全訪問
一般來說,車輛防盜控制器模塊和ECM模塊都內置了安全訪問服務,在進行在線配置或其他檢測過程前都需要通過其安全訪問機制。當對應的ECU內部進入“安全模式”,才能對內部配置值進行改寫。
安全訪問服務是一種加密保護機制,加密策略采用了種子和密鑰相關聯(lián)的方法[9],種子和密鑰長度都為32bit。每次匹配設備與模塊ECU請求種子時,模塊ECU內部軟件會產生一個隨機的種子,測試設備接收此隨機種子進行內部計算,計算得到的密鑰重新發(fā)送給模塊ECU進行密鑰匹配。如果密鑰正確匹配,則自身解鎖。具體安全訪問流程如圖8所示。
在進入模塊ECU安全模式之前,配置設備首先需要發(fā)送“1003”指令進入“10”診斷服務,服務子功能為“03”,進入模塊ECU擴展會話模式。進入擴展會話之后,配置設備發(fā)送“27”診斷服務內“01”子功能請求計算種子;收到模塊ECU返回的請求種子進行計算之后,進入“02”子功能發(fā)送密鑰進行密鑰比對。若模塊ECU密鑰匹配正確則發(fā)送“6702”正反饋,并內部解鎖。
3.3在線配置通訊
目前汽車廠所使用的車輛配置流程主要是根據所采購的相關模塊ECU通訊協(xié)議所規(guī)定。通訊協(xié)議包括了對模塊ECU的模式設定,以及對特定的信號輸入的正負反饋和應答操作等信息。
使用配置設備與ECU進行通訊,進入某一項配置功能時,軟件會根據協(xié)議過程對模塊ECU進行一系列的信號發(fā)送,并接收模塊ECU的反饋數據。而模塊ECU此時會根據配置設備所給的特定信號觸發(fā)內置的特定程序,結合傳入的配置數據以刷新配置狀態(tài)。具體以BCM模塊為例,其在線配置流程如圖9所示。
在BCM模塊的配置流程中,配置設備首先嘗試與模塊ECU進行通訊,即發(fā)送“3E00”指令來判斷通訊線束是否正常連接至車輛。一般經過3次通訊無響應之后,程序提示“診斷線束未連接”。正常鏈接通訊后,模塊ECU返回“7E00”正響應。
在進行任何診斷服務或者檢測服務前,一般都要對車輛信息進行識別和確認。配置設備發(fā)送“22”進入診斷服務讀取模塊ECU的內置車輛信息(VIN碼),以供配置工位操作員確認。
VIN碼確認后,配置設備根據此VIN碼請求在生產服務器或直接在本地數據庫中查詢車輛配置信息。配置信息獲取之后,配置設備與模塊ECU通訊進入“安全訪問模式”,此時模塊ECU解鎖。配置設備發(fā)送“2E”請求修改地址為“F1B9”的設備內部配置代碼,并隨后發(fā)送“22”請求回讀模塊ECU內部配置代碼與獲?。ㄔ诰€/本地)的配置代碼進行匹配。匹配正常后配置設備發(fā)送清除故障碼代碼,結束與特定模塊的通訊。
4軟件界面設計
軟件界面負責完成用戶輸入、數據顯示和狀態(tài)信息顯示3個功能。良好的軟件界面會給配置操作人員提供良好的人機交互界面,以獲得較好的交互體驗,減輕操作人員的操作難度。
本系統(tǒng)主界面由車輛信息欄、狀態(tài)提示欄和聯(lián)網狀態(tài)欄3大板塊組成(圖10)。狀態(tài)提示欄占用較大頁面,可以給操作人員提供較為容易關注到的操作信息。車輛信息欄主要是在操作人員使用掃描槍掃描隨車卡的條形碼后,隨即顯示車輛VIN碼和VSN碼等車輛信息,供操作人員與車身VIN碼和VSN碼比對。聯(lián)網狀態(tài)欄主要顯示配置設備的聯(lián)網狀態(tài),供操作人員了解配置前信息請求和配置后信息上傳的網絡狀態(tài)。
軟件配置界面由功能選擇和設置兩大板塊組成(圖11)。功能選擇包括了各個模塊的在線配置選項,這使得數據庫在進行配置協(xié)議存儲時,可以按照不同模塊進行分類優(yōu)化,以獲得較快的查詢速度。
5結束語
本文針對目前汽車總裝后對下線檢測過程中,設備ECU配置流程所存在的問題,提出了一種新的在線配置系統(tǒng)的解決方案,包括了方案設計、實際系統(tǒng)架構設計以及軟硬件設計。此方案對目前汽車廠商的配置協(xié)議管理、配置流程等都有著良好的參考作用。此在線配置系統(tǒng)將數據管理端和在線配置工位幾乎完全解耦合。這對下線車輛的配置數據、車輛配置狀態(tài)等信息提供了輸出與輸入結構。這也為車廠對車輛下線檢測的完整數據分析提供了較好的數據綜合管理。