周紅英
基于CAN總線的車輛ECU在線管理系統(tǒng)研究
周紅英
(安徽江淮汽車集團股份有限公司技術(shù)中心,安徽 合肥 230601)
隨著整車電氣控制器逐漸增多,基于獨立網(wǎng)關(guān)的網(wǎng)絡(luò)架構(gòu)應(yīng)用廣泛,網(wǎng)關(guān)成為各網(wǎng)段間信息交互中心,由于各節(jié)點不在同一網(wǎng)段,跨總線網(wǎng)段通訊交互的CAN節(jié)點存在無法準確獲知交互節(jié)點在線狀態(tài)的問題,從而導致功能出現(xiàn)異常,同時也會導致控制器誤報故障碼和誤報警,給車售后維修造成誤導。文章提出一種CAN控制器節(jié)點在線管理方法,可有效監(jiān)控個各節(jié)點在線狀態(tài),并通過CAN報文的方式廣播于網(wǎng)絡(luò)各節(jié)點,使各節(jié)點實時掌握交互節(jié)點的在線狀態(tài),以此來判斷交互信息的有效性,可大大提高對各交互數(shù)據(jù)使用的正確性,同時對網(wǎng)絡(luò)各節(jié)點進行在線診斷,記錄節(jié)點丟失故障碼,便于售后快速鎖定故障節(jié)點,提高維修效率。
CAN;在線管理;在線診斷
隨著汽車的智能化、網(wǎng)絡(luò)化使得整車控制器數(shù)量迅速增加,特別是網(wǎng)關(guān)技術(shù)的應(yīng)用,使得車輛CAN總線拓撲更加復雜[1],在新的網(wǎng)絡(luò)架構(gòu)中網(wǎng)關(guān)往往包括了多個CAN接口接入不同的CAN網(wǎng)段,實現(xiàn)各不同網(wǎng)段間數(shù)據(jù)的實時交互[2]。
車輛使用一段時間后由于多種原因會偶發(fā)出現(xiàn)因CAN線斷開而報文未能成功發(fā)送至CAN總線上的情況,我們稱其為離線狀態(tài),此時與該節(jié)點交互的控制器則會存節(jié)點丟失故障碼甚至向儀表發(fā)送報警信號。如果不能正確獲取各交互節(jié)點在線狀態(tài),不僅會導致功能出現(xiàn)異常,同時也會導致控制器誤報故障碼和誤報警,給車售后維修造成誤導。
目前,汽車CAN網(wǎng)絡(luò)管理規(guī)范整體都依據(jù)OSEK/ VDXNM標準,該標準包括實時操作系統(tǒng)(OSEK OS)、通訊子系統(tǒng)(OSEK OS)和網(wǎng)絡(luò)管理系統(tǒng)(OSEK NM)三個部分,其中OSEK NM規(guī)范中定義有兩種網(wǎng)絡(luò)管理機制:直接網(wǎng)絡(luò)管理和間接網(wǎng)絡(luò)管理[3]。
(1)直接網(wǎng)絡(luò)管理是通過令牌環(huán)形成網(wǎng)絡(luò)狀態(tài)的監(jiān)控。每個網(wǎng)絡(luò)上的節(jié)點被定義唯一的識別標識符,消息自低地址節(jié)點向高地址節(jié)點發(fā)送,再由最高節(jié)點傳回最低節(jié)點,形成一個環(huán),稱之為邏輯環(huán)(1ogical ring)。OSEK NM消息以網(wǎng)絡(luò)廣播方式傳輸,網(wǎng)絡(luò)中的每一個節(jié)點被其他節(jié)點所監(jiān)控。這種監(jiān)控方式的特點是:可靠性高,但需要時間長,每個節(jié)點都要定義對應(yīng)的網(wǎng)絡(luò)管理報文,網(wǎng)絡(luò)負荷大。
(2)間接網(wǎng)絡(luò)管理是通過邏輯主節(jié)點對其他節(jié)點應(yīng)用報文的發(fā)送和接收狀態(tài)進行監(jiān)控,從而實現(xiàn)網(wǎng)絡(luò)管理[4]。間接網(wǎng)絡(luò)管理不用定義特有的網(wǎng)絡(luò)管理報文,可通過判斷周期幀來判斷網(wǎng)絡(luò)節(jié)點的狀態(tài),適用于主ECU節(jié)點,其特點為負載小,執(zhí)行限制少,是直接網(wǎng)路管理的有效補充。
路由功能是網(wǎng)關(guān)的核心功能,路由功能指的是將一條網(wǎng)絡(luò)(源網(wǎng)絡(luò))上接收到的信息,按照路由表中預先定義的規(guī)則,轉(zhuǎn)發(fā)送到另一條網(wǎng)絡(luò)(目標網(wǎng)絡(luò))中,實現(xiàn)不同網(wǎng)絡(luò)間信息共享的功能。
在多總線網(wǎng)絡(luò)拓撲結(jié)構(gòu)中,如圖1:網(wǎng)關(guān)根據(jù)各CAN總線上節(jié)點的數(shù)據(jù)需求進行CAN數(shù)據(jù)的路由,路由的方式分周期幀路由和事件幀路由。
周期幀路由:網(wǎng)關(guān)從源網(wǎng)段接收到報文,可進行CAN標識符、報文周期、報文長度、發(fā)送模式等屬性更改,以及從多幀報文中獲取需要路由的信號,并重新排布以固定的周期進行發(fā)送。
事件幀路由:從源網(wǎng)關(guān)接收到數(shù)據(jù)幀則發(fā)送一次,未接收則不發(fā)送,其中網(wǎng)關(guān)對接收到報文不作任何的更改。
當源網(wǎng)段節(jié)點丟失后,對于周期路由的信號網(wǎng)關(guān)依然會周期發(fā)送數(shù)據(jù),此時目標接收節(jié)點將不知道源網(wǎng)段節(jié)點已丟失,因此導致目標接收節(jié)點誤認為源網(wǎng)關(guān)節(jié)點依然在線,仍然使用接收到的數(shù)據(jù)導致車輛功能異常;對于事件幀路由的報文雖然源節(jié)點丟失后網(wǎng)關(guān)將不進行路由,但此時有可能是源節(jié)點在線,而網(wǎng)關(guān)不在線導致未路由報文從而導致目標節(jié)點誤認為源網(wǎng)段節(jié)點丟失。因此在多條總線的網(wǎng)絡(luò)結(jié)構(gòu)中,跨總線通訊交互的節(jié)點間將無法準確獲知交互節(jié)點的在線狀態(tài),從而導致功能出現(xiàn)異常,同時也會導致控制器誤報故障碼和誤報警,給車售后維修造成誤導。
圖1 多總線網(wǎng)絡(luò)拓撲
為了確保整車網(wǎng)絡(luò)通訊更加可靠、節(jié)能,能夠準確掌握整車通訊狀態(tài),基于OSEK間接網(wǎng)絡(luò)管理本文提出了一種CAN控制器在線管理方法,即定義整車網(wǎng)關(guān)為主節(jié)點,對整車各網(wǎng)段中的所有節(jié)點的在線狀態(tài)進行監(jiān)控,并將監(jiān)控結(jié)果反饋給網(wǎng)絡(luò)進行信息同步。
由于網(wǎng)關(guān)與各條CAN總線上節(jié)點直接相連,其能通過周期監(jiān)測所有節(jié)點發(fā)送報文的頻率來獲知各節(jié)點的在線情況,因此,網(wǎng)關(guān)可對各條CAN總線上的子節(jié)點進行監(jiān)測,并將監(jiān)測結(jié)果以CAN報文實時發(fā)布到各總線上,使總線上各節(jié)點能實時獲取跨總線相關(guān)節(jié)點的在線狀態(tài)。
在網(wǎng)關(guān)中增加節(jié)點監(jiān)測模塊,用于監(jiān)測總線上各節(jié)點在線狀態(tài),同時定義一幀節(jié)點在線狀態(tài)CAN報文用于將整車各節(jié)點在線狀態(tài)發(fā)送至各網(wǎng)段中。
圖2 網(wǎng)關(guān)系統(tǒng)框圖
當一個節(jié)點報文丟失超過10倍幀周期(該超時時間可自定義)時則規(guī)定該節(jié)點處于離線狀態(tài);否則則處于在線狀態(tài)。
定義一幀CAN報文作為各節(jié)點在線狀態(tài)報文,并存儲到EPROM存儲器中,報文長度為8byte共64個bit,每個bit表示一個節(jié)點的在線狀態(tài)位,0表示離線,1表示在線,共可監(jiān)測64個CAN節(jié)點的在線狀態(tài),根據(jù)總線節(jié)點數(shù)也可定義多個監(jiān)測報文。當監(jiān)測到一個節(jié)點離線時,把心跳報文中相應(yīng)節(jié)點在線狀態(tài)位置0,否則置1,并更新發(fā)送至總線上。
圖3 報文監(jiān)控流程
當總線上節(jié)點接收到網(wǎng)關(guān)發(fā)送的節(jié)點在線狀態(tài)報文后,對其接收信號的源節(jié)點在線狀態(tài)位進行分析,如果在線狀態(tài)位為0說明該節(jié)點處于離線狀態(tài),此時網(wǎng)關(guān)路由的報文為無效數(shù)據(jù);如果在線狀態(tài)位為1說明該節(jié)點處于在線狀態(tài),此時網(wǎng)關(guān)路由的報文為有效數(shù)據(jù),可使用;以此各總線上節(jié)點通過對跨總線交互的源節(jié)點的在線狀態(tài)報文分析來知道源節(jié)點的在線狀態(tài)及報文有效性,避免使用路由的無效數(shù)據(jù)導致功能異常,同時控制器也不會誤報故障碼或者誤報警。
節(jié)點在線診斷主要是對整車各個網(wǎng)絡(luò)節(jié)點的離線故障進行記錄,便于維修人員讀取。
當網(wǎng)絡(luò)處于激活狀態(tài)時,網(wǎng)關(guān)控制器實時監(jiān)控該網(wǎng)絡(luò)上所有節(jié)點狀態(tài),可以通過使用該節(jié)點周期發(fā)送的報文狀態(tài)實現(xiàn)對節(jié)點監(jiān)控:
診斷原則:1)當節(jié)點存在多條周期報文時,選擇周期最小的報文作為節(jié)點檢測的監(jiān)控對象;2)當節(jié)點存在多條最小周期報文時,選擇ID較小的周期報文作為節(jié)點檢測的監(jiān)控對象;3)當總線出現(xiàn)故障情況下(不限于高低壓故障、BusOff故障),記錄對應(yīng)總線故障信息,但不應(yīng)記錄節(jié)點丟失故障信息。
當檢測確認節(jié)點處于離線狀態(tài)時,記錄相應(yīng)節(jié)點丟失故障碼。故障代碼一旦生成,將會一直保留,直到通過發(fā)送診斷指令清除,或者故障代碼老化機制確定此故障不復存在。
網(wǎng)關(guān)將各網(wǎng)段各節(jié)點在線狀態(tài)信息以CAN報文的方式周期發(fā)送到各網(wǎng)段上,可使汽車中跨總線通訊交互的CAN節(jié)點可準確獲知交互節(jié)點的在線狀態(tài)及數(shù)據(jù)有效性,提高數(shù)據(jù)使用的準確性,降低控制器誤報故障的現(xiàn)象。同時對整車各節(jié)點的在線狀態(tài)進行診斷,并記錄各節(jié)點丟失故障碼,便于售后快速鎖定故障節(jié)點,提高維修效率。
[1] 張鐵欣.基于汽車網(wǎng)關(guān)平臺功能的網(wǎng)絡(luò)拓撲設(shè)計與安全研究[J].汽車電器,2017(9):22-25.
[2] 馬建輝,胡代榮,郭坤.一種汽車CAN總線網(wǎng)關(guān)的報文接收和發(fā)送[J].現(xiàn)代電子技術(shù),2018,41(11):5-7.
[3] 劉源楊,李楊,喬昕,等.一種改進的電動汽車網(wǎng)絡(luò)管理方法和實現(xiàn)[J].計算機系統(tǒng)應(yīng)用,2013,22(6):145-148.
[4] 劉澤,黃智,王敏,等.基于OSEK/VDX NM的汽車舒適性控制系統(tǒng)網(wǎng)絡(luò)管理的研究[J].汽車工程,2013,35(9):145-148.
Research on Vehicle ECU Online Management System Based on CAN
ZHOU Hongying
( Anhui Jianghuai Automobile Group Co., Ltd., Technical Center, Anhui Hefei 230601 )
As the electric controller has gradually increased, the network architecture based on the independent gateway is widely used.The gateway has become the information interaction center between the network segments. Since the nodes are not in the same network segment,the CAN node of communication interacting across bus networks has problems that cannot be accurately known interactive nodes online status, resulting in an exception in function, while also causing the controller to malfunction code and false alarm, and misleading the launch of the vehicle.This paper proposes a CAN controller node online management method, which can effectively monitor the online state of each node, broadcast through the network nodes in the way, so that each node masters the online state of the interactive node in real time, to determine the interaction. The validity of information can greatly improve the correctness of each interaction data.At the same time, the network nodes are diagnosed online, and the record nodes lose the fault code, which is convenient for quick locking fault nodes to improve the maintenance efficiency.
CAN;Online management;Online diagnosis
10.16638/j.cnki.1671-7988.2021.021.021
U462.1
A
1671-7988(2021)21-89-03
U462.1
A
1671-7988(2021)21-89-03
周紅英,就職于安徽江淮汽車集團股份有限公司技術(shù)中心。