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类产品开发、数据分析应用中具有极高的性价比,是工程应用、项目调试及产品开发的可靠助手。

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

    关注

    112

    文章

    16095

    浏览量

    177030
  • CAN通信
    +关注

    关注

    5

    文章

    93

    浏览量

    17799
  • 总线
    +关注

    关注

    10

    文章

    2858

    浏览量

    87894
收藏 人收藏

    评论

    相关推荐

    TPA3251调大输入时,波形出现异常,是哪里出了问题?

    当调大输入时,波形出现异常,这可能是哪方面问题吗?
    发表于 10-15 06:49

    电动机出现异常噪声怎么处理

    当电动机发出异常噪声时,首先需要检查的是机械部件是否出现了问题。其中,轴承是最容易出现问题的部件之一。 轴承磨损或者损坏会导致电动机在运行过程中发出嗡嗡或者嘎吱嘎吱的声音。这种声音通常比较明显,容易
    的头像 发表于 09-14 17:19 234次阅读

    如何解决交流接触器出现异常抖动问题

    在工业控制系统中,交流接触器稳定性直接影响到整个系统的可靠性。针对交流接触器出现异常抖动问题,采取有效的措施是至关重要的。本文将详细探讨如何应对交流接触器异常抖动的问题。 首先,从电源电压的角度出发
    的头像 发表于 09-11 10:52 440次阅读

    LMV321AIDBVR在板子上面不工作,出现异常不亮灯的情况,为什么?

    LMV321AIDBVR,在板子上面不工作,出现异常不亮灯的情况,重新更换了芯片,然后就正常工作了,请问这是什么情况呢?附件有视频可提供参考,谢谢!
    发表于 08-13 07:02

    叉车can总线异常怎么解决

    ,被广泛应用于叉车控制系统中,实现了叉车各控制单元之间的高速、可靠通信。然而,在实际使用过程中,叉车CAN总线可能会出现各种异常情况,影响叉车的正常使用。 叉车
    的头像 发表于 06-16 10:56 1571次阅读

    双线磁环共模电感测试中出现异常的原因分析

    电子发烧友网站提供《双线磁环共模电感测试中出现异常的原因分析.docx》资料免费下载
    发表于 06-03 14:50 0次下载

    为什么STM32L052打开比较器,功耗出现异常

    通过MX设置,COMP1没打开时,电流3.84,打开COMP1后,电流为11.56,功耗出现异常 输入端加上拉电阻,也没什么
    发表于 05-11 06:48

    利用Motor Profiler测试电机参数时,老是出现异常的原因?

    大家好,我在利用Motor Profiler测试电机参数时,老是出现异常
    发表于 04-03 06:08

    STM32定时器DMA输出单通道和双通道输出切换出现异常的原因?

    STM32定时器DMA输出单通道和双通道输出切换出现异常
    发表于 03-26 06:44

    CAN模块RxBuffer接收异常要怎么处理呢?

    你好,我在测试CYT2B75功能的时候发现当其他中断占用过多时间的时候,CAN模块就会出现异常,设置在RxBuffer Idx 大的CAN消息无法接收到,出现异常后就算调用
    发表于 02-01 08:10

    一文看懂电感可以用大的替换小的吗

    一文看懂电感可以用大的替换小的吗 编辑:谷景电子 电感是一种特别重要的电感元件,对于电路的运行稳定电感是非常重要的。只要电路中的电感出现质量的问题或者出现损坏,就会引起电路故障。在这种情况下,我们
    的头像 发表于 01-13 21:56 703次阅读

    使用ADXL355发现数据在工作一段时间后出现异常的原因?

    近期在使用ADXL355发现数据在工作一段时间后出现异常。可确保通信正常,芯片ID检查通过。异常表现为: 1.出现异常数据保持不动,或周期跳动; 2.上电不可恢复,需要敲击恢复正常;
    发表于 12-27 08:09

    如何用示波器排查CAN的各种错误帧呢?

    如何用示波器排查CAN的各种错误帧呢? 导言: 控制器局域网络(Controller Area Network,CAN)是一种常用的现场总线通信协议,广泛应用于汽车电子系统、工业自动化
    的头像 发表于 12-07 11:09 1068次阅读

    Java怎么排查oom异常

    据量的应用中。要排查OOM异常,需要经过以下几个步骤: 理解OOM异常的原因:OOM异常通常有以下几个原因:内存泄露、内存溢出、内存不足以容纳所需的数据等。理解OOM
    的头像 发表于 12-05 13:47 1186次阅读

    sigmaStudio for SHARC在ADSP-21489编译下,Reverb模块出现异常,加载后出错怎么解决?

    sigma Studio for SHARC 在ADSP-21489编译下,Reverb,模块出现异常,加载后出错。 不知道是不是编译资源超过芯片所用资源? 加载到ADSP-21489_EZ-Board开发板后,没有声音。把Reverb模块去掉后,就正常有声音。
    发表于 11-28 07:16