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