在90年代,隨著CAN2。0標準的釋出,CAN匯流排也陸續引入到汽車中,1991年賓士在500E車型上率先引入CAN匯流排。1993年寶馬在當年的740i/iL車型上裝配了由博世提供的一個500kbit/s的CAN網路,該網路是點對點的,用於連線DME和EGS控制單元,到1995年寶馬在E38750iL車型上開始引入星型CAN網路,用於連線5個ECU。由於CAN匯流排的穩定好、通訊速率高、抗干擾能力強等特點,逐步成為車輛ECU間通訊的主要方式。

隨著車輛電子化程度的逐步提高,以及 “新四化(電動化、智慧化、網聯化、共享化)”的逐步推進,車輛ECU的數量逐漸增多,車輛CAN網路越來越複雜。各ECU CAN節點質量良莠不齊,使CAN網路存在較大的安全隱患,輕則導致總線上出現莫名的錯誤幀,重則導致匯流排癱瘓。例如總線上節點的波特率不一致,導致匯流排出現奇怪的錯誤幀,通常這種問題還很難查,比如在配置波特率時,SJW的引數配置不對,導致實際波特率比理論波特率大一點點,理論波特率是500k,但是實際是505k,這樣就會導致網路出問題。那麼CAN匯流排一致性測試就變得尤為重要,保證各個節點CAN的電氣引數、報文設定等的一致性,提高整個CAN網路的穩定性,CAN匯流排的一致性測試內容主要如圖1所示。

CAN一致性測試是什麼

圖1 CAN一致性測試內容

1.輸入閾值測試

CAN匯流排判斷顯隱性的機制如下:Vdiff大於0。9V時,為顯性電平;而Vdiff在小於0。5V時,為隱性電平,其中Vdiff在05V至0。9V之間為不確定區域,如圖2所示。

CAN一致性測試是什麼

圖2 顯隱性電平定義

Vdiff≤0。5V時,節點可以正常傳送報文,否則說明節點正常工作處於異常狀態。

Vdiff≥0。9V時,節點必須停止傳送,如果不停止,說明節點依然識別為隱性電平,存在電平誤判。在上表提到的匯流排負載和共模電壓條件下,按照圖3、圖4原理進行測試。

CAN一致性測試是什麼

圖3 顯性測試

CAN一致性測試是什麼

圖4 隱性測試

2.取樣點測試

取樣點是接收節點判斷訊號邏輯的位置,CAN通訊屬於非同步通訊,需要透過不斷的重新同步才能保證接收節點的取樣準確,若取樣點太靠前,則因為線纜原因,容易導致取樣錯誤,若取樣太靠後,則因為SJW,引起同步跳轉寬度的調整不好,導致出現錯誤。通常主機廠對取樣點都有嚴格的規定,通常是在80%左右,但是由於ECU是供應商提供的,為了確認供應商是按照主機廠要求實現的,則必須對其進行測試。測試方法是使用CANstress接收報文干擾功能,從位時間的45%位置,每次干擾遞增1%,直到100%,透過統計記錄CANScope-Pro的報文錯誤,出現報文錯誤的干擾點則等於取樣點。