【摘 要】針對(duì)AUTOSAR架構(gòu)在診斷數(shù)據(jù)存儲(chǔ)與更新方面的不足,文章提出一種通過優(yōu)化車載控制器診斷數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)更新機(jī)制,通過在應(yīng)用程序軟件層級(jí)開辟專用診斷管理內(nèi)存,存儲(chǔ)每個(gè)診斷事件的詳細(xì)數(shù)據(jù),以便有序存儲(chǔ)診斷數(shù)據(jù)。該機(jī)制在滿足AUTOSAR的標(biāo)準(zhǔn)化要求的同時(shí)能顯著改善系統(tǒng)性能,提升診斷的準(zhǔn)確性和效率。
【關(guān)鍵詞】車載控制器診斷數(shù)據(jù);診斷管理內(nèi)存;診斷事件
中圖分類號(hào):U463.6 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-8639( 2024 )09-0061-03
Design and Research of a New Diagnostic Data Management System for Vehicle Controllers
MA Shuli,LIANG Sen,XU Ji,LIANG Siyu,XU Yukai,GENG Xin
(Bosch Huayu Steering System Co.,Ltd.,Shanghai 201821,China)
【Abstract】Aiming at the shortcomings of AUTOSAR architecture in the storage and update of diagnostic data,this paper proposes a data update mechanism by optimizing the diagnostic data management system of vehicle controller,and by creating a dedicated diagnostic management memory at the application software level,storing the detailed data of each diagnostic event in order to store diagnostic data in an orderly manner. This mechanism meets the standardization requirements of AUTOSAR and can significantly improve the system performance,improve the accuracy and efficiency of diagnosis.
【Key words】vehicle controller diagnostic data;diagnostic management memory;diagnostic event
1 引言
汽車技術(shù)的飛速進(jìn)步與消費(fèi)者對(duì)安全[1]、智能[2]和舒適性的日益增長(zhǎng)需求相輔相成,共同推動(dòng)著汽車行業(yè)邁向高端智能化的新階段[3]。然而,這一進(jìn)步也帶來了車載控制器功能復(fù)雜化和售后問題處理難度的增加。不可否認(rèn),傳統(tǒng)的AUTOSAR架構(gòu)中的診斷事件管理模塊對(duì)于處理故障診斷事件是有效的[4],但在故障信息分析和存儲(chǔ)方面仍有局限性[5-6],無法滿足高效、精準(zhǔn)解決問題的需求[7]。
在此背景下,本文提出一種新型車用控制器診斷數(shù)據(jù)管理系統(tǒng)。該策略旨在通過應(yīng)用程序軟件層級(jí)開辟專用診斷管理內(nèi)存和多維度的故障替換策略,實(shí)現(xiàn)對(duì)診斷事件的精準(zhǔn)分析和優(yōu)先處理,從而提高售后維修效率,確保車輛運(yùn)行安全。文章不僅針對(duì)硬件類故障、內(nèi)存類故障和通信類故障等多種類型進(jìn)行詳細(xì)規(guī)劃,還通過診斷數(shù)據(jù)同步、事件檢測(cè)、分類、更新和存儲(chǔ)等多個(gè)模塊,實(shí)現(xiàn)診斷數(shù)據(jù)的全面管理和高效利用。
通過本策略的實(shí)施,能有效縮短故障診斷時(shí)間,提高故障診斷的準(zhǔn)確性和可靠性,為汽車行業(yè)售后服務(wù)提供有力支持,促進(jìn)汽車行業(yè)的持續(xù)健康發(fā)展。
2 系統(tǒng)設(shè)計(jì)
診斷數(shù)據(jù)管理系統(tǒng)框架如圖1所示。本文所述的診斷數(shù)據(jù)管理系統(tǒng)框架主要有4部分,各部分之間的主要內(nèi)容如下。
1)車載控制器上電后,在初始化的過程中,將存儲(chǔ)診斷數(shù)據(jù)的非易失性存儲(chǔ)器NVM數(shù)據(jù)同步到診斷管理內(nèi)存(Diagnostic Management Memory,DMM)中,然后控制器就會(huì)開始正常工作,并檢測(cè)診斷事件是否已經(jīng)發(fā)生。
2)檢測(cè)到診斷事件發(fā)生之后,根據(jù)本文所述的診斷數(shù)據(jù)更新方法,系統(tǒng)監(jiān)控診斷事件的觸發(fā)原因和故障被認(rèn)定的具體時(shí)間,并更新信息到診斷管理內(nèi)存。在存儲(chǔ)故障信息時(shí),系統(tǒng)按照發(fā)生時(shí)間、故障優(yōu)先級(jí)和故障狀態(tài)進(jìn)行排序,以確保那些嚴(yán)重度較高的故障信息能夠被優(yōu)先記錄并保留,避免被后續(xù)數(shù)據(jù)覆蓋或清除。
3)診斷管理內(nèi)存中的數(shù)據(jù)可以通過上位機(jī)讀取出來,從而方便分析。
4)控制器收到下電指令后,通過檢查CRC校驗(yàn)值的方式來判斷診斷數(shù)據(jù)是否有更新,從而決定在控制器下電時(shí)是否需要將診斷管理內(nèi)存中的數(shù)據(jù)寫入到NVM中。
2.1 設(shè)計(jì)說明
在診斷事件發(fā)生后,系統(tǒng)監(jiān)控診斷事件的觸發(fā)原因和故障被認(rèn)定的具體時(shí)間,并更新信息到診斷管理內(nèi)存。在存儲(chǔ)故障信息時(shí),系統(tǒng)按照發(fā)生時(shí)間、故障優(yōu)先級(jí)和故障狀態(tài)進(jìn)行排序,以確保那些嚴(yán)重度較高的故障信息能夠被優(yōu)先記錄并保留,避免被后續(xù)數(shù)據(jù)覆蓋或清除。本文所述的診斷事件數(shù)據(jù)包含有:診斷事件ID、診斷事件狀態(tài)、發(fā)生次數(shù)、老化計(jì)數(shù)、診斷事件優(yōu)先級(jí)、事件次序、Failed_ Trigger、Failed_Data。
1)診斷事件ID作為診斷事件的序號(hào)編碼,與特定的診斷事件一一對(duì)應(yīng),通常由供應(yīng)商為其產(chǎn)品中的每個(gè)診斷事件分配一個(gè)確定的編碼。
2)診斷事件故障狀態(tài)被明確分為兩類:Failed和Passed。當(dāng)狀態(tài)標(biāo)記為Failed時(shí),表示該診斷事件已被確認(rèn)存在錯(cuò)誤;而當(dāng)狀態(tài)標(biāo)記為Passed時(shí),則表示該事件已被驗(yàn)證為正常狀態(tài)。
3)發(fā)生次數(shù)記錄了診斷事件故障狀態(tài)被判定為Failed的總次數(shù)。
4)老化計(jì)數(shù)指在連續(xù)的駕駛循環(huán)中,事件從Failed狀態(tài)成功轉(zhuǎn)變?yōu)镻assed狀態(tài)所需達(dá)到的最低連續(xù)次數(shù),是診斷事件狀態(tài)轉(zhuǎn)換的一個(gè)關(guān)鍵參數(shù)。通常這一設(shè)定值為40次,意味著只有在連續(xù)40個(gè)駕駛循環(huán)中均未出現(xiàn)Failed狀態(tài)的記錄,故障狀態(tài)將被重置為Passed。
5)診斷事件的優(yōu)先級(jí),基于其嚴(yán)重性以及對(duì)受影響系統(tǒng)工作的影響來確定,這兩者與事件的優(yōu)先級(jí)成正比關(guān)系。
6)事件次序,DMM負(fù)責(zé)為每個(gè)發(fā)生的診斷事件分配一個(gè)獨(dú)特的事件次序標(biāo)識(shí)。每當(dāng)新進(jìn)事件發(fā)生時(shí),其對(duì)應(yīng)的事件次序值才會(huì)相應(yīng)增加,以確保對(duì)事件發(fā)生順序進(jìn)行準(zhǔn)確追蹤和記錄。根據(jù)替換規(guī)則,最早發(fā)生的事件在內(nèi)存滿時(shí)會(huì)被新事件替換。在診斷事件故障需求管理階段,需要與主機(jī)廠共同確定診斷事件的標(biāo)識(shí)信息,包括其ID、狀態(tài)和優(yōu)先級(jí)。這些標(biāo)識(shí)信息在診斷數(shù)據(jù)管理系統(tǒng)中用于標(biāo)識(shí)各個(gè)診斷事件,以便跟蹤和記錄故障數(shù)據(jù)。
7)在特定工況下,供應(yīng)商可以根據(jù)實(shí)際需求,靈活自定義Failed_Trigger和Failed_Data信息,以適應(yīng)不同的診斷場(chǎng)景和需求。其中Failed_Trigger描述了Failed狀態(tài)下觸發(fā)事件的原因,F(xiàn)ailed_Data則記錄了故障狀態(tài)下的相關(guān)數(shù)據(jù)。
2.2 數(shù)據(jù)管理步驟
與本文配套的診斷事件數(shù)據(jù)管理步驟如下。
S1:車載控制器檢查當(dāng)前車輛,以確定當(dāng)前是否有診斷事件發(fā)生。
S2:診斷事件一經(jīng)發(fā)生,系統(tǒng)將自動(dòng)檢索DMM的事件數(shù)據(jù)庫(kù),以確定該事件是否已被診斷管理系統(tǒng)所記錄。
S3:在DMM中檢測(cè)到先前存儲(chǔ)的診斷事件數(shù)據(jù)時(shí),系統(tǒng)將自動(dòng)用最新的診斷事件數(shù)據(jù)來更新這些記錄。
S4:若DMM中不存在該診斷事件的歷史記錄,系統(tǒng)將驗(yàn)證DMM的存儲(chǔ)空間是否充足。
S5:如果DMM中的空間充足,系統(tǒng)將自動(dòng)將當(dāng)前診斷事件數(shù)據(jù)存入DMM。
S6:如果DMM中存儲(chǔ)空間不足,系統(tǒng)將對(duì)當(dāng)前診斷事件的優(yōu)先級(jí)進(jìn)行評(píng)估,并與DMM中現(xiàn)存所有事件的優(yōu)先級(jí)進(jìn)行比較。
S7:在DMM中,若所有診斷事件的優(yōu)先級(jí)均超過當(dāng)前事件的優(yōu)先級(jí),系統(tǒng)將決定不將當(dāng)前診斷事件存入DMM。
S8:如果DMM中檢測(cè)到優(yōu)先級(jí)低于當(dāng)前事件的診斷事件,系統(tǒng)將自動(dòng)用當(dāng)前的診斷事件數(shù)據(jù)替代優(yōu)先級(jí)最低的歷史事件。
S9:如果當(dāng)前診斷事件的優(yōu)先級(jí)是最低,并且DMM中還有優(yōu)先級(jí)相同的其他診斷事件,系統(tǒng)將進(jìn)一步比較這些事件的故障狀態(tài),以便進(jìn)行下一步的數(shù)據(jù)管理。
S10:如果當(dāng)前診斷事件的故障狀態(tài)為Failed,并且DMM中存在優(yōu)先級(jí)最低且為Passed狀態(tài)的事件,系統(tǒng)將自動(dòng)用當(dāng)前的Failed狀態(tài)事件數(shù)據(jù)替換那些優(yōu)先級(jí)最低的Passed狀態(tài)事件。
S11:如果當(dāng)前診斷事件的故障狀態(tài)標(biāo)記為Failed,并且在DMM中存在優(yōu)先級(jí)且為Failed狀態(tài)的事件,則系統(tǒng)將選擇最早發(fā)生的Failed狀態(tài)事件,并用當(dāng)前事件的數(shù)據(jù)進(jìn)行替換。
2.3 數(shù)據(jù)管理策略
根據(jù)不同的診斷數(shù)據(jù)管理策略,本文將診斷事件類型劃分為3大類:歷史事件、新進(jìn)事件以及新進(jìn)替換事件。以下按照診斷數(shù)據(jù)管理步驟,結(jié)合實(shí)例對(duì)各分類下的數(shù)據(jù)更新邏輯分別進(jìn)行闡述。
歷史事件診斷數(shù)據(jù)的更新方法如圖2所示,如果車輛在連續(xù)的點(diǎn)火周期中多次發(fā)生某節(jié)點(diǎn)報(bào)文丟失的故障,系統(tǒng)診斷在步驟S1和S2完成后,會(huì)認(rèn)定該事件為歷史事件。接著,在步驟S3中,系統(tǒng)將對(duì)診斷數(shù)據(jù)進(jìn)行替換、更新和存儲(chǔ)操作。這包括將故障發(fā)生次數(shù)從0增加到1,將老化計(jì)數(shù)設(shè)置為40,以及記錄觸發(fā)原因和相關(guān)數(shù)據(jù)。注意:由于診斷事件屬于歷史事件,事件次序保持不變,因此不進(jìn)行更新。
新進(jìn)事件診斷數(shù)據(jù)更新方法如圖3所示。在車輛初次發(fā)生某節(jié)點(diǎn)的報(bào)文丟失問題時(shí),系統(tǒng)通過步驟S1和S2將此診斷事件判定為新進(jìn)事件。隨后在步驟S4和S5中,系統(tǒng)將診斷數(shù)據(jù)進(jìn)行更新并保存至DMM,包括將故障狀態(tài)標(biāo)記為Failed,將故障發(fā)生次數(shù)從0增加到1,并將老化計(jì)數(shù)初始化為40,將事件次序按現(xiàn)有順序遞增,以及記錄觸發(fā)原因和相關(guān)數(shù)據(jù)。
新進(jìn)替換事件診斷數(shù)據(jù)更新方法如圖4所示。當(dāng)車輛出現(xiàn)大量故障,導(dǎo)致DMM存滿10條故障記錄時(shí),診斷數(shù)據(jù)系統(tǒng)在經(jīng)歷步驟S1、S2、S4后,會(huì)識(shí)別該事件作為新進(jìn)的替換事件,并需進(jìn)入步驟S6以確定優(yōu)先級(jí)。若DMM中所有故障的優(yōu)先級(jí)均高于當(dāng)前故障,則根據(jù)步驟S7,不會(huì)執(zhí)行數(shù)據(jù)更新。
當(dāng)車輛出現(xiàn)大量故障,導(dǎo)致DMM存滿10條故障記錄。此時(shí)若系統(tǒng)檢測(cè)到新發(fā)生助力丟失故障,系統(tǒng)經(jīng)步驟S1、S2、S4識(shí)別該診斷事件為新進(jìn)替換事件,隨后執(zhí)行步驟S6,進(jìn)行診斷事件優(yōu)先級(jí)排序。若當(dāng)前故障系統(tǒng)中同時(shí)存在前述某節(jié)點(diǎn)丟失故障,鑒于助力丟失故障對(duì)轉(zhuǎn)向系統(tǒng)乃至整車運(yùn)行的影響更為顯著,該診斷事件將被賦予比前述節(jié)點(diǎn)丟失故障更高的故障優(yōu)先級(jí)。隨后,將按照S8步驟進(jìn)行數(shù)據(jù)更新。更新的內(nèi)容包括:事件標(biāo)識(shí)符ID、事件狀態(tài)、優(yōu)先級(jí)設(shè)置,將發(fā)生次數(shù)設(shè)定為1,老化計(jì)數(shù)設(shè)定為40,同時(shí)包含故障觸發(fā)的原因及其相關(guān)數(shù)據(jù)信息。
當(dāng)車輛出現(xiàn)大量故障,導(dǎo)致DMM存滿10條故障記錄。當(dāng)系統(tǒng)檢測(cè)到B報(bào)文校驗(yàn)失敗時(shí),首先通過S1、S2以及S4步驟判定得出這是一個(gè)新進(jìn)替換事件。接著系統(tǒng)執(zhí)行步驟S6、S8,系統(tǒng)已確定DMM中A節(jié)點(diǎn)故障為其中最低優(yōu)先級(jí)故障,鑒于二者對(duì)整車運(yùn)行的影響無差異,系統(tǒng)判定B報(bào)文校驗(yàn)失敗的優(yōu)先級(jí)等同于前述A節(jié)點(diǎn)丟失故障。通過步驟S9,如果前述A節(jié)點(diǎn)故障已經(jīng)成功恢復(fù)成Passed狀態(tài),則經(jīng)步驟S10,對(duì)DMM中數(shù)據(jù)內(nèi)容進(jìn)行如下操作:更新診斷事件至Failed狀態(tài);事件ID被更新,以匹配新進(jìn)替換事件的特定ID;將發(fā)生次數(shù)由0增加至1;設(shè)置老化計(jì)數(shù)為40;同時(shí)留存觸發(fā)原因及其相關(guān)數(shù)據(jù)。因當(dāng)前診斷事件不是新進(jìn)事件,事件次序值維持原值。依據(jù)S11,若系統(tǒng)再次以Failed狀態(tài)確認(rèn)A節(jié)點(diǎn)故障發(fā)生,系統(tǒng)將對(duì)比二者的故障發(fā)生時(shí)間,接著診斷數(shù)據(jù)會(huì)被更新為那個(gè)最早被記錄的故障事件的數(shù)據(jù)。
診斷數(shù)據(jù)更新完成后,依據(jù)圖5進(jìn)行診斷數(shù)據(jù)存儲(chǔ)。車載控制器在接收到休眠指令后,獲取DMM中所有的診斷數(shù)據(jù)。首先進(jìn)行CRC校驗(yàn),若計(jì)算結(jié)果與NVM中存儲(chǔ)的CRC值一致,則無需將DMM數(shù)據(jù)更新到NVM;反之,若計(jì)算結(jié)果與NVM中存儲(chǔ)的CRC值不一致,則需要將DMM數(shù)據(jù)更新到NVM中進(jìn)行數(shù)據(jù)存儲(chǔ)。
3 結(jié)論
本文提出的新型車用控制器診斷數(shù)據(jù)管理系統(tǒng)通過定制化的診斷數(shù)據(jù)管理和多維度的故障處理策略,顯著提升了故障診斷的精確度和效率,降低了安全隱患。該方法不僅滿足了AUTOSAR的標(biāo)準(zhǔn)化要求,同時(shí)緊密貼合了汽車電子系統(tǒng)的售后服務(wù)需求,為故障診斷系統(tǒng)的開發(fā)提供了新方向,也為汽車行業(yè)的智能化和高端化發(fā)展提供了有力的技術(shù)支持。
參考文獻(xiàn):
[1] 侯建. 我國(guó)智能汽車自動(dòng)駕駛技術(shù)安全性分析[J]. 時(shí)代汽車,2022(5):188-189.
[2] 徐長(zhǎng)明. 我國(guó)智能汽車發(fā)展趨勢(shì)[J]. 智能網(wǎng)聯(lián)汽車,2023(1):10-11.
[3] 喬英俊,趙世佳,施敏,等. 汽車智能化技術(shù)革命及體系構(gòu)建[J]. 汽車工程學(xué)報(bào),2022,12(3):228-235.
[4] 羅端,李紅,方正,等. 基于AUTOSAR的汽車電子診斷系統(tǒng)的開發(fā)[J]. 汽車工程,2012,34(2):179-183.
[5] 胡琦. 基于AUTOSAR的汽車故障診斷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 杭州:浙江大學(xué),2011.
[6] 劉永宏,張巧娥,樊昀. 基于AUTOSAR的BCM診斷開發(fā)[J]. 汽車科技,2018(z1):115-120.
[7] 陳明華. 新能源汽車的維修與故障診斷技術(shù)研究[J]. 汽車實(shí)用技術(shù),2018(24):7-8,24.
(編輯 凌 波)
作者簡(jiǎn)介馬淑麗(1993—),女,碩士,軟件開發(fā)工程師,研究方向?yàn)镋PS軟件開發(fā)。