崔 碩,張康達(dá),韓光省
(1.上汽通用五菱汽車股份有限公司,廣西 柳州 545007;2.中國汽車技術(shù)研究中心,天津 300300)
EDR(Event Data Recorders)是整合于車輛氣囊控制模塊內(nèi)部,用來記錄碰撞發(fā)生前、碰撞中及碰撞后動(dòng)態(tài)時(shí)間序列數(shù)據(jù)的裝置。它可以記錄碰撞前5 s的速度、加速度變化,制動(dòng)踏板狀態(tài)、安全帶使用情況等數(shù)據(jù),這些數(shù)據(jù)將為交通事故的準(zhǔn)確重建提供重要依據(jù)。在中國每年都會(huì)發(fā)生很多起交通事故,引起很多人受傷,甚至死亡。事故數(shù)據(jù)記錄裝置EDR能記錄事故發(fā)生前后車輛的主要運(yùn)行狀態(tài)、運(yùn)動(dòng)參數(shù)及駕駛員操控和使用車輛的情況。所以數(shù)據(jù)結(jié)果的顯示成了至關(guān)重要的問題。
針對這一問題,本文提出一種能通過軟件來顯示EDR中的數(shù)據(jù)信息的方法,包括數(shù)據(jù)的提取過程和數(shù)據(jù)的分析過程,達(dá)到顯示數(shù)據(jù)結(jié)果的目的。這種方法加快了數(shù)據(jù)顯示的速率,正確性高,設(shè)置了多個(gè)圖表和窗口,便于用戶的理解與使用。
EDR數(shù)據(jù)分析軟件是為了將EDR中存儲的數(shù)據(jù)進(jìn)行提取、保存、查看和分析。整體可分為兩大部分:數(shù)據(jù)提取和數(shù)據(jù)分析。數(shù)據(jù)提取是從EDR硬件中提取出事故發(fā)生前后所產(chǎn)生的記錄;數(shù)據(jù)分析是把得到的數(shù)據(jù)結(jié)果按規(guī)律和一定的格式轉(zhuǎn)化成圖表等容易使人明白的形式。
1.1.1 數(shù)據(jù)提取部分工作原理
數(shù)據(jù)提取部分包含硬件和軟件兩部分。
硬件部分主要由OBD2接插件、協(xié)議轉(zhuǎn)換電路和USB插頭組成。其中最重要的部分是協(xié)議轉(zhuǎn)換電路,如圖1所示。
協(xié)議轉(zhuǎn)換電路將EDR發(fā)來的CAN信息轉(zhuǎn)換為USB總線數(shù)據(jù)發(fā)送給上位機(jī),將上位機(jī)發(fā)送的消息轉(zhuǎn)換為CAN報(bào)文經(jīng)OBD口發(fā)送給EDR。
數(shù)據(jù)提取工具的硬件部分(包括固件)使用某廠家的CAN轉(zhuǎn)USB產(chǎn)品CANalyst實(shí)現(xiàn),該產(chǎn)品提供了對應(yīng)的動(dòng)態(tài)鏈接庫,包含滿足通信的各種函數(shù)。本文所指的數(shù)據(jù)提取部分僅指上位機(jī)部分。
1.1.2 數(shù)據(jù)提取部分功能需求
數(shù)據(jù)提取部分實(shí)現(xiàn)如下功能:①和EDR確認(rèn)連接狀態(tài);②與EDR交互,選擇需要的操作;③接收EDR發(fā)送的數(shù)據(jù);④保存提取到的數(shù)據(jù)。
1.1.3 數(shù)據(jù)提取流程
數(shù)據(jù)提取流程如圖2所示。
當(dāng)數(shù)據(jù)提取工具和EDR連接后,上位機(jī)立即檢測通信是否正常,若通信正常,上位機(jī)顯示已連接,否則提示連接不成功消息。正常通信后,上位機(jī)向EDR發(fā)送SN請求,當(dāng)EDR反饋回SN信息后,用戶可在上位機(jī)輸入VIN碼并操作上位機(jī)向EDR發(fā)送。之后會(huì)收到EDR發(fā)送來的事件數(shù)據(jù)目錄(通常不多于3個(gè)),通過上位機(jī)選擇要提取的事件(可復(fù)選),等待EDR發(fā)送對應(yīng)的事件數(shù)據(jù),上位機(jī)自動(dòng)將數(shù)據(jù)分類保存。
圖2 數(shù)據(jù)提取流程
1.2.1 設(shè)計(jì)概述
數(shù)據(jù)分析部分對提取到的數(shù)據(jù)進(jìn)行解析、分析,并將數(shù)據(jù)以表格、曲線等直觀方式輸出,此外還包括將數(shù)據(jù)上傳至服務(wù)器和從服務(wù)器下載需要的數(shù)據(jù)進(jìn)行分析,實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)一管理。
數(shù)據(jù)分析可分為兩個(gè)部分:①以曲線的形式顯示本機(jī)上數(shù)據(jù),并生成事件報(bào)告;②將本機(jī)提取的數(shù)據(jù)文件上傳至服務(wù)器或?qū)⒎?wù)器上的數(shù)據(jù)文件下載至本機(jī)。
綜合數(shù)據(jù)提取部分的需求,本上位機(jī)軟件的兩大部分為:①C/S架構(gòu)部分:包含數(shù)據(jù)提取和分析,本機(jī)使用,無需登錄,能將EDR的數(shù)據(jù)提取并保存,能顯示本機(jī)上數(shù)據(jù)文件,能生成事件數(shù)據(jù)報(bào)告;②B/S架構(gòu)部分:需登錄,按照用戶權(quán)限分別實(shí)現(xiàn)數(shù)據(jù)上傳、數(shù)據(jù)下載、數(shù)據(jù)顯示和生成數(shù)據(jù)報(bào)告等功能。1.2.2 具體功能需求
1.2.2.1 數(shù)據(jù)庫解析模塊(C/S和B/S)
因?yàn)樘崛〉臄?shù)據(jù)文件只有經(jīng)過解析后才能正確顯示對應(yīng)的信號值,因此數(shù)據(jù)庫解析是必要的功能,其要能完成如下要求。
1)正常顯示報(bào)文ID(報(bào)文ID一般為16進(jìn)制數(shù),由DBC文件定義具體報(bào)文對應(yīng)的ID,例如:A0)。
2)正常顯示報(bào)文名稱(報(bào)文名稱為英文縮寫以及數(shù)字的組合,例如:VCU1)。
3)正常顯示信號名稱(例如BCM_TurnRightStatus)。
4)正常顯示信號值描述(例如1代表轉(zhuǎn)向燈開啟,0代表轉(zhuǎn)向燈關(guān)閉)。
5)要求可以正常解析出DBC中對應(yīng)報(bào)文的信號值,可清晰知道當(dāng)前信號代表的狀態(tài)。
1.2.2.2 曲線顯示模塊(C/S和B/S)
選擇要顯示的數(shù)據(jù)文件和對應(yīng)的DBC后,實(shí)現(xiàn)以下功能。
1)曲線選擇界面 ①數(shù)據(jù)庫中選擇需要的分析曲線(同一報(bào)文中的信號在以該報(bào)文命名的下拉菜單中,可從下拉菜單中雙擊選擇需要查看的信號;信號選擇后有對應(yīng)的List;支持信號名稱搜索功能);②曲線選擇后可自由勾選是否顯示(所選信號顯示信號名稱,且該信號左邊有可用于勾選是否使能的勾選框);③勾選后的信號有設(shè)置項(xiàng)用于單獨(dú)加粗標(biāo)記曲線;④有快捷按鍵選擇只顯示加粗了的曲線;⑤選擇不同曲線后有顏色區(qū)分(信號選擇后所選信號有顏色區(qū)分,要求至少支持10種不同的顏色且能清晰看出該信號對應(yīng)顏色)。
2)曲線數(shù)值讀取 ①曲線橫坐標(biāo)時(shí)間軸讀?。ㄓ幸桓騼筛赏蟿?dòng)的平行于縱坐標(biāo)的標(biāo)記線來讀取曲線某點(diǎn)或某兩點(diǎn)的時(shí)間軸以及兩標(biāo)記線間的時(shí)間差);②曲線縱坐標(biāo)讀?。赏ㄟ^標(biāo)記線讀取曲線縱坐標(biāo))。
3)曲線縮放移動(dòng) ①曲線放大橫軸(可通過改變顯示時(shí)間的分度值放大時(shí)間軸);②曲線放大縱軸(可通過改變顯示數(shù)值的分度值放大縱軸);③曲線橫軸縱軸同時(shí)放大;④曲線上下移動(dòng);⑤曲線左右移動(dòng)。
4)曲線自適應(yīng)功能 點(diǎn)擊自適應(yīng)按鈕后曲線自動(dòng)以合適大小在一個(gè)屏內(nèi)顯示。
5)多曲線處理 ①支持多條曲線同一時(shí)間軸下縱向?qū)Ρ龋ㄇ€使用不同的縱坐標(biāo)軸,兩縱坐標(biāo)軸不重疊);②多條曲線同一坐標(biāo)軸下對比(多條曲線使用一個(gè)坐標(biāo)軸,縱坐標(biāo)值通過顏色及信號值描述區(qū)分)。
6)曲線轉(zhuǎn)存 用戶勾選查看曲線后可將當(dāng)前界面曲線對比圖輸出/另存。
1.2.2.3 數(shù)據(jù)分析模塊(C/S和B/S)
1)事故疑點(diǎn)數(shù)據(jù)記錄圖表(起始點(diǎn)為最開始記錄數(shù)據(jù)的點(diǎn)) ①事故疑點(diǎn)數(shù)據(jù)記錄曲線圖橫坐標(biāo)為實(shí)時(shí)時(shí)間;②縱坐標(biāo)為與實(shí)時(shí)時(shí)間對應(yīng)的車輛行駛速度值,單位為公里每小時(shí);③除了顯示速度數(shù)據(jù),還顯示該時(shí)間的制動(dòng)信號狀態(tài)。
2)開關(guān)量狀態(tài)圖表 ①開關(guān)量狀態(tài)曲線圖橫坐標(biāo)為時(shí)實(shí)時(shí)間;②縱坐標(biāo)為與實(shí)時(shí)時(shí)間對應(yīng)的開關(guān)量,每一個(gè)坐標(biāo)點(diǎn)顯示橫坐標(biāo)、縱坐標(biāo)表示的參數(shù)信息;③曲線圖可以進(jìn)行縮放;④開關(guān)量狀態(tài)表格的內(nèi)容為實(shí)時(shí)時(shí)間和該時(shí)間的開關(guān)量狀態(tài)進(jìn)制和進(jìn)制數(shù)據(jù)。
1.2.2.4 數(shù)據(jù)報(bào)告模塊(C/S和B/S)
1)輸出報(bào)告參數(shù)選取界面 ①勾選事故疑點(diǎn)圖;②勾選開關(guān)量圖;③勾選用戶自定義的信號曲線圖;④勾選數(shù)據(jù)分析時(shí)轉(zhuǎn)存為用戶自己命名的曲線圖。
2)輸出報(bào)告界面 ①支持EXCEL報(bào)表格式輸出;②支持XML報(bào)表格式輸出;③支持MAT報(bào)表格式輸出;④數(shù)據(jù)信息曲線信息均應(yīng)在報(bào)表中體現(xiàn);⑤支持打印功能。
1.2.2.5 用戶登錄模塊(B/S)
1)登錄界面 ①登錄方式:用戶名,密碼;②用戶名注冊:網(wǎng)上注冊;③支持密碼修改;④權(quán)限管理:預(yù)留支持不同權(quán)限用戶查看不同信息;
2)主界面 系統(tǒng)用戶登陸進(jìn)入主界面后,根據(jù)自己的需要,通過菜單或快捷按鈕,可直接進(jìn)入自己需要的功能模塊。
本方法創(chuàng)新點(diǎn)在于發(fā)明了一種通過軟件顯示EDR數(shù)據(jù)的方法。通過整理分析EDR內(nèi)的數(shù)據(jù)類型、特點(diǎn),運(yùn)用C#程序編寫解析數(shù)據(jù),形成圖表表示,并編寫各個(gè)內(nèi)容的界面。方法驗(yàn)證分析顯示過程如圖3所示。
圖3 方法驗(yàn)證分析顯示過程
本方法對EDR的數(shù)據(jù)分析,用代碼分析其內(nèi)容,自動(dòng)生成圖表,快速完成數(shù)據(jù)內(nèi)容顯示的功能,把工程師從繁瑣復(fù)雜的數(shù)據(jù)分析中解脫出來,工程師只需要操作軟件,即可進(jìn)行提取數(shù)據(jù)、分析數(shù)據(jù)的過程。