CAN通信邊沿緩慢導致通信錯誤原因分析與優化
在CAN通信系統的故障排查過程中,常常遇到因邊沿緩慢而導致的通信錯誤。
邊沿緩慢主要影響CAN網絡數據傳輸的準確性,進而導致網絡中的錯誤幀增多。
以下通過一個實際案例對邊沿緩慢現象的成因進行分析,并提供有效的排查與優化建議。
1
現場測試數據分析
圖 1展示了通過ZPS-CANFD采集的現場CAN網絡報文和波形數據。
從報文數據可以看出,所有的幀均為錯誤幀,說明CAN網絡出現了通信錯誤。
結合波形數據觀察,發現CAN差分信號的波形邊沿十分緩慢,呈現出類似鐮刀形狀。
這種緩慢的邊沿形態,會影響CAN通信中顯隱性電平的識別,進而導致通信錯誤的發生。
圖1:差分波形邊沿緩慢現象
通過對該波形的分析,發現邊沿的上升和下降時間都較長,且波形中不再呈現理想的快速上升和下降。
2
邊沿時間測量
通過ZPS的【總線邊沿測量】功能,測量了該CAN差分波形的上升和下降時間。
結果顯示:
上升時間約為300ns
下降時間約為600ns
圖2:差分波形邊沿時間測量結果
3
原因排查
邊沿緩慢的現象,通常與CAN總線差分電平的充放電過程密切相關。
我們知道,當CAN總線電平從低變高(上升沿)時,收發器的Q1、Q2導通,電容開始充電;當電平從高變低(下降沿)時,Q1、Q2斷開,電容通過終端電阻放電。
由于電容的充放電需要一定的時間,電容值越大,充放電所需時間(即時間常數τ)越長,導致波形的上升和下降時間增加。
根據電容充放電的時間常數公式:
當電阻值(R)固定時,電容(C)越大,時間常數τ值就越大,進而導致邊沿緩慢的現象。
通過對現場CAN網絡節點電路的檢查,發現收發器外圍電路中存在TVS管、氣體放電管等保護器件。
這些器件的結電容會影響總線的信號傳輸,尤其是當選用結電容較大的TVS管時(如電容值在幾百到上千皮法范圍內),會導致總線的電容增加,進而在高速通信時產生邊沿緩慢的波形。
圖3:CAN總線充放電示意圖
圖4:CAN節點電路
4
優化措施與效果
針對上述問題,優化措施是將CAN節點收發器外圍電路中的TVS管去除。
去除TVS管后,再次進行現場數據采集,觀察到波形和邊沿時間有了顯著改善。
具體表現為:
CAN差分信號的上升時間從原來的300ns減少到30ns左右
CAN差分信號的下降時間從原來的600ns減少到40ns左右
圖5:優化后的CAN差分波形
圖6:優化后CAN差分波形邊沿時間測量結果
通過去除結電容較大的保護器件,CAN網絡的邊沿緩慢現象得到了有效的改善,通信穩定性也得到了顯著提升。
5
CAN網絡邊沿緩慢原因排查建議
當CAN網絡出現邊沿過于緩慢的現象時,可以從以下幾個方向進行排查和優化:
檢查CAN節點電路中的保護器件:確認是否存在等效電容較大的保護器件(如TVS管、氣體放電管等)。選用結電容較小的保護器件,以減少對總線信號的影響。
檢查節點電路中的電容:檢查CAN節點電路是否存在過大的對地電容(如CAN對地電容、CANL對地、CANH對CANL的電容)。過大的電容會顯著降低信號的邊沿速度,影響通信的正常進行。
檢查通信線纜的寄生電容:確保通信線纜的選擇合理,避免選用寄生電容過大的線纜。電纜的長度和類型也會影響信號的傳輸質量。
優化總線布局:在設計CAN總線時,盡量避免長距離的連接,保持合理的總線長度和節點間距,以減少寄生電容的影響。
通過上述排查和優化措施,可以有效避免因邊沿緩慢引起的CAN通信錯誤,確保系統的穩定性和可靠性。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。