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