董宏興,初洪超
?
基于ISO15765的車載CAN網絡診斷網絡層策略解析
董宏興,初洪超
(安徽江淮汽車技術中心新技術研究院,安徽 合肥 230009)
伴隨著CAN總線在車載網絡中的應用,基于CAN總線的汽車網絡診斷通信標準ISO15765受到廣泛關注。致力于該診斷標準的網絡層處理策略的研究與解析,對基于ISO15765的車載網絡診斷設備的研發提供一定參考價值。
ISO15765;解析;診斷
隨著汽車工業和信息技術的飛速發展,汽車通信策略標準逐漸由分散走向統一。K線診斷由于單線通訊而無法容錯,通訊效率低等缺點,滿足不了日益復雜的汽車網絡,其逐漸被基于汽車網絡診斷通信標準ISO15765的CAN總線所取代。致力于研發適于該體系的診斷設備,為未來車載診斷所需。
ISO15765體系中明確定義了基于CAN的汽車故障診斷通訊機制,如圖1:

圖1 CAN線分層結構
診斷協議體系結構分為4層:應用層,網絡層,數據鏈路層和物理層。
應用層將診斷服務數據處理成CAN數據幀,在傳輸過程中,進行數據打包,解包,協調上下層工作,其打包方式按照A_PDU、N_PDU 、L_PDU的順序發送,解包方式反之;網絡層則通過定時參數等處理Tester與ECU之間的時間關系;數據鏈路層則按照ISO11898-1轉化為有效的CAN數據幀,最后經過物理層的電平信號實現設備與節點,節點與節點之間的通訊。
目前診斷存在3種診斷結構:
(1)Tester與ECU處于同一網絡,其可以直接通訊,如圖2.
(2)Tester與ECU之間通過網關通訊,如圖3。
(3)Tester在主網絡,被測ECU在某子網絡,Tester通過兼有網關功能的子網絡的主節點轉發信息,實現與ECU的網絡通訊。

圖2 Tester與ECU處于同一網絡
目前汽車廠商出于技術及操作性方面考慮,大多使用不浪費幀資源的第一種方案。

圖3 Tester與ECU之間通過網關連接
UDS_CAN線診斷流程為:在ECU軟件復位后,Tester以集尋址信息,協議控制信息及數據信息的診斷報文,通過總線向ECU發出功能尋址或物理尋址請求,ECU在地址信息相符情況下,根據報文中的控制信息及數據信息,以形式類似的報文反饋或不反饋Tester,其反饋形式中分為正響應和否定響應。測試中按照模式、服務項、子功能、長度等方面確定ECU的功能信息、故障代碼及安全驗證相關等,其中,在ECU支持編程模式下可以對ECU進行軟件刷寫。以最大限度維護ECU廠商、主機廠利益并處理ECU的常見的問題,保證ECU的功能及信息唯一性。
下面簡單闡述Tester和ECU之間的時間處理與信號傳遞機制。
單幀傳輸相對簡單,只需要將數據以單幀發送到網絡層,對等到實體通訊即可,如圖4:

圖4 單幀傳輸
多幀傳輸是攜帶數據傳輸信息大于7個字節的傳輸方式,如圖:

圖5 多幀傳輸
其中:
N_As為發送方數據幀經數據鏈路層發送的時間;
N_Ar為接收方數據幀經數據鏈路層發送的時間;
N_Bs為發送方接收流控制幀的等待時間
N_Br為接收方發送流控制幀的間隔時間
N_Cs為發送方發送連續幀的間隔時間
N_Cr為接收方接收連續幀的等待時間
時間參數滿足:
(N_Br+N_Ar)<(0.9*N_Bs timeout)
(N_Cs+N_As)<(0.9*N_Cr timeout)
診斷報文在網絡層中被分解成一個首幀和多個連續幀,首幀中明確定義了分段數據的總長度信息,為第一段幀;連續幀是其余分段數據組成的CAN幀,每個數據幀都包含拆分的順序編號。接收端根據接收數據幀的編號重組服務數據,以完成多幀傳輸。
以上時間定時參數和網絡層傳輸協議確保了數據通訊的交互與傳遞的連續性,同時ECU或Tester可以識別以下幾種錯誤方式并給出相應的處理以保證數據傳輸的真確性:
(1)SF_DL錯誤:
當SF_DL=0或者SF_DL>7(常規尋址),此時接收方網絡層應忽略接收到的單幀,且接收方無indication;
(2)FF_DL錯誤:
當FF_DL>接收方的緩存,那么接收方網絡層應中斷報文接收,接收方發送FC,其中FS=Overflow,接收方無indica -tion ;
當FF_DL< 8/7(常規尋址模式為8,擴展或混合尋址為7),網絡層忽略FF,接收方無indication,且不發送FC;
(3)SN錯誤:
當CF N_PDU中的SN錯誤,報文接收應被中斷,接收方網絡層應指示上層
(4)FS錯誤:發送方網絡層發現接收到的FC,FS非法(即FS錯誤),那么報文發送應被中斷,發送方網絡層向上層報告;
(5)N_WFTmax超時:發送方最多只等待FC/FS限定次數,然后向上層發送N_BS_Timeout;
(6)ST錯誤:當設定的ST值為大于127ms時,發送方和接收方按照最大值127ms處理,發送方和接收方均各自向上層報告;

圖6 非預期幀處理
(7)非預期幀的處理:在多包報文傳輸或空閑狀態下,當發送、接收方受到非期望報文時,根據節點處于不同狀態給出以下處理方式,如圖6:
本文針對ISO15765協議的網絡層進行通訊解析,著重闡述了CAN線診斷網絡層通訊機制及錯誤處理策略。CAN線的診斷的網絡層策略,為Tester讀取和刷寫ECU提供了可靠的信息交互平臺,開發人員可基于此策略,開發出有利于針對CAN線診斷網絡層軟件。
目前基于ISO15765車載網絡診斷協議研發的產品較少,主要集中在德國Vector及華東氣電等公司開發的CANoe及ETS等儀器,雖然其涵蓋的測試項目較全,但成本較高,此方面技術的前瞻性及后續設計與開發價值可見一斑。
[1] ISO15765-1:Road Vehicles-Diagnostics on Controller Area Networks (CAN) ,2004.
[2] ISO15765-2:Road Vehicles-Diagnostics on Controller Area Networks (CAN) ,2003.
[3] 許東輝等,JAC S-II_ECU Diagnostic Specification,安徽江淮汽車乘用車研究院,2011,11(21).
[4]常欣紅,于金泳,劉志遠..汽車故障診斷標準ISO15765的網絡層解析 2006,05(20).
Based on ISO15765 vehicle CAN network diagnostic network layer strategy parsing
Dong Hongxing, Chu Hongchao
( Technology Center of JAC, Advanced Technology Research Institute, AnHui Hefei 230009 )
With the CAN bus in vehicle network based on CAN bus automotive network diagnostic communications standard ISO15765 attracted widespread attention. Devoted to the diagnostic criteria of the network layer processing strategy and analysis, based on ISO15765-vehicle network diagnostic equipment R & D to provide certain reference value.
ISO15765; Analysis; diagnostic
B
1671-7988(2018)24-50-03
U462
B
1671-7988(2018)24-50-03
U462
董宏興,就職于安徽江淮汽車技術中心新技術研究院。
10.16638/j.cnki.1671-7988.2018.24.016