CAN bus憑藉著可靠、即時、經濟和靈活的優勢,在汽車、工業等領域得到廣泛應用,並逐漸普及到電池儲能、醫療器械、智慧大樓等應用場景中。隨著 CAN bus在越來越多領域得到應用,CAN bus測試的需求也逐漸增多。
本文主要總結了 10項平時測試過程中經常遇到的一些典型問題,並給出解決方案,幫助您更加順利地完成測試。
文章大綱導覽
01 斷線
02 線纜類型錯誤:非CAN線
03 接線不當
04 網絡上只有1個正常通訊的節點
05 CAN線太長
06 總線負載率過高
07 終端電阻錯誤
08 波特率錯誤
09 相同ID引起的通訊衝突
10 相同的波特率但是時鐘頻率不同
01 斷線
如果線纜破損,CAN通訊則無法繼續。
【解決辦法】
1、可以明顯看出來線纜損壞的話,直接換線即可
2、外表看不出來的,可以使用斷路測試儀檢查每一個引腳,確定線纜損壞,換線。
02 線纜類型錯誤:非CAN線
有可能現場用的線纜看起來是用於 CAN 方面的,但實際不是 CAN 線纜,不符合標准定義。大部分常見產品採用 DSub9 接頭,符合 CiA® 303-1 引腳定義的規範。當然也可以採用其他比如 RJ45 等接頭。
下表是DB9端CAN的引腳定義。
【解決辦法】
檢查線纜的引腳分配,如果不符合標準就更換線纜;如果符合標準,再檢查其它方面。
03 接線不當
當一個 CAN 網路中有多個節點,連接的時候有多個插頭需要連接的時候,就很可能出現連接錯誤。導致無法進行 CAN 通訊或者出現零星錯誤。
【解決辦法】
1、檢查所有插線是否正確
2、 檢查所有接頭是否引腳匹配
04 網路上只有 1 個正常通訊的節點
一個正常工作的 CAN 網路至少有兩個或者更多 CAN 節點。如果只有一個 CAN 節點正常工作,它的錯誤狀態就會進入被動錯誤,因為它發送資料後沒法接收到對方的確認回覆。
【解決辦法】
可以用分析儀監測節點的錯誤狀態:
• Bus Light:超過 96 個錯誤時,進入”error active”
• Bus Heavy:超過 127 個錯誤,進入”error passive”
• Bus Off:超過 255 個錯誤,進入”bus off”
注意:如果只有一個正常工作的 CAN 節點而且它發送了一條 CAN 資料,那麼這個報文就會很快速地一直被重發,直到它收到另外一個節點的確認回覆或進入被動錯誤狀態。
這些資訊可以透過CANking或者CANeasy等獲取》點我了解CAN分析工具
05 CAN線太長
1Mbit/s的波特率,在一個完美的佈線系統裡面不能超過 40m(理論值)。最大的線纜長度也與所用收發器有關。
對於 CAN FD 來講,波特率也取決於線纜長度,儘管 CAN FD 的波特率更高,如果總線長度超過 40米,CAN 資料就會失效,因為 ACK 位到來的太晚。
【解決辦法】
根據實際情況縮短線纜的長度
06 總線負載率過高
總線負載過高會引起傳輸故障。這個通常是指發送的資料過多,特別是在波特率和 cycle time 較高的情況下容易發生。或者是一條 CAN 資料發生錯誤,然後 CAN 控制器一直嘗試重發該資料,就會導致總線負載增加。
診斷方法:採用 Ixxat CANcheck 來診斷匯流排負載率
【解決辦法】
1、減少資料
2、 延長資料發送周期
3、 提高 bus波特率
4、 如果使用 CAN2.0,後續可以考慮使用 CAN FD
07 終端電阻錯誤
高速 CAN bus(ISO 11898-2) 必須在 CAN 線兩端各接入120 Ω 終端電阻(CAN_L與CAN_H之間)。這樣做有利於減少線纜的訊號反射並確保 CAN 收發器能正常工作。
【解決辦法】
1、使用 CANcheck,測量CAN_L與CAN_H之間的終端電阻。
2、有經驗的用戶以利用 CANcheck的示波器上波形形狀評估終端電阻的情況(看側翼振鈴等)
下面我們會看下不同的終端電阻情況下的波形特徵:
① 終端電阻情況1:過載Over termination
過載原因:終端電阻接入太多
正常兩個 120歐姆終端電阻並聯應該是 60歐姆左右,如下圖測出來是 13歐姆,導致 CAN波形畸變。
② 終端電阻情況 2:終端電阻接入太少或者丟失
正常兩個 120歐姆終端電阻並聯應該是 60歐姆左右,如下圖測出來是丟失,導致 CAN波形畸變。
08 波特率錯誤
同一個網路的各節點波特率應保持一致。如果不一致,則節點會進入 bus off 的錯誤狀態,並會影響其他節點通訊
【解決辦法】
採用 Ixxat CANcheck 檢測 CAN/CAN FD網路的波特率。
09 相同ID引起的通訊衝突
在一個 CAN 網路中,應當保證每個節點的資料 ID 都不一樣;如果發現兩條資料 ID 一樣的情況,這樣就沒法仲裁哪條資料的優先級更高,每次衝突都會使得錯誤計數器加 1。
【解決辦法】
可以透過 Ixxat CANcheck 的Error frames來看單位時間內的錯誤幀數,或者用canAnalyser 軟體在線監控,查找哪些 CAN 資料發生了衝突。
10 相同的波特率但是時鐘頻率不同
這個主要是針對 CAN FD 網路,在 CAN FD 網路裡,波特率越高就會越接近物理極限。所以在同一條網絡,不建議用戶使用不同的時鐘頻率。
CiA 是建議使用 40或者 80MHz的時鐘頻率。
如果對於本篇文章有任何想法,歡迎留言回饋給我們!
如對產品有興趣,也歡迎點擊下方按鈕聯繫我們