杜文龍,彭宏偉,孫鵬
(安徽江淮汽車集團股份有限公司,安徽 合肥 230601)
淺談商用車網(wǎng)絡(luò)錯誤處理規(guī)范與應(yīng)用
杜文龍,彭宏偉,孫鵬
(安徽江淮汽車集團股份有限公司,安徽 合肥 230601)
文章以總線關(guān)閉和報文超時兩種主要網(wǎng)絡(luò)錯誤為例,闡述了網(wǎng)絡(luò)系統(tǒng)中的網(wǎng)絡(luò)錯誤處理規(guī)范,保證了整車網(wǎng)絡(luò)系統(tǒng)的可靠性,為相關(guān)車載網(wǎng)絡(luò)設(shè)計提供一定的參考。
車載網(wǎng)絡(luò);錯誤處理;總線關(guān)閉;報文超時
CLC NO.: U463.6 Document Code: A Article ID: 1671-7988 (2017)19-172-03
現(xiàn)代社會對商用車的要求不斷提高,這些要求包括:極高的主動安全性和被動安全性;乘坐的舒適性;駕駛與使用的便捷和人性化。為匹配這些日益增長的功能需求,商用車的CAN控制器的應(yīng)用程爆發(fā)式增長,隨之而來的,是車載CAN網(wǎng)絡(luò)的電氣系統(tǒng)工況越來越復(fù)雜。因此,為保證網(wǎng)絡(luò)的可靠性,主機廠對控制器的CAN網(wǎng)絡(luò)錯誤的處理也越來越重視。
在商用車CAN網(wǎng)絡(luò)設(shè)計與應(yīng)用中,主要的網(wǎng)絡(luò)錯誤有總線關(guān)閉和報文超時兩種狀態(tài),本文將從這兩方面對CAN網(wǎng)絡(luò)錯誤處理規(guī)范進行闡述。
CAN(Controller Area Network)是控制單元(ECU)通過網(wǎng)絡(luò)進行數(shù)據(jù)交換的一種通信方式,即控制器局域網(wǎng)絡(luò)。是國際上應(yīng)用最廣泛的現(xiàn)場總線之一。它具有以下優(yōu)點:
1)數(shù)據(jù)傳輸時的高安全性及可靠性;
2)利用最少的信號線傳輸多用途的信號,節(jié)省成本;
3)節(jié)點布置靈活,拓展性好;
4)減少連接插頭尺寸即減小控制單元尺寸,增大安裝空間,可以降低車輛自重。
隨之車載網(wǎng)絡(luò)系統(tǒng)的復(fù)雜程度越來越高,且更多的牽涉到整車安全及舒適性。如果處于故障狀態(tài)的控制器對網(wǎng)絡(luò)錯誤不做處理,將嚴重影響車輛的駕乘體驗。其中有兩種常見的網(wǎng)絡(luò)錯誤需求在控制器設(shè)計之初就需要考慮的。
1)總線關(guān)閉 當控制器處于故障狀態(tài)而一直快速發(fā)送錯誤幀,將必然導(dǎo)致整個網(wǎng)絡(luò)負載的劇增,導(dǎo)致其他正常的應(yīng)用報文被仲裁而導(dǎo)致較大的數(shù)據(jù)傳輸延遲,整車的狀態(tài)就無法及時的反映到總線上,形成嚴重的隱患。這里就需要引入“總線關(guān)閉”概念,即Bus-off。處于此狀態(tài)的ECU不允許在總線上有任何的影響。
2)報文超時 當控制器無法正常發(fā)送報文時,該故障應(yīng)該被維修人員所知曉,且需求該報文的控制器的不應(yīng)該因為此故障而喪失功能,而是以超時值進行邏輯判斷,最大程度的降低該故障的影響。
一個ECU的CAN控制器內(nèi)部的兩個8位計數(shù)器,取值范圍是0~255。如果在發(fā)送(或接收)報文的過程中產(chǎn)生錯誤,TEC(或REC)的數(shù)值會增加。如果成功發(fā)送(或接收)報文,TEC(或REC)的數(shù)值會減少。根據(jù)REC與TEC的數(shù)值可以界定一個ECU的CAN控制器狀態(tài):主動錯誤、被動錯誤或總線關(guān)閉,進入總線關(guān)閉狀態(tài)即Bus-off故障,狀態(tài)轉(zhuǎn)換如下圖。
圖1 CAN節(jié)點錯誤狀態(tài)圖
2.2.1 本地故障
網(wǎng)絡(luò)中所有ECU必須有容錯性能:
1)ECU任何內(nèi)部錯誤都不能影響總線通信(發(fā)送錯誤幀或者把總線鉗位在“顯性”狀態(tài));
2)ECU功能不受總線高負載率影響,且不能把ECU置于不安全狀態(tài);
3)總線錯誤幀不能影響ECU內(nèi)部功能,也不能把ECU置于不安全狀態(tài);
4)ECU啟動期間,不應(yīng)干擾其他ECU的正常通信;
2.2.2 全局故障
總線發(fā)生以下全局故障時,CAN通信通常會受到干擾。
表1
ECU從Bus-off故障恢復(fù)的策略在商用車的應(yīng)用中常有以下情況:
(1)網(wǎng)絡(luò)管理節(jié)點
進入Bus-off狀態(tài)后ECU需要立即復(fù)位并初始化CAN controller。在TBusoff時間內(nèi)ECU禁止發(fā)送任何CAN報文,但允許接收報文。
在TBusoff時間內(nèi)節(jié)點網(wǎng)絡(luò)管理應(yīng)該處于激活狀態(tài)(如下圖所示)。
圖2
節(jié)點Bus-off的恢復(fù),遵循OSKE直接網(wǎng)絡(luò)管理節(jié)點的Bus-off恢復(fù)時間定義(如下圖),根據(jù)定義恢復(fù)時間TBusOff=Terror=1000ms,且恢復(fù)后發(fā)送的第一條報文為網(wǎng)絡(luò)管理報文。
圖3
(2)非網(wǎng)絡(luò)管理節(jié)點
ECU的CAN控制器內(nèi)部的兩個8位計數(shù)器,取值范圍是0~255。如果在發(fā)送(或接收)報文的過程中產(chǎn)生錯誤,TEC(或REC)的數(shù)值會增加。如果成功發(fā)送(或接收)報文,TEC(或REC)的數(shù)值會減少。
當總線關(guān)閉的條件發(fā)生后應(yīng)采取以下措施:
1)網(wǎng)絡(luò)從激活狀態(tài)轉(zhuǎn)變到總線關(guān)閉狀態(tài);
2)禁止發(fā)送任何參數(shù)組;
3)CAN 控制器復(fù)位,數(shù)據(jù)鏈路層清除沒有發(fā)送的報文。
節(jié)點在Bus-off恢復(fù)時間,滿足上電使能的發(fā)送時間要求,即TBusoff= 200ms,發(fā)送的第一幀報文可以是任意應(yīng)用層的參數(shù)組。
報文超時,即在規(guī)定的時間范圍內(nèi),接收節(jié)點沒有收到來自于發(fā)送節(jié)點的報文。根據(jù)報文周期的倍數(shù)來定義超時時間是較為合理的。在商用車的實際應(yīng)用中,常以被監(jiān)測的報文的10倍發(fā)送周期定義為該報文的超時時間,在此時間內(nèi)沒有被接收節(jié)點監(jiān)測到,接收節(jié)點應(yīng)監(jiān)測到超時故障。
在詳細了解報文超時故障表現(xiàn)前需要先了解初始值和無效值。這兩個值是從功能角度定義的,目的是為了規(guī)范ECU在非正常工作時發(fā)送的報文信號值。
初始值:發(fā)送有效值之前發(fā)送到總線上的信號值,ECU初始化期間,信號值等于初始值。
無效值:根據(jù)需求,發(fā)送節(jié)點在某些時候發(fā)送無效值。當任一功能失效或應(yīng)用程序不能及時處理時,相關(guān)信號值等于無效值。
報文超時后接收節(jié)點將相應(yīng)的SPN設(shè)置為在通信矩陣中定義的超時值(無效值或初始值),以保障整車系統(tǒng)可以在可控范圍內(nèi)獲得最佳功能選擇。
故障的恢復(fù)條件根據(jù)ECU的功能定義進行,可以是接收到任意一條被監(jiān)測的報文即解除報文超時故障,也可以是連續(xù)監(jiān)測到N個周期的報文后再解除報文超時故障。但為避免各ECU的啟動時序不一致,導(dǎo)致的報文超時故障誤判斷,需增加上電10秒內(nèi)不監(jiān)測報文超時故障的規(guī)則:
具體應(yīng)用實例如下:
(1)控制器需求的報文發(fā)送電源狀態(tài)不滯后于本身的,以該控制器的上電后10s為計時起點。
以某車型為例,整車電源狀態(tài)順序為蓄電池上電—鑰匙OFF—ACC—ON—Start,如TCO需求記錄ICM的車速報文丟失,TCO在ACC狀態(tài)下啟動網(wǎng)絡(luò),ICM在鑰匙OFF下網(wǎng)絡(luò)已啟動,此時TCO只需以自身的ACC上電后10s為報文丟失故障的監(jiān)測計時起點。
(2)控制器需求報文發(fā)送電源狀態(tài)滯后于本身的,且控制器本身可以確認電源狀態(tài)的。
以某車型為例,整車電源狀態(tài)順序為蓄電池上電—鑰匙OFF—ACC—ON—Start,如ICM需求記錄TCO的時間報文丟失,TCO在ACC狀態(tài)下啟動網(wǎng)絡(luò),ICM在鑰匙OFF下網(wǎng)絡(luò)已啟動,但是ICM可以判斷ON檔狀態(tài),此時ICM需以自身的ON上電后10s為報文丟失故障的監(jiān)測計時起點。
(3)控制器需求報文發(fā)送電源狀態(tài)滯后于本身的,且控制器無法確認電源狀態(tài)的。
以某車型為例,整車電源狀態(tài)順序為蓄電池上電—鑰匙OFF—ACC—ON—Start,如MP5需求記錄TPMS的胎壓報文丟失,MP5在ACC狀態(tài)下啟動網(wǎng)絡(luò),TPMS在鑰匙ON狀態(tài)下啟動網(wǎng)絡(luò),但是MP5本身無法判斷ON檔狀態(tài),此時MP5需以BCM的報文0x18FF0B21的點火開關(guān)信號進行電源狀態(tài)判斷,在信號變?yōu)镺N狀態(tài)后10s為報文丟失故障的監(jiān)測計時起點。
車載CAN網(wǎng)絡(luò)技術(shù)是現(xiàn)代汽車電子技術(shù)的重要組成部分,是現(xiàn)代車輛信息傳輸與控制的基礎(chǔ)。隨著電子技術(shù)的發(fā)展,以及顧客對安全性、舒適性需求的增加,車輛上的電控單元越來越多,CAN網(wǎng)絡(luò)拓撲復(fù)雜程度也越來越高。為最大程度的保障CAN網(wǎng)絡(luò)系統(tǒng)的穩(wěn)定性,降低網(wǎng)絡(luò)錯誤對整車系統(tǒng)的影響,對ECU的網(wǎng)絡(luò)錯誤處理機制的規(guī)范在設(shè)計之初就應(yīng)該被考慮。本文通過對兩種常見的網(wǎng)絡(luò)錯誤進行了具體的說明,為車載網(wǎng)絡(luò)的設(shè)計提供一定的參考。
[1] 劉春暉,劉寶軍.汽車車載網(wǎng)絡(luò)技術(shù)詳解[M].機械工業(yè)出版社,2015.
[2] OSEK/VDX Network Management Concept and Application Progr-amming Interface, Version 2.5.3, 26th July 2004.
Specification and Application of Network Error Handling on the Heavy Truck
Du Wenlong, Peng Hongwei, Sun Peng
( Anhui Jianghuai Automobile group Co., Ltd, Anhui Hefei 230601 )
In this paper, the network error handling specification in network system are illustrated with the examples of bus-off and message timeout. This ensures the reliability of the network system and provides a reference for other vehicles.
Vehicle network; Error handling; Bus-off; Message timeout
U463.6 文獻標識碼:A 文章編號:1671-7988 (2017)19-172-03
10.16638 /j.cnki.1671-7988.2017.19.060
杜文龍,助理工程師,就職于安徽江淮汽車集團股份有限公司技術(shù)中心,從事電器設(shè)計工作,研究方向為車載網(wǎng)絡(luò)技術(shù)。