劉全周,孫德明,李占旗,高峰,辛迪宇
(中國汽車技術(shù)研究中心有限公司,天津 300384)
據(jù)統(tǒng)計,截至2018年9月我國機動車保有量約為2.35億輛,僅次于美國,并且仍在快速增長,隨之而來的是不斷增加的交通事故。如何準確判定事故原因并進行事故責(zé)任認定是交管部門長期面臨的一個問題[1]。常規(guī)情況下通過現(xiàn)場勘查包括車輛痕跡、碰撞位置和環(huán)境狀況等信息來分析鑒定,隨著高清攝像技術(shù)的發(fā)展,多角度的現(xiàn)場監(jiān)控錄像也成為了交通事故分析的重要證據(jù),但仍有很大的局限性。特別是以后越來越多的車輛都會配置輔助駕駛功能,車輛的自主參與度越來越大,在事故發(fā)生時還要鑒定車輛本身的因素。獲知事故發(fā)生的準確時間和事故過程中的車況信息對準確判定事故原因有巨大的作用[2-4]。
汽車事件數(shù)據(jù)記錄系統(tǒng)(Event Data Recorder,EDR)是安裝在車輛上,可以自動判定事故發(fā)生時間,并將相關(guān)時段的車輛信息記錄、存儲供后期提取的車載裝置,也被成為汽車的“黑匣子”。美國是最早進行EDR研究與推廣的國家,并已于2006年發(fā)布了強制性標準規(guī)范49 CFR Part 563[5],該規(guī)范定義了數(shù)據(jù)的采集、存儲和讀取規(guī)則。我國也已開展了EDR標準的制定工作,并于2018年6月20日發(fā)布了強制性國家標準《汽車事件數(shù)據(jù)記錄系統(tǒng)》(征求意見稿),該標準正式實施后,我國市場M1類機動車安裝的EDR產(chǎn)品均需遵守該標準。目前國內(nèi)市場已有部分集成了該功能的ECU,但對EDR數(shù)據(jù)提取的研究卻很少。最常見的商用碰撞數(shù)據(jù)提取工具是博世生產(chǎn)的CDR,可對部分車型的部分數(shù)據(jù)進行讀取。因此,本文作者設(shè)計了一種基于UDS協(xié)議的EDR數(shù)據(jù)提取和分析方法,并開發(fā)了上位機提取軟件,可實現(xiàn)對適配的EDR的數(shù)據(jù)提取和分析。
汽車EDR同飛機的“黑匣子”一個很大的區(qū)別是EDR僅在事故發(fā)生時存儲下事件發(fā)生前和事件發(fā)生后一段時間的車輛信息,通常這段時間非常短暫。因此EDR需要具備一個必要的功能:準確地判斷事件發(fā)生的時刻。判斷碰撞事件發(fā)生的一個最直觀的方式是通過檢測車輛速度的變化來實現(xiàn),當車輛的縱向或橫向加速度達到相應(yīng)的閾值時可認為相應(yīng)類型的碰撞事件發(fā)生。因此,目前已具備EDR功能的車輛大都將EDR模塊集成在帶加速度傳感器的氣囊控制器(SDM)中。常用的確定碰撞事件的發(fā)生有兩種方法:
(1)根據(jù)車輛不同方向上速度變化值來判斷,當加速度超過對應(yīng)閾值后觸發(fā)數(shù)據(jù)記錄功能,該方法下的事件記錄可以是非鎖定數(shù)據(jù)和鎖定數(shù)據(jù),鎖定數(shù)據(jù)不可以被覆蓋;
(2)當氣囊被點爆后,觸發(fā)EDR模塊的數(shù)據(jù)記錄功能,這種情況下的事件記錄數(shù)據(jù)一定是被鎖定的。
在產(chǎn)品實現(xiàn)上,EDR功能可以如上述集成在其他控制器,也可以由單獨的ECU來實現(xiàn),獨立的EDR控制器也需額外配置加速度傳感器,兩種情況下EDR結(jié)構(gòu)示意圖如圖1所示。
圖1 兩種常用EDR結(jié)構(gòu)示意
所有的事件數(shù)據(jù)均存儲在非易失存儲器如EEROM中,且通常要可存儲多個事件數(shù)據(jù),文中數(shù)據(jù)提取工具所對應(yīng)的EDR為獨立的EDR控制器。
當事件記錄被觸發(fā)后,EDR記錄下的車輛信息有3個來源:傳感器信號、CAN總線上的車輛信息以及ECU內(nèi)部計算的數(shù)據(jù)。
根據(jù)車輛的配置情況可將采集的數(shù)據(jù)分為兩類,第一類是配備EDR的車輛必須記錄的數(shù)據(jù)稱為A級元素,A級元素主要為影響行車的基本信號如車速、加速踏板、制動踏板等(表1);第二類是在車輛同時配置有相關(guān)裝置或相關(guān)功能時應(yīng)采集的信號,稱為B級元素,B級元素增加了車輛的一些輔助功能對應(yīng)的信號如牽引力控制系統(tǒng)(TCS)狀態(tài)信號、自適應(yīng)巡航系統(tǒng)(ACC)狀態(tài)信號、自動緊急制動系統(tǒng)(AEB)狀態(tài)信號等。
表1 A級元素(部分)示例
碰撞事件觸發(fā)數(shù)據(jù)記錄后,所有數(shù)據(jù)可以以特定方式存儲在EDR存儲器內(nèi),當用戶需要數(shù)據(jù)時,使用匹配的數(shù)據(jù)提取工具提取出來即可。CAN總線是當前車輛最常用的節(jié)點間通信方式,通過CAN總線讀取EDR內(nèi)數(shù)據(jù)相對更合理和方便。
統(tǒng)一診斷服務(wù)(UDS)提供了一個診斷服務(wù)的基本框架,便于用戶靈活開發(fā)和使用,目前大部分車輛都支持這種診斷服務(wù)[6-8]。UDS協(xié)議中的“通過ID讀數(shù)據(jù)”即0x22服務(wù)非常適合用于數(shù)據(jù)流讀取,因此EDR中的數(shù)據(jù)讀取完全可以通過基于UDS的0x22服務(wù)實現(xiàn),此時EDR數(shù)據(jù)提取工具(Data Extraction Tool,DET)類似一個診斷儀。本文作者即采用了基于0x22服務(wù)來讀取EDR數(shù)據(jù)這種方法,在同EDR建立通信并完成身份驗證后,通過CAN總線將存儲數(shù)據(jù)以數(shù)據(jù)流的形式提取出來。
EDR的數(shù)據(jù)提取過程(圖2)主要可以分為以下幾個步驟:
(1)通信連接。DET同EDR在電氣上建立連接后,向EDR發(fā)送一條連接請求消息;
(2)EDR接收到DET的連接請求后會回復(fù)一條連接確認消息;
(3)DET收到連接確認后會向EDR發(fā)送車輛的VIN碼(該識別碼需用戶輸入);
(4)EDR接收到VIN碼后做校驗,若VIN碼正確,EDR會將存儲的事件目錄發(fā)送給DET;
(5)DET根據(jù)事件目錄選擇要提取的事件后,EDR即開始向數(shù)據(jù)提取工具發(fā)送事件數(shù)據(jù)。
圖2 數(shù)據(jù)提取工具同EDR交互流程示意
第(1)至(4)步是數(shù)據(jù)提取工具和EDR的前期交互,均是采用單幀報文發(fā)送的形式,第(5)步EDR向DET發(fā)送完整的事件數(shù)據(jù)時采用多幀發(fā)送,此時就需設(shè)計首幀、流控制幀、連續(xù)幀的發(fā)送。多幀發(fā)送時報文交互示意圖如圖3所示(基于11位功能尋址)。
圖3 數(shù)據(jù)提取中事件數(shù)據(jù)發(fā)送過程示意
按照上述數(shù)據(jù)提取流程,數(shù)據(jù)提取工具從EDR提取出的報文均為原始報文,若要查看和分析事件數(shù)據(jù),必須對提取出的報文進行解析以得到各個信號準確的信息,所以對于EDR和數(shù)據(jù)提取工具要統(tǒng)一一種數(shù)據(jù)排列方式,才能準確地解析報文信息。本文作者設(shè)計的數(shù)據(jù)提取方式是匹配對應(yīng)開發(fā)的EDR產(chǎn)品,在綜合考慮EDR存儲效率和數(shù)據(jù)解析便利性的基礎(chǔ)上設(shè)計了事件數(shù)據(jù)發(fā)送格式。
EDR記錄的事件數(shù)據(jù)中的信號因不同的采樣頻率會有采集信號個數(shù)的差別,再加上信號長度的差異,并不適合使用常用的數(shù)據(jù)庫的形式進行解析。本文作者設(shè)計在上位機軟件中添加固定的數(shù)據(jù)解析模塊對提取出的原始數(shù)據(jù)進行解析和顯示。
EDR數(shù)據(jù)提取工具的通信接口模塊用來連接EDR和上位機,有兩個主要的作用:(1)將CAN總線上的數(shù)據(jù)和USB 總線數(shù)據(jù)相互轉(zhuǎn)換;(2)當車輛因故障或其他原因無法為EDR提供供電電源或是當EDR被從車輛上拆下時,可通過接口模塊向EDR供電,完成數(shù)據(jù)的提取。數(shù)據(jù)提取工具同EDR的整體連接如圖4所示。
數(shù)據(jù)提取工具通信接口模塊主體是使用單片機開發(fā)的協(xié)議轉(zhuǎn)換電路,該接口模塊滿足以下要求:
(1)接口模塊同EDR通過OBD-Ⅱ接口連接,支持CAN2.0B,同時兼容CAN2.0A規(guī)范,符合ISO11898-1/2/3要求;
(2)與上位機通過USB接口連接, USB接口符合USB3.0協(xié)議規(guī)范,兼容USB2.0和USB1.1;
(3)CAN通信速率范圍為10 kbps~1 Mbps,且數(shù)據(jù)接收速度大于8 000幀/s,發(fā)送速度小于1 000幀/s,在通信過程中能滿足不漏幀;
(4)接口模塊工作時可通過USB口供電,但若需要向EDR提供工作電源(僅限于EDR被拆下,并需要匹配的接口),能通過OBD口提供12 V電壓。
圖4 EDR數(shù)據(jù)提取工具連接示意
EDR數(shù)據(jù)提取工具上位機軟件是基于C#語言開發(fā)的,主要實現(xiàn)對EDR數(shù)據(jù)的提取、顯示和生成報告等功能,主要功能框圖如圖5所示。
圖5 上位機功能框圖
數(shù)據(jù)提取部分可以完成和EDR的連接控制,交互流程如圖2所示。在點擊連接按鈕并得到連接完成的反饋后,輸入該EDR對應(yīng)的VIN碼并進行提取操作后會自動提取3個事件數(shù)據(jù)并以目錄的形式顯示。為了快速識別碰撞類型便于選擇對應(yīng)事件,在提取到數(shù)據(jù)后會自動對3個事件的加速度信號的曲線進行預(yù)覽。點擊某一事件名稱可以預(yù)覽該事件的軟硬件編號和記錄時間等關(guān)鍵信息,并且通過復(fù)選框可以選擇存儲一個或多個事件的數(shù)據(jù)(圖6)。存儲下來的數(shù)據(jù)文件使用特有的加密方式進行加密并且不可修改,只有同樣的軟件才可以打開該文件,確保數(shù)據(jù)的有效性和保密性。
事件數(shù)據(jù)的顯示和分析都由數(shù)據(jù)分析模塊完成,選擇某一存儲文件并打開后,同提取界面類似,會自動加載3個事件數(shù)據(jù)中對應(yīng)的加速度信號的曲線預(yù)覽。選擇想要顯示的事件名稱并點擊“分析”選項后會彈出數(shù)據(jù)分析窗口,在該窗口中可以在樹形報文分類中添加和刪除顯示的信號。所有被選中的信號都有獨立的縱軸,但使用同一時間軸(橫軸)。因不同信號采樣頻率有差別,對采樣頻率小的信號通過在采集點之間采取平滑過渡處理來確保各個信號的時間軸相同(圖7)。
圖6 數(shù)據(jù)提取界面
圖7 顯示分析模塊
生成報告模塊可以對選擇的事件自動生成PDF格式的文檔,這樣的報告格式規(guī)范、效率高并且易于非專業(yè)人員閱讀。主要方式是將相應(yīng)的數(shù)據(jù)填充到固定的模板中,該報告涵蓋了某個碰撞事件中記錄的所有信息,并對不同的信號依據(jù)其特點以文字說明、列表或曲線的形式體現(xiàn)。同時報告的內(nèi)容包括必須條目和可選條目。
另外,還為此數(shù)據(jù)提取軟件設(shè)計了固定顯示功能,可在未生成報告前快速查看對一些重要信息的整理和分析(圖8)。
圖8 固定顯示功能
設(shè)計的基于UDS協(xié)議的汽車事件數(shù)據(jù)記錄系統(tǒng)數(shù)據(jù)提取方法主要是通過0x22服務(wù)來同EDR進行數(shù)據(jù)通信,并按照統(tǒng)一的數(shù)據(jù)格式進行存儲和解析。依此方法開發(fā)了數(shù)據(jù)提取工具,利用上位機實現(xiàn)了對事件數(shù)據(jù)的提取、轉(zhuǎn)存、曲線顯示,并能自動生成規(guī)范的報告文檔。此外,文中設(shè)計的提取工具是匹配特定的EDR使用的,當EDR標準確定后可以做部分修改使之具有通用性。