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