王孔龍,韓 宇,馮 程,李雪姣,馮 娜,陳 音Wang Konglong,Han Yu,F(xiàn)eng Cheng,Li Xuejiao,F(xiàn)eng Na,Chen Yin
車載網(wǎng)關(guān)丟幀故障分析
王孔龍,韓 宇,馮 程,李雪姣,馮 娜,陳 音
Wang Konglong,Han Yu,F(xiàn)eng Cheng,Li Xuejiao,F(xiàn)eng Na,Chen Yin
(北京汽車股份有限公司汽車研究院,北京 101300)
隨著智能化、網(wǎng)聯(lián)化發(fā)展,汽車上采用的控制器越來越多,控制器間協(xié)同工作對車載網(wǎng)關(guān)非常重要,這對網(wǎng)關(guān)信號轉(zhuǎn)發(fā)的實時性及完整性提出了更高要求,針對某車載網(wǎng)關(guān)出現(xiàn)的丟幀故障進行分析,優(yōu)化網(wǎng)關(guān)緩存區(qū)分配機制。
車載網(wǎng)關(guān);通信丟幀;緩存區(qū);分配機制
汽車電子電氣架構(gòu)中的核心部件車載網(wǎng)關(guān)起著報文和信號的路由功能,作為不同網(wǎng)絡(luò)間的物理隔離和不同通信協(xié)議之間的翻譯,實現(xiàn)數(shù)據(jù)共享。車載網(wǎng)關(guān)功能包括電源管理、網(wǎng)絡(luò)休眠喚醒協(xié)同工作等整車網(wǎng)絡(luò)管理,入侵檢測、秘鑰管理等整車網(wǎng)絡(luò)防火墻,以及整車網(wǎng)絡(luò)故障診斷與刷新等。隨著智能化、網(wǎng)聯(lián)化的發(fā)展,汽車上的控制器數(shù)量越來越多,相應(yīng)的通信節(jié)點配置及通信需求也越來越高,網(wǎng)關(guān)的重要性越來越凸顯。一方面,作為通信樞紐,網(wǎng)關(guān)承擔(dān)著整車網(wǎng)絡(luò)巨大量數(shù)據(jù)交互,使CAN(Controller Area Network, 控制器局域網(wǎng)絡(luò))、LIN(Local Interconnect Network,局部互聯(lián)網(wǎng)絡(luò))、MOST(Media Oriented System Transport,面向媒體的系統(tǒng)傳輸總線)、FlexRay(FlexRay聯(lián)盟發(fā)布的一種具備故障容錯的高速可確定性車載總線系統(tǒng))等數(shù)據(jù)在不同網(wǎng)絡(luò)中路由;另一方面,獨立的網(wǎng)關(guān)使得電子電氣架構(gòu)優(yōu)化成為可能,研發(fā)工程師借助網(wǎng)關(guān)路由能力,不斷擴展汽車拓撲結(jié)構(gòu),持續(xù)提升車輛安全性,增強車輛網(wǎng)絡(luò)數(shù)據(jù)的保密性,使汽車智能化、網(wǎng)聯(lián)化性能越來越強大。
不同網(wǎng)絡(luò)速率下各種控制器對信號傳輸?shù)乃俣燃靶枨蟮木o急程度不同,車載網(wǎng)關(guān)對于各個控制器傳來的數(shù)據(jù)進一步處理,必要時緩沖存儲,同時進行故障監(jiān)控和診斷。如何保證車載網(wǎng)關(guān)及時準(zhǔn)確并可靠地轉(zhuǎn)發(fā)信息,避免信號故障,有不少學(xué)者對此進行研究。有學(xué)者針對數(shù)字電能計量采集值丟幀問題進行分析,采用對丟幀參數(shù)的插入處理以及延續(xù)化的數(shù)值使用,來降低丟幀對相應(yīng)控制誤差的影響[1];有學(xué)者分析網(wǎng)關(guān)控制器的自動化測試方法,利用模擬信號輸入等方法來驗證網(wǎng)關(guān)的可靠性[2];有學(xué)者結(jié)合車載總線網(wǎng)絡(luò)架構(gòu)的演進,按照網(wǎng)絡(luò)實際需求提出一種車載網(wǎng)關(guān)設(shè)計方法,用自動化驗證測試方法對網(wǎng)關(guān)協(xié)議轉(zhuǎn)換、流量控制和網(wǎng)絡(luò)管理等功能進行驗證[3];有學(xué)者針對CAN通信丟幀及延時補償進行分析,提出一種分布式補償方案,采用線性單輸入單輸出補償方法進行通信丟幀處理[4];有學(xué)者針對電磁干擾導(dǎo)致的CAN通信丟失故障進行分析,利用網(wǎng)關(guān)統(tǒng)計丟幀率,結(jié)合丟幀率對通信故障導(dǎo)致的危害程度進行分級,在不改變現(xiàn)有設(shè)計方案及硬件選型的基礎(chǔ)上,對控制器通信丟失故障分級處理[5]。
目前的車載網(wǎng)關(guān)多采用中心化架構(gòu),所有控制器的通信請求需要通過車載網(wǎng)關(guān),當(dāng)通信流量突增時,網(wǎng)關(guān)可能會成為性能瓶頸;在通用化、系列化、標(biāo)準(zhǔn)化作為設(shè)計趨勢的前提下,如何利用原有車載網(wǎng)關(guān)解決通信流量增大引起的丟幀問題,是實際開發(fā)過程中面臨的突出問題。
某車型在改款設(shè)計中擴展了部分功能,加裝了數(shù)個控制器,經(jīng)網(wǎng)絡(luò)負載分析,利用原有的車載網(wǎng)關(guān)可以滿足流量要求;但在實際運行中,不定時地出現(xiàn)某控制器報出故障,故障會很快消失、控制器恢復(fù)正常,讀取歷史故障記錄,發(fā)現(xiàn)每次故障都是由關(guān)聯(lián)控制器故障引發(fā),并且每次的關(guān)聯(lián)控制器不同,對關(guān)聯(lián)控制器調(diào)取歷史故障記錄發(fā)現(xiàn)控制器自身沒有任何故障記錄。
控制器常見的故障有3類:控制器自身軟件或硬件導(dǎo)致的主動故障;控制器所監(jiān)控的傳感器硬件導(dǎo)致的主動故障;通信干擾或關(guān)聯(lián)控制器通信異常等引起的被動故障。
故障控制器的歷史記錄都顯示為關(guān)聯(lián)控制器故障,可以排除控制器自身質(zhì)量問題;讀取關(guān)聯(lián)控制器的歷史故障記錄,沒有發(fā)現(xiàn)故障記錄,說明關(guān)聯(lián)控制器硬件正常。排除了控制器硬件自身問題,結(jié)合故障偶發(fā),大部分時間工作正常,可以排除通信干擾因素,重點對通信異常進行分析。
偶發(fā)故障的控制器采用CAN通信,為保證其可靠性,設(shè)定信號監(jiān)控邏輯為連續(xù)丟失3幀則進入故障保護,故障保護模式下連續(xù)5幀信號均正常則恢復(fù)正常工作模式。與故障控制器有信號交互的控制器的安全級別有差異,出現(xiàn)10~50幀不等的連續(xù)丟幀才會進入故障保護模式。
與故障控制器有信號交互的控制器不全處于同一網(wǎng)段,需要車載網(wǎng)關(guān)進行信號頻率的統(tǒng)一和轉(zhuǎn)發(fā)。通過對一段時間內(nèi)故障控制器發(fā)出的ID 350信號在不同網(wǎng)段內(nèi)的幀數(shù)統(tǒng)計發(fā)現(xiàn),不同網(wǎng)段的幀數(shù)有差異,如圖1所示。
圖1 不同網(wǎng)段內(nèi)信號幀統(tǒng)計
從圖1可知,ID 350信號在CAN1和CAN2的幀數(shù)分別為30 310和30 298,相差12幀,已經(jīng)出現(xiàn)明顯丟幀,是否達到連續(xù)丟幀臨界值,需要對故障發(fā)生時刻的信號動態(tài)進行分析,得到信號動態(tài)圖,如圖2所示。
圖2 故障發(fā)生時刻的信號動態(tài)
通過對控制器故障發(fā)生時刻ID信號的監(jiān)控發(fā)現(xiàn),氣囊工作狀態(tài)、安全帶狀態(tài)在控制器工作狀態(tài)跳變之前,出現(xiàn)了連續(xù)3幀信號丟失(如圖2中框線所示),由此確定通信信號連續(xù)丟失達到了臨界值引發(fā)了故障。
作為信號轉(zhuǎn)換與分發(fā)的核心樞紐,車載網(wǎng)關(guān)需要保障所有控制器及時收到正確的信號并正常工作。理論上丟幀不應(yīng)該出現(xiàn),但是實際應(yīng)用中,對于診斷或云端上傳信號沒有實時性要求,且這類觸發(fā)事件的信號采樣周期極長,允許存在一定程度丟幀。
不同網(wǎng)絡(luò)的通信速率和協(xié)議不同,網(wǎng)關(guān)對應(yīng)2類常見的報文收發(fā)處理類型:(1)等量轉(zhuǎn)發(fā),數(shù)據(jù)源停止發(fā)送信號,網(wǎng)關(guān)隨即停止轉(zhuǎn)發(fā)該信號;(2)倍量轉(zhuǎn)發(fā),數(shù)據(jù)源停止發(fā)送信號,網(wǎng)關(guān)持續(xù)轉(zhuǎn)發(fā)一定倍數(shù)的幀數(shù)后才停止。對應(yīng)信號丟幀常見情況也有2類:(1)數(shù)據(jù)源未停止,但網(wǎng)關(guān)提前終止信號轉(zhuǎn)發(fā);(2)數(shù)據(jù)源停止,網(wǎng)關(guān)未轉(zhuǎn)發(fā)足夠的信號幀數(shù),提前停止信號轉(zhuǎn)發(fā)工作。對于前者多是由于網(wǎng)絡(luò)負載率過高所致,需要優(yōu)化代碼,譬如將信號由功能分配改為事件單獨分配,通常事件信號的優(yōu)先級更高;對于后者,可以通過緩存配置,改變丟幀信號通道的硬件資源優(yōu)先級來解決。
出于成本考慮,車載網(wǎng)關(guān)基本采用16位或32位處理器設(shè)計開發(fā),緩存區(qū)容量受限于處理器性能,不可能很大,而且考慮可擴展的需求,緩存區(qū)通常會預(yù)留10%左右的容量,對于余下的緩存區(qū)間,基于信號優(yōu)先級和信號周期頻率2個因素進行排序,并以1個頻率高的信號搭配2~3個頻率低的信號這種組合方式分配緩存區(qū)。當(dāng)緩存區(qū)間充足時,為接收信號和發(fā)送信號分配獨立緩存區(qū),但更多地是發(fā)送信號和接收信號復(fù)用緩存區(qū),也可根據(jù)信號數(shù)據(jù)段長度進行緩存區(qū)分配。緩存區(qū)分配可以預(yù)先人為設(shè)定將哪些信號組合到一起,也可以利用緩存區(qū)分配軟件自動分配,前者可以獲得更為合理可靠的緩存區(qū)分配形式,且便于查找每個信號所在的緩存區(qū)位置號,但工作量繁雜;后者是當(dāng)前緩存區(qū)分配較為常用的方式,但難以找到每個信號所在的緩存區(qū)位置號,一旦出現(xiàn)嚴(yán)重丟幀現(xiàn)象,需要找到具體的丟幀信號并對其進行工程配置優(yōu)化,耗時較久。車載網(wǎng)關(guān)為了開發(fā)便利,普遍采用軟件進行信號緩存區(qū)自動分配,通過工程配置文件進行微調(diào)。
車載網(wǎng)關(guān)除了利用緩存區(qū)實現(xiàn)網(wǎng)絡(luò)信號的處理和轉(zhuǎn)發(fā),還可以通過中斷區(qū)實現(xiàn)信號的轉(zhuǎn)發(fā)。這是一種利用事件觸發(fā)的機制,不論是診斷還是正常收發(fā)信號,都認為是一種事件機制,但利用中斷區(qū)進行轉(zhuǎn)發(fā)信號,在網(wǎng)絡(luò)上無法監(jiān)控,一般中斷區(qū)容量較小,通過中斷轉(zhuǎn)發(fā)的信號過多,會導(dǎo)致車載網(wǎng)關(guān)嚴(yán)重堵塞而宕機,因此這種方式較少采用。
在增加新的控制器之前,故障車型的車載網(wǎng)關(guān)丟幀現(xiàn)象控制較好,但其緩存區(qū)使用率已經(jīng)達到74%左右,新增的控制器導(dǎo)致車載網(wǎng)關(guān)的緩存區(qū)使用率達到83%,如仍對新增信號自動分配緩存區(qū),則會導(dǎo)致某些高通信頻率的信號被分配到原本通信頻率已經(jīng)較高的信號所在的緩存區(qū),使這些緩存區(qū)過于擁堵,從而出現(xiàn)嚴(yán)重的丟幀現(xiàn)象;因此,需要針對丟幀的信號重新分配緩存區(qū)。
通過分析丟幀信號可知,該類信號在車載網(wǎng)關(guān)上的轉(zhuǎn)發(fā)類型為等量轉(zhuǎn)發(fā),因此采用修改緩存配置文件來分配該類信號的優(yōu)先級,如圖3所示。
圖3 等量信號的網(wǎng)關(guān)緩存優(yōu)先級修改
圖3中對于丟幀信號勾選FullCAN屬性鎖定ID在通道中的優(yōu)先級,優(yōu)先分配緩存區(qū)硬件資源。配置文件修改后,優(yōu)先級高的信號被優(yōu)先保證幀數(shù)的準(zhǔn)確性和及時性,對于診斷或事件觸發(fā)的信號,以及一些采樣頻率極低的轉(zhuǎn)發(fā)數(shù)據(jù),則允許一定的丟幀量。優(yōu)化后信號統(tǒng)計結(jié)果如圖4所示。
圖4 優(yōu)化后通信信號在不同網(wǎng)段的通信幀數(shù)統(tǒng)計
從圖4可知,經(jīng)過長時間的通信信號幀數(shù)統(tǒng)計,ID 350在不同網(wǎng)段的通信幀數(shù)都一致,沒有出現(xiàn)丟幀現(xiàn)象,其他ID信號在不同網(wǎng)段的通信幀數(shù)也都一致,經(jīng)過2周實車測試,沒有再出現(xiàn)控制器故障報警現(xiàn)象。
由此可見,網(wǎng)關(guān)經(jīng)過優(yōu)化后丟幀現(xiàn)象得到控制,沒有出現(xiàn)信號丟失,改進方法驗證有效。
對于影響車輛工作的高通信頻率信號,不允許出現(xiàn)丟幀現(xiàn)象,因此對車載網(wǎng)關(guān)的緩存區(qū)分配,應(yīng)為高通信頻率信號賦予較高的優(yōu)先級。
在進行車載網(wǎng)關(guān)適應(yīng)性擴展時,應(yīng)充分考慮預(yù)留緩存區(qū)的大小,如果增加后信號通信負載率超過預(yù)留緩存區(qū)的80%,應(yīng)重新配置高通信頻率信號的優(yōu)先級,或者采用新的車載網(wǎng)關(guān)產(chǎn)品。
車載網(wǎng)關(guān)中斷區(qū)可以實現(xiàn)網(wǎng)絡(luò)信號轉(zhuǎn)發(fā)功能,但通過中斷區(qū)轉(zhuǎn)發(fā)信號無法實現(xiàn)監(jiān)控與診斷,因此應(yīng)盡量避免此操作。
[1]胡婷婷,丁海麗,周媛奉.數(shù)字電能計量采樣值丟幀處理方法研究[J].無線互聯(lián)科技,2021,18(7):77-78.
[2]巫輝燕,林漢雄.基于HIL的車載網(wǎng)關(guān)控制器的自動化測試研究[J].汽車實用技術(shù),2021,46(5):140-142.
[3]劉浩銳,錢亞容,王旭紅.車載網(wǎng)關(guān)功能設(shè)計與測試淺析[J].汽車電器,2020(10):38-40.
[4]鄭宇,張健,施衛(wèi)科,等.實時控制系統(tǒng)中CAN總線丟幀及延時的補償研究[J].計算機測量與控制,2020,28(7):107-111,116.
[5]李瑋,王晶.純電動汽車電機控制器CAN通信丟失故障處理方法[J].北京汽車,2020(1):35-38.
2021-06-26
1002-4581(2021)05-0033-04
U463.6
A
10.14175/j.issn.1002-4581.2021.05.009