• 正文
    • 低波特率通信正常,高波特率無法通信
    • 總線電容過大導(dǎo)致的通訊異常
    • CAN總線波形出現(xiàn)明顯的共模震蕩
    • 總線干擾過大問題
    • 總線錯誤狀態(tài)和分析
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

技術(shù)小課堂 | CAN總線應(yīng)用常見問題(2)

2024/07/31
4652
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

CAN總線作為一種常用的通信協(xié)議,在汽車、工業(yè)自動化等領(lǐng)域得到廣泛應(yīng)用。然而,由于各種原因,CAN總線在使用過程中可能會出現(xiàn)各種故障,本文將繼續(xù)講解CAN總線應(yīng)用過程中的常見問題和解決辦法。

低波特率通信正常,高波特率無法通信

控制器配置低波特率通信正常而提高通信速率后無法通信的問題,主要是由于終端電阻未匹配導(dǎo)致的。CAN收發(fā)器芯片內(nèi)部的CAN線CANH、CANL引腳是開漏結(jié)構(gòu),如下圖1,總線上的寄生電容在顯性狀態(tài)時會被充電,而從顯性狀態(tài)切換到隱性狀態(tài)的時候,總線上的電容要放電。如果CANH、CANL之間沒有匹配電阻或者匹配的終端電阻太大,就會導(dǎo)致電容上的電荷放電速度過慢,從而在下降沿出現(xiàn)邊沿下降過緩的現(xiàn)象,如圖2,進而導(dǎo)致控制無法采到正確的電平,引發(fā)通信問題。

圖1、CAN收發(fā)器芯片內(nèi)部CANH、CANL結(jié)構(gòu)

圖2、顯性狀態(tài)切換到隱性狀態(tài)邊沿緩慢

解決方法

  • 匹配適當(dāng)?shù)慕K端電阻;
  • 推薦使用思瑞浦的TPT1462,支持主動隱性,在TXD拉高時顯性狀態(tài)可快速切換至隱性狀態(tài),保證通信正常。

總線電容過大導(dǎo)致的通訊異常

CAN收發(fā)器為了實現(xiàn)CAN的仲裁與錯誤處理,采用單向驅(qū)動結(jié)構(gòu),即CAN波形的上升沿有驅(qū)動,而下降沿是通過整條總線與終端電阻放電產(chǎn)生的,所以終端電阻的第一作用是放電。CAN節(jié)點及CAN線束的電容會影響整個網(wǎng)絡(luò)的電容,電容越大,下降邊沿越緩,導(dǎo)致接收節(jié)點發(fā)生位采樣錯誤,從而產(chǎn)生錯誤幀。

解決方法

  • 檢查CAN總線上是否有外加電容、是否有保護器件(TVS等)的寄生電容過大等問題,適當(dāng)去除,以降低電容,建議將單個CAN節(jié)點電容控制在 40pF~100pF范圍內(nèi);
  • 降低工作波特率,波特率降低可以延長位時間,減小電容的影響,但若電容過大,則不一定有效;
  • 推薦使用支持CAN SIC的TPT1462,主動隱性功能可保證信號的有效脈寬。

CAN總線波形出現(xiàn)明顯的共模震蕩

共模振蕩通常是由于傳輸線纜PCB布局走線會耦合感性負(fù)載,而信號在感性負(fù)載下傳輸會出現(xiàn)信號共模抖動,可修改終端電阻中點的對地split電容調(diào)整信號質(zhì)量,調(diào)整范圍1nF~100nF,推薦值4.7nF。

另外,TPT1044、TPT1057和TPT1462都是思瑞浦基于自主設(shè)計對稱性調(diào)節(jié)模塊專利技術(shù)的車規(guī)級CAN收發(fā)器芯片,可有效調(diào)節(jié)總線共模,確保差分輸出的對稱性,即使不增加Split電容,也可以達到傳統(tǒng)CAN收發(fā)器增加Split后的效果。

圖3、調(diào)整split電容或更換TPT1044、TPT1057、TPT1462可有效改善信號質(zhì)量

圖4、無split電容時共模抖動

圖5、有split電容下共模無抖動

圖6、TPT1044不增加Split電容下共模無抖動

總線干擾過大問題

CAN總線雖然有強大的抗干擾和糾錯重發(fā)機制,但目前CAN被大量應(yīng)用于新能源汽車、軌道交通、醫(yī)療、煤礦、電機驅(qū)動等行業(yè),而這些場合的電磁環(huán)境比較復(fù)雜,所以如何抗干擾是工程師最為關(guān)心的話題。

為此可采用提高CAN雙絞程度、加單雙屏蔽層、使用CAN隔離模塊、弱電遠(yuǎn)離強電、優(yōu)化布線等方式以提高CAN通信抗干擾能力。同樣在采用不合理的組網(wǎng)方式時,也可能會導(dǎo)致信號反射嚴(yán)重引起信號振鈴,在總線產(chǎn)生振鈴時,其總線差模信號會反復(fù)在顯性電平和隱性電平閾值振蕩,導(dǎo)致RXD產(chǎn)生誤翻轉(zhuǎn),從而使接收數(shù)據(jù)受到干擾。

思瑞浦推出基于其自主創(chuàng)新設(shè)計振鈴抑制電路專利的車規(guī)級CAN SIC(信號改善功能,Signal Improvement Capability)TPT1462Q芯片,可有效抑制總線振鈴,允許工程師在多節(jié)點、復(fù)雜拓?fù)淝闆r下有效減少總線中的信號反射,降低振鈴現(xiàn)象發(fā)生的概率,同時TPT1462Q具有國際領(lǐng)先的抗干擾能力,即使在極其惡劣的電磁環(huán)境中,仍能維持CAN正常通信,為汽車安全通訊奠定堅實的基礎(chǔ)。

圖7、常規(guī)CAN總線振鈴干擾波形

圖8、CAN SIC振鈴抑制對比波形

總線錯誤狀態(tài)和分析

按照CAN協(xié)議的規(guī)定,CAN總線上的節(jié)點始終處于以下三種狀態(tài)之一:

  • 主動錯誤狀態(tài);
  • 被動錯誤狀態(tài);
  • 總線關(guān)閉狀態(tài);

這些狀態(tài)依靠發(fā)送錯誤計數(shù)和接收錯誤計數(shù)來管理,錯誤類型包括位錯誤、ACK錯誤、填充錯誤、CRC錯誤、格式錯誤,根據(jù)計數(shù)值決定進入何種狀態(tài)。錯誤狀態(tài)和計數(shù)值的關(guān)系如下圖所示。

圖9、單元的錯誤狀態(tài)

節(jié)點處于主動錯誤狀態(tài)下檢測到非法幀格式會主動輸出錯誤幀,錯誤幀由6個顯性位和8個隱性位組成;利用該特性可以使用示波器捕捉錯誤幀波形,分析錯誤類型和原因。

例如CAN的仲裁域波特率為500kbps時,以CANH觸發(fā)為例。選擇觸發(fā)方式為脈寬觸發(fā),觸發(fā)脈寬選擇>11μs(保證大于5個連續(xù)顯性位),觸發(fā)電平>2.5V,即可抓取錯誤幀波形。

圖10、錯誤幀波形

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
AT89C51CC03UA-SLSUM 1 Atmel Corporation Microcontroller, 8-Bit, FLASH, 8051 CPU, 60MHz, CMOS, PQCC44, GREEN, PLASTIC, LCC-44

ECAD模型

下載ECAD模型
$8.45 查看
STM32F205RCT6 1 STMicroelectronics High-performance Arm Cortex-M3 MCU with 256 Kbytes of Flash memory, 120 MHz CPU, ART Accelerator

ECAD模型

下載ECAD模型
$27.28 查看
PIC32MX795F512L-80I/PF 1 Microchip Technology Inc 32-BIT, FLASH, 80 MHz, RISC MICROCONTROLLER, PQFP100, 14 X 14 MM, 1 MM HEIGHT, LEAD FREE, PLASTIC, TQFP-100

ECAD模型

下載ECAD模型
$10.4 查看

相關(guān)推薦