相信大家都已經很熟悉CAN總線,CAN作為一種為解決現代汽車中眾多電控單元之間的數據交換而開發的多主機局部網絡串行通信協議。由于其高性能、高可靠性以及獨特的設計而越來越受到人們的重視,被廣泛應用于諸多領域。
CAN總線應用環境復雜多樣,可能會出現各種異常情況,下面將分析常見的CAN接口異常情況及解決方法。
1
CAN總線接線問題
對于CAN收發器常見的接線錯誤,常見于將與CAN控制器連接的RXD和TXD接線錯誤,以及CAN收發器與收發器連接的CAN_H和CAN_L接線錯誤。
CAN收發器的TXD引腳是數據輸入引腳,需要與控制器的TXD輸出引腳連接,CAN收發器的RXD引腳是數據輸出引腳,需要與控制器的RXD輸入引腳連接,與習慣上使用Tx表示發送、Rx表示接收的RS485和RS232這些收發器的定義不同,初次接觸CAN收發器的工程師,可能會根據習慣,將TXD和RXD接反,導致無法通信。
CAN收發器的CAN_H引腳需要與其他收發器的CAN_H引腳連接,CAN_L需要與CAN_L連接。將CNA_H和CAN_L接反會導致通信異常。
2
CAN收發器與控制器電壓不匹配問題
對于使用多個電壓的系統,可能會出現CAN收發器供電為5V,控制器供電電壓為3.3V的情況,以TJA1050的內部結構圖來看,TXD和RXD引腳輸出電壓都與VCC供電電壓相關。
TJA1050這顆收發器的供電電壓一般使用5V進行供電,那么在TXD和RXD引腳上的電壓就為5V。此時如果控制器供電電壓為3.3V(例如使用STM32F407作為控制器),此時直接將這兩顆電源軌不同的芯片直接連接,就可能因為兩個芯片對高低電平的判斷電壓不同,從而導致通信異常。
電壓不同還會導致5V電壓輸入到3.3V引腳拉高3.3V芯片端電壓的情況發生。
3
未加終端電阻存在的問題
CAN通訊的終端電阻為120歐姆,在高速CAN通訊的過程中,可能會產生電感現象,對CAN通訊的高低電壓產生影響,使得系統無法判別顯性或者隱形電平。因此并聯一個終端電阻,使得在阻抗高的時候電流可以從終端電阻流過,從而保證CAN通訊的正常運行。
4
通信波特率配置問題
在設計時,需要考慮到我們要接入的CAN總線的總線速率,總線速率需要一致才能正常的發送和接收數據。
有時我們在進行測試時,當接入的節點數量較少時通信是正常的,但當我們嘗試接入更多的節點時,CAN網絡就會崩潰。發生這種情況時,可以檢查CAN總線上的數據波形,看波形是否出現變形,由于CAN控制器對控制時序要求較高,變形的波形可能導致控制器接收到的波形時序不正確,出現控制器解碼失敗的情況。
5
應用中易損壞,更換芯片后正常
發生這種情況通常是由CAN芯片的接口保護不足導致的。在復雜的使用場景中,經常存在很強的電磁和靜電干擾。而CAN收發器的保護能力不夠就會因外部環境影響而被毀壞,這種情況下,我們需要增加保護電路,或者更換具有更強保護能力的芯片。
億佰特CAN設備&串口服務器設備:
億佰特自主研發的高性能CAN協議轉換器/轉換模塊ECAN系列,可以實現CAN與串口RS232/RS485、TTL、USB、光纖、Wi-Fi等不同協議數據之間的雙向轉換。具有體積小巧、方便安裝等特點,在CAN-BUS類產品開發、數據分析應用中具有極高的性價比,是工程應用、項目調試及產品開發的可靠助手。
-
控制器
+關注
關注
112文章
16332瀏覽量
177813 -
CAN通信
+關注
關注
5文章
93瀏覽量
17829 -
總線
+關注
關注
10文章
2878瀏覽量
88052
發布評論請先 登錄
相關推薦
評論