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