当前位置: 首页 >应用方案 >技术应用 >

CAN总线通信常见问题及解决办法

CAN(Controller Area Network)是二十世纪八十年代初德国Bosch公司为解决现代汽车中众多电控单元(ECU)之间的数据交换而开发的一种多主机局部网络串行通信协议由于CAN协议具有高性能、高可靠性以及独特的设计而越来越受到人们的重视,被广泛应用于诸多领域。

1CAN总线通信常见问题及解决办法

CAN总线应用环境复杂多样可能会出现各种异常情况,下面将分析常见的CAN总线通信的接线、设备不匹配、未加终端电阻等接口常见问题及解决方法。

1、CAN总线接线问题

对于CAN收发器常见的接线错误,常见于将与CAN控制器连接的RXD和TXD接线错误,以及CAN收发器与收发器连接的CANH和CANL接线错误。

CAN收发器的TXD引脚是数据输入引脚,需要与控制器的TXD输出引脚连接,CAN收发器的RXD引脚是数据输出引脚,需要与控制器的RXD输入引脚连接,与习惯上使用Tx表示发送、Rx表示接受的RS485和RS232这些收发器的定义不同,初次接触CAN收发器的工程师,可能会根据习惯,将TXD和RXD接反,导致无法通信。

CAN收发器的CANH引脚需要与其他收发器的CANH引脚连接,CANL需要与CANL连接。将CNAH和CANL接反会导致通信异常。

2CAN总线通信常见问题及解决办法

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通讯的正常运行。

3CAN总线通信常见问题及解决办法

4、通信波特率配置问题

在设计时,我们需要考虑到我们要接入的CAN总线的总线速率,总线速率需要一致才能正常的发送和接收数据。

有时我们我们在进行测试时,我们接入的节点数量少时通信是正常的,当我们尝试接入更多的节点时,CAN网络就会崩溃。发生这种情况时,可以检查CAN总线上的数据波形,看波形是否出现变形,由于CAN控制器对控制时序要求较高,变形的波形可能导致控制器接收到的波形时序不正确,导致控制器解码失败。

5、应用中易损坏,更换芯片后正常

发生这种情况通常是由于CAN芯片的接口保护不足导致。在复杂的使用场景中,常常存在很强的电磁和静电干扰。而CAN收发器的保护能力不够就会因为外部环境影响而毁坏,这种情况下我们需要增加保护电路,或者更换具有更强保护能力的芯片。


今天的分享就到这里啦,EBYTE每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多CAN总线模块和CAN总线网关产品的更多资料,感兴趣的小伙伴可以登录我们的亿佰特官网进行了解,也可以直接拨打400电话咨询技术专员!


相关阅读:

1、CAN总线无线通信原理及特点详解

2、基于CAN报文固定协议转换器转发教程

3、CAN总线通信实现CAN报文带ID标识教程

4、如何提高CAN总线抗干扰能力?

5、CAN总线常见问题说明及汇总


联系我们:

技术支持:support@cdebyte.com      销售咨询:4000-330-990  

点击拨打: 亿佰特官网 4000-330-990