感谢题主的邀请,我来说下我的看法:
在进行CAN总线故障诊断以前,我们一定要知道这条CAN总线的总线协议是什么,即每一条CAN数据代表着什么样的含义。比如说,我们现在研究的是一台汽车的CAN总线,它的总线协议规定数据1代表开车门,数据2代表开车灯。当我们向汽车CAN总线系统发送2数据后,正常情况下汽车的车灯应该打开,如果这时候不亮,那说明车子的车灯有问题。如果经过检查,汽车的车灯也没问题,那只能说明汽车的总线系统出问题了,我们需要从各个层面对其进行检修,让其能够正常的实现数据收发等工作,这就是我们进行CAN总线故障诊断的办法。如果你需要相关的USBCAN分析仪工具的话,可以前往我们的网站进行具体的咨询,欢迎来访。

汽车CAN总线故障怎么解决?CAN总线故障查找方法
CAN总线问题是一类比较普遍的问题,为了方便CAN总线问题的排查,对CAN总线的错误处理机制进行总结。
错误帧
当节点检测到错误时,节点会向总线上发送错误帧,通知其他节点当前总线有错误。错误帧由错误标志和错误界定符组成,如图1所示。并且分为主动错误状态下的错误帧和被动错误状态下的错误帧。
图1 错误帧
其中:
主动错误状态下错误帧的错误标志为6位连续的显性位,被动错误状态下错误帧的错误标志为6位连续的隐性位,错误界定符统一为8位连续的隐性位。
错误检测
CAN总线的错误类型包括位错误、填充错误、格式错误、ACK错误、CRC错误五种,错误的作用域如图2所示。其中位错误、格式错误、ACK错误属于发送节点的错误,填充错误、格式错误、CRC错误属于接收节点的错误。
图2 错误的作用域
位错误
节点将发送至总线上的电平与从总线回读的电平进行比较,如果两者不同,例如发送的是隐性位,回读到确是显性位,则节点会检测出位错误,如图3所示。有以下三种例外情况不属于位错误:

1仲裁区,节点发送隐性位,回读为显性位,这种情况表示仲裁失败。
2ACK槽,节点发送隐性位,回读为显性位,这种情况表示当前节点发送的报文至少被一个接收节点正确接收。
3该节点发送被动错误标志位,节点向总线发送被动错误标志,回读的不是六位连续的隐性位,这种情况是由于CAN总线是线与机制,被动错误标志被其他节点发送的显性位给覆盖,所以回读不是6位连续的隐性位。
进行can总线故障检测都需要哪些东西?
汽车CAN线称为汽车控制器局域网络。CAN总线就相当于汽车的中枢神经系统,是汽车里的一种通讯协议。
遇到汽车CAN线故障一般有三种情况,分别是ECU故障、CAN总线损坏故障、CAN总线上的某个节点数据发送异常或者掉线。通过分析来看,ECU和CAN总线如果没有恶意损坏的话一般不会出现故障。
所以CAN总线故障通常是由于CAN总线上的某个节点数据发送异常或者掉线所导致的,可以从节点入手来查找故障。
现在的汽车的电子控制单元主要有发动机控制系统、防抱死控制系统、中央门锁系统、悬挂控制系统、仪表管理系统、座椅调节系统等。所有子控制系统连接起来构成一个实时的控制系统。每一个子系统可以理解为连接在CAN总线上的一个节点。
汽车CAN总线故障查找及解决方法
1、把每一个节点依次往CAN总线上面连接,接一个节点后观察并测试通信状况。优点是可以零成本找出故障节点,缺点就是节点过多线路太复杂,其次是假如故障原因是各节点容抗、阻抗控制不好导致的,往往多个节点累积才会导致问题的出现。
2、有一定维修经验的技师可以根据特征电平判断错误原因,这种方法是最直接高效的。

3、可以使用CAN转换器或者接口类产品辅助排查。一般简单的故障可以使用USBCAN卡来解决,通过抓取总线上的报文来分析故障节点。
感谢邀请。
CAN总线是德国博世公司推出的一种专门应用于工业生产控制和汽车控制的总线系统,因为其数据传输速度快,抗干扰能力强等原因,受到了大家的广泛青睐。不过,它也不是十全十美的,它也需要定期的做检测和升级。为此,你需要一台能够安装相关检测软件的电脑,一类诸如ECANTOOLS那样的分析软件,能够连接电脑USB接口和CAN总线的分析仪设备,这样才能进行CAN总线的故障检测。
希望我的回答能令你满意。


