CAN總線應用環境復雜多樣,可能會出現各種異常情況。本文列舉了常見的CAN接口異常情況及解決方法,幫您更加高效地分析及解決CAN接口應用問題。
常見異常及解決方法
1、兩個節點近距離測試,低波特率通信正常,高波特率無法通信。
可能原因:未加終端電阻。由于CAN收發芯片內部CANH、CANL引腳為開漏驅動,如圖1,在顯性狀態期間,總線的寄生電容會被充電,而在恢復到隱性狀態時,這些電容需要放電。如果CANH、CANL之間沒有放置任何阻性負載,電容只能通過收發器內部阻值較大的差分電阻放電。如果放電速度過慢,就會出現通信問題。
解決方法:增加終端電阻。
圖1 CAN收發器結構示意圖
2、組網節點數少,通信正常,增加節點后,通信異常。
可能原因:總線電容過大??偩€電容過大會影響CAN差分波形上升下降速度,如圖2。
解決方法:a. 檢查CAN節點接口的外圍電路,是否有外加電容、TVS管等器件,適當去除,以降低電容。b. 降低工作波特率。波特率降低可以延長位時間,減小電容的影響,但若電容過大,則不一定有效。
圖2 總線電容影響波形圖
3、應用中易損壞,更換模塊后正常。
可能原因:保護不足。CAN模塊由于體積受限,內部保護電路等級不高。在一些環境惡劣的應用現場,干擾能量過大易造成損壞。
解決方法:根據損壞情況適當增加保護電路。圖3是推薦的典型保護電路圖,電源端口有TVS保護,CAN接口有三級電路保護,可以抑制大能量的雷擊浪涌。
圖3 典型保護電路
4、5V模塊匹配3.3V MCU,錯誤幀多或發不出數據。
可能原因:電平不匹配。5V模塊匹配3.3V MCU在測試中可能并無異常,但由于某些參數的微小變化,就會導致電平不能正常識別。圖4標示了模塊TXD輸入高電平的最低值0.7VCC,如小于該值,則存在風險。
解決方法:選擇3.3V模塊匹配3.3V MCU,或增加電平轉換電路。
圖4 CAN模塊輸入參數
5、近距離通信正常,遠距離無法通信。
可能原因:a. CAN速率過高。由于CAN總線的仲裁機理,其對延時有著非常嚴格的要求。線纜延時的存在,使得導線長度制約著實際應用中CAN的最高工作速率。CAN速率與通信距離成反比,速率越高,通信距離越短。b. 線纜阻抗大,遠端信號幅值過低。
解決方法:a.降低速率,或縮短總線長度,可參考圖5線纜長度與波特率的關系。b.換用阻抗小的電線纜,或適當增大終端電阻值,可參考圖6線纜長度與直流參數推薦。
圖5 線纜長度與波特率的關系
圖6 線纜長度與直流參數推薦
通過測試定位問題
當通過現有信息無法判斷問題所在時,則需要對CAN接口進行測試,定位問題點。已推測出問題所在時,也可以對CAN接口進行測試,以驗證推測與解決效果。
1、阻抗測量
在產品斷電、或從PCB卸下后,使用數字萬用表測量模塊各引腳阻抗是否異常,如圖7。若出現短路情況,說明模塊或相關聯電路有損壞現象。
測試時,TXD、RXD、VCC以GND為參考;CANH、CANL以CANG為參考。
圖7 阻抗測量示意
產品上電,使用數字萬用表測量模塊VCC-GND之間電壓,電壓應該在模塊正常供電范圍內,如圖8。若電壓值明顯低于正常范圍,且模塊發熱嚴重,則內部可能存在短路情況。若模塊發熱量正常(常規溫升15℃),則需要檢查外部供電電路是否異常。
圖8 供電測試示意圖
3、檢測發送波形
使用示波器測試TXD引腳,以及CANH、CANL的差分波形,檢查波形的幅值大小、波特率、波形質量、TXD和CAN差分波形是否對應等,如圖9、圖10。
圖9 發送波形測試示意圖
圖10 TXD與CAN差分波形
4、檢測接收波形
使用示波器測試RXD引腳,以及CANH、CANL的差分波形,檢查波形的幅值大小、波特率、波形質量、RXD和CAN差分波形是否對應等,如圖11、圖12。
圖11 接收波形測試示意圖
圖12 CAN差分與RXD波形圖
5、檢測CAN總線波形
使用示波器測試CANH、CANL的波形,檢查顯性電平、隱性電平、位時間等參數是否正確。如圖13、圖14。
圖13 CAN總線波形測試示意圖
圖14 CANH、CANL總線波形
如果經過以上測試,均未發現CAN收發器異常情況,則可基本排除硬件問題,進一步分析需要進行軟件層面的故障排查。
責任編輯:lq6
-
示波器
+關注
關注
113文章
6240瀏覽量
184799 -
接口
+關注
關注
33文章
8575瀏覽量
151021 -
總線
+關注
關注
10文章
2878瀏覽量
88052 -
CAN收發器
+關注
關注
2文章
165瀏覽量
25637
原文標題:CAN接口異常分析指南
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論