在日常工作中,我們經(jīng)常收到客戶(hù)的反饋,他們表示 CAN 卡無(wú)法正常通訊,這給工作帶來(lái)了諸多不便。今天,就讓我們深入探討一下導(dǎo)致 CAN 卡通訊失敗的常見(jiàn)原因,以及相應(yīng)的解決方法。
? 單個(gè) CAN 設(shè)備發(fā)送失敗
有些客戶(hù)反映,即使只有一個(gè) CAN 口在發(fā)送數(shù)據(jù),且總線(xiàn)都未連接,仍然會(huì)出現(xiàn)發(fā)送失敗的情況。這可能令人感到困惑,因?yàn)榘凑粘@恚灰l(fā)送端正常工作,似乎不應(yīng)該出現(xiàn)這種問(wèn)題。
然而,這正是 CAN 總線(xiàn)的獨(dú)特之處。與常見(jiàn)的 232、485 總線(xiàn)不同,CAN 總線(xiàn)的收發(fā)器具備自我監(jiān)測(cè)和糾錯(cuò)機(jī)制,無(wú)需額外的程序輔助。當(dāng)單個(gè)設(shè)備發(fā)送數(shù)據(jù)時(shí),發(fā)送失敗的原因在于 CAN 收發(fā)器的 ACK 應(yīng)答機(jī)制。在 CAN 控制器發(fā)送完數(shù)據(jù)的 crc 校驗(yàn)碼后,它會(huì)檢測(cè)“ack 位”是否呈現(xiàn)顯性狀態(tài)。這個(gè) ACK 位必須由接收設(shè)備將電壓差拉高至顯性,否則發(fā)送端會(huì)認(rèn)為發(fā)送失敗。
這里有一個(gè)關(guān)鍵點(diǎn)需要特別注意:如果接收數(shù)據(jù)的 CAN 卡被設(shè)置為只聽(tīng)模式,那么它不會(huì)做出 ACK 回應(yīng),這同樣會(huì)導(dǎo)致發(fā)送失敗。因此,在排查此類(lèi)問(wèn)題時(shí),務(wù)必檢查接收端的設(shè)置,確保其處于正常工作模式,能夠正確回應(yīng) ACK 信號(hào)。
?兩個(gè) CAN 設(shè)備對(duì)接但發(fā)送失敗
還有一種常見(jiàn)的情況是,兩個(gè) CAN 設(shè)備都已正確對(duì)接,且波特率設(shè)置一致,但仍然無(wú)法正常發(fā)送數(shù)據(jù)。這種情況多發(fā)生在客戶(hù)使用高波特率且總線(xiàn)較長(zhǎng)時(shí),尤其是沒(méi)有使用終端電阻或僅使用了一個(gè)終端電阻的情況下。此時(shí),如果使用示波器進(jìn)行分析,會(huì)發(fā)現(xiàn)波形出現(xiàn)振鈴現(xiàn)象,即波形不再呈現(xiàn)規(guī)整的矩形電信號(hào)上下波動(dòng)。
這是由于總線(xiàn)較長(zhǎng)時(shí),末端缺乏設(shè)備消耗電能,導(dǎo)致信號(hào)反射形成浪涌??梢詫⒖偩€(xiàn)想象成一條水管,當(dāng)水流到達(dá)末端而無(wú)處可去時(shí),就會(huì)產(chǎn)生回流。而通過(guò)在兩個(gè)終端各添加一個(gè) 120 歐姆的電阻來(lái)消耗電能,就能有效消除這種浪涌現(xiàn)象,從而使通訊恢復(fù)正常。
?四個(gè)關(guān)鍵要點(diǎn)
綜上所述,要確保 CAN 通訊成功,需要重點(diǎn)關(guān)注以下四個(gè)要點(diǎn):
1. 接線(xiàn)正確:這是最基本的要求,只有確保所有線(xiàn)路連接無(wú)誤,才能為正常通訊提供基礎(chǔ)保障。
2. 波特率一致:兩個(gè) CAN 設(shè)備的波特率必須保持一致,否則會(huì)導(dǎo)致數(shù)據(jù)傳輸混亂,無(wú)法正確解讀。
3. 對(duì)端設(shè)備有 ACK 響應(yīng):如前文所述,ACK 應(yīng)答機(jī)制對(duì)于 CAN 通訊至關(guān)重要,接收端必須能夠正確回應(yīng) ACK 信號(hào),才能保證發(fā)送端確認(rèn)數(shù)據(jù)已成功送達(dá)。
4. 終端電阻匹配:在長(zhǎng)距離的 CAN 總線(xiàn)中,終端電阻的匹配對(duì)于信號(hào)的穩(wěn)定傳輸起著關(guān)鍵作用。
合理配置終端電阻,可以有效避免信號(hào)反射和浪涌問(wèn)題,確保通訊的可靠性。通過(guò)以上分析和解決方法,相信能夠幫助大家更好地理解和解決 CAN 卡通訊失敗的問(wèn)題。
在實(shí)際工作中,只要嚴(yán)格按照這四個(gè)要點(diǎn)進(jìn)行檢查和配置,就能大大提高 CAN 通訊的成功率,避免因通訊故障而影響工作進(jìn)度。
高性能以太網(wǎng)轉(zhuǎn)CAN FD設(shè)備
CANFDNET-800U |
|
CANFD與車(chē)載以太網(wǎng)
黑白名單模式 靈活連接擴(kuò)展 |