0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

CAN通信出现异常?可以用这些方法排查!

亿佰特物联网应用专家 2024-04-26 08:20 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

相信大家都已经很熟悉CAN总线,CAN作为一种为解决现代汽车中众多电控单元之间的数据交换而开发的多主机局部网络串行通信协议。由于其高性能、高可靠性以及独特的设计而越来越受到人们的重视,被广泛应用于诸多领域。

d2f9bdb0-0362-11ef-9118-92fbcf53809c.png

CAN总线应用环境复杂多样,可能会出现各种异常情况,下面将分析常见的CAN接口异常情况及解决方法。

1

CAN总线接线问题

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

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

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

d3132eee-0362-11ef-9118-92fbcf53809c.png

2

CAN收发器与控制器电压不匹配问题

对于使用多个电压的系统,可能会出现CAN收发器供电为5V,控制器供电电压为3.3V的情况,以TJA1050的内部结构图来看,TXD和RXD引脚输出电压都与VCC供电电压相关。

d330ad98-0362-11ef-9118-92fbcf53809c.png

TJA1050这颗收发器的供电电压一般使用5V进行供电,那么在TXD和RXD引脚上的电压就为5V。此时如果控制器供电电压为3.3V(例如使用STM32F407作为控制器),此时直接将这两颗电源轨不同的芯片直接连接,就可能因为两个芯片对高低电平的判断电压不同,从而导致通信异常。

电压不同还会导致5V电压输入到3.3V引脚拉高3.3V芯片端电压的情况发生。

3

未加终端电阻存在的问题

CAN通讯的终端电阻为120欧姆,在高速CAN通讯的过程中,可能会产生电感现象,对CAN通讯的高低电压产生影响,使得系统无法判别显性或者隐形电平。因此并联一个终端电阻,使得在阻抗高的时候电流可以从终端电阻流过,从而保证CAN通讯的正常运行。

d34b9e96-0362-11ef-9118-92fbcf53809c.png

4

通信波特率配置问题

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

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

5

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

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

亿佰特CAN设备&串口服务器设备:

d36134b8-0362-11ef-9118-92fbcf53809c.png

亿佰特自主研发的高性能CAN协议转换器/转换模块ECAN系列,可以实现CAN与串口RS232/RS485、TTL、USB、光纤、Wi-Fi等不同协议数据之间的双向转换。具有体积小巧、方便安装等特点,在CAN-BUS类产品开发、数据分析应用中具有极高的性价比,是工程应用、项目调试及产品开发的可靠助手。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    114

    文章

    17650

    浏览量

    190293
  • CAN通信
    +关注

    关注

    5

    文章

    100

    浏览量

    18800
  • 总线
    +关注

    关注

    10

    文章

    3014

    浏览量

    91311
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    线路保护光纤通道异常处理方法

    通道异常的 常见原因、处理步骤及预防措施 ,帮助运维人员快速定位问题,提升故障处理效率。 广州邮科光纤线路保护系统 一、光纤通道异常的常见表现 当线路保护光纤通道出现异常时,保护装置会通过以下方式报警: 通道告警
    的头像 发表于 11-17 10:01 413次阅读
    线路保护光纤通道<b class='flag-5'>异常</b>处理<b class='flag-5'>方法</b>

    rtthread线程出现异常了,有没有什么钩子函数能够定义用户操作?

    线程出现异常了,有没有什么钩子函数能够定义用户操作????
    发表于 09-18 06:36

    【排障帖】分享串口通信常见问题自查流程

    。 当我们面对串口通信问题时,排查过程通常可以分为几个关键步骤,这些步骤可以帮助我们系统地定位并解决问题。以下是我们
    发表于 09-10 11:45

    判断伺服行星减速机出现噪音的异常

    伺服行星减速机在正常运行时,其噪音水平应在一定范围内。若噪音突然增大或出现异常声响,如尖锐、不规则或周期性的噪音,则可能表明减速机存在故障或问题。 二、可能原因 1. 齿轮磨损: ● 长时间的使用可能导致齿轮表面磨损
    的头像 发表于 07-31 18:16 681次阅读
    判断伺服行星减速机<b class='flag-5'>出现</b>噪音的<b class='flag-5'>异常</b>

    CAN总线通信异常频发?CANBridge+帮您快速搞定!

    CAN总线通信现场,工程师们常常遇到这样的难题:实验室测试一切正常,但一到现场就频繁出现错误帧,通信异常不断,
    的头像 发表于 07-14 11:38 366次阅读
    <b class='flag-5'>CAN</b>总线<b class='flag-5'>通信</b><b class='flag-5'>异常</b>频发?CANBridge+帮您快速搞定!

    TJA1043的收发器,如果CAN总线出现异常,它会进入异常状态吗?

    关于 TJA1043 的收发器,如果 CAN 总线出现异常,它会进入异常状态吗?一旦处于异常状态,它的行为会如何?例如,可以发送数据包但无法
    发表于 04-04 07:30

    CAN总线故障排查:从问题到解决的实战案例

    视频推荐在工业现场的煤安监控网络中,CAN总线通信常因复杂环境出现数据丢失问题。本文以一起煤安监控网络中CAN总线数据丢失的故障排查案例,简
    的头像 发表于 02-28 11:37 1412次阅读
    <b class='flag-5'>CAN</b>总线故障<b class='flag-5'>排查</b>:从问题到解决的实战案例

    使用技巧 | 超声波传感器信号灯异常?快速排查方法get!

    、闪烁不定或完全不亮等。为帮助用户快速排查并解决问题,小明整理了一些常见的排查步骤和解决方法,帮助您迅速解决问题,恢复生产。明治MUD-60N-18指示灯正常状态
    的头像 发表于 02-11 07:34 1440次阅读
    使用技巧 | 超声波传感器信号灯<b class='flag-5'>异常</b>?快速<b class='flag-5'>排查</b><b class='flag-5'>方法</b>get!

    重复开机关机,有时会出现ADS1232异常,为什么?

    PWND拉低复位操作。等出现异常状态时,快速重新开关机。采样的数值依然不正确。PWND拉低复位,无效果. 4.当出现异常状态时,需要长时间断电后,重新开机。ADS1232才有可能正常 。 有没有出现这个现象的?可能是什么原因呢?
    发表于 02-11 06:44

    ADS1118低温下出现异常的原因?

    口(设置成5V,1s)每秒钟大概有5次转换进行;当我把电路板放在室外后,上述较为规律的波形就会出现异常,具体表现为某一次转换时间变长;当温度继续下降时,ADC的一次转换就无法完成,由于我的程序中有一个
    发表于 02-10 07:45

    通信控制器驱动异常原因,怎么解决

    在现代计算机系统中,通信控制器驱动扮演着至关重要的角色,它们负责在计算机操作系统与各种通信设备之间建立和维护通信链路。然而,有时通信控制器驱动可能会
    的头像 发表于 01-29 14:33 2440次阅读

    ads1298使用内部测试信号,连续读数据方式,获取的数据会不定时的出现异常数据,是哪里出了问题?

    ads1298 使用内部 测试信号,连续读数据方式,获取的数据会不定时的出现异常数据,不知道哪里出问题。
    发表于 01-23 07:56

    使用stm32的spi读取ads1256数据,ads1256正常输出数据一段时间后总会出现异常默认设置,为什么?

    使用stm32的spi读取ads1256数据,发现ads1256在正常输出数据一段时间(不确定多少时间,有时候几秒有时候一两分钟)之后,总会出现异常默认设置,表现为数据输出频率(DRDY引脚脉冲
    发表于 01-07 08:23

    如何使用Arduino实现CAN总线通信

    这些是常见的CAN控制器芯片,可以通过SPI接口与Arduino通信CAN总线转接板 :用于将CA
    的头像 发表于 12-23 09:06 2822次阅读

    使用CAN总线进行数据采集的方法

    使用CAN总线进行数据采集的方法通常涉及一系列步骤,这些步骤确保了数据的准确采集、处理和存储。以下是一个详细的方法指南: 一、了解CAN总线
    的头像 发表于 12-20 18:18 3470次阅读