一、故障诊断

一辆2010款大众途锐车,搭载BHR发动机,累计行驶里程约为19万km,行驶中组合仪表上的多个故障灯(电动转向助力系统故障灯、ABS故障灯、前照灯照明距离调节故障灯及空气悬架系统故障灯等)突然点亮,且组合仪表背景灯熄灭,组合仪表右下角的蓄电池电量指示灯归零,同时还伴有空调鼓风机不工作、车窗玻璃无法升降等故障现象。故障现象仅能持续几秒钟,然后一切恢复正常,故障频率不高,也没有规律,有时好几天才出现1次,有时1天出现好几次。

二、故障诊断

用故障检测仪检测,发现网关中存储有多个控制单元无通信的故障代码(图1),且这些控制单元都连接在舒适CAN总线上,由此推断该车舒适CAN总线偶尔无法正常通信。

图1 网关中存储的部分 故障代码(截屏)

该车的舒适CAN总线为低速总线,数据传输速率为100 kbit/s,采用双绞线连接,分别传递CAN-H信号和CAN-L信号。CAN-H线和CAN-L线之间没有终端电阻,两者是彼此独立工作的。低速CAN总线支持单线模式,当CAN-H线或CAN-L线其中一条导线出现故障时,比如断路、对搭铁短路或对正极短路,系统仍然可以工作;当CAN-H线和CAN-L线相互短路时,两条CAN线上的信号电压是相同的,系统会关闭CAN-L线,只使用CAN-H线通信。

如图2所示,在不发送信号时(隐形状态),CAN-H线上的电压约为0 V,CAN-L线上的电压约为5 V;当发送信号时(显性状态),CAN-H线上的电压约为4 V,CAN-L线上的电压约为1 V。

图2 正常时舒适CAN总线的信号波形(截屏)

低速CAN总线一般不容易出现无法通信的故障,毕竟CAN-H线和CAN-L线同时损坏的概率很低,还有一种可能是某个控制单元损坏,造成整个舒适CAN总线都无法通信,但具体是哪个控制单元损坏不得而知,首先得想办法采集故障出现时的数据。经过反复试车发现,在尽可能多地使用车上的电器设备(比如接通前照灯、雾灯、危险报警灯、音响和空调,反复按喇叭,以及反复升降车窗玻璃)时,故障出现的频率较高。

用pico示波器测得故障出现时舒适CAN总线的信号波形如图3所示,分析认为,CAN-H线和CAN-L线上在重复传递两组不同的电压波形,即CAN-H线在传递一组数据,与此同时CAN-L线在传递另一组完全不同的数据。用pico示波器诊断软件自带的串行译码功能对舒适CAN总线的信号波形进行译码(图4),发现CAN-H线上数据(蓝色波形)的ID为404,CAN-L线上数据(红色波形)的ID为408。由于每个ID只能对应一个控制单元,因此CAN-H线和CAN-L线上的信息是由2个控制单元分别发送的。

图3 故障出现时舒适CAN总线
的信号波形(截屏)

图4 对舒适CAN总线的信号
波形进行译码(截屏)

故障出现时CAN总线上仍能保持规律的电压波形,暂时排除线路存在问题的可能。这个故障很奇怪,由于某种原因造成CAN-H线和CAN-L线上发送的信息不一致,控制单元无法识别CAN总线上传递的信息,以致整条舒适CAN总线上的控制单元均暂时失去通信。由于没遇到过这种故障,只好仔细地分析波形,结果意外地发现舒适CAN总线偶尔处于单线模式(图5),有时是CAN-H线上的信息缺失,有时是CAN-L线上的信息缺失,另外还注意到,故障发生前会连续出现几次单线发送信息的情况。

图5 舒适CAN总线偶尔处于
单线模式(截屏)

真的有控制单元处于单线模式吗?再次用故障检测仪检测,发现前部车身控制单元、后部车身控制单元、组合仪表、网关及左后车门控制单元等中存储的故障代码“单线的舒适/便捷功能数据总线组,断路,静态”无法清除。读取网关中舒适CAN总线的通信数据流(图6),发现只有左后车门控制单元处于单线模式,其他控制单元均能正常通信。拆下左后车门内衬,测量左后车门控制单元与网关(该车的网关集成在组合仪表中)之间的舒适CAN总线是否导通,发现橙/棕色的CAN-H线断路了,“飞线”搭接左后车门控制单元与网关的CAN-H端子,所有故障代码均变为偶发状态,且舒适CAN总线的通信数据流也恢复正常,说明这就是故障原因。

图6 网关中舒适CAN总线
的通信数据流(截屏)

顺着线路查找断路点,最终在驾驶人侧B柱下方发现问题,此处CAN-H线的接点进水腐蚀(图7),上面的3根线分别连接至网关、左后车门控制单元及驾驶人侧座椅控制单元,其中网关与驾驶人侧座椅控制单元的线路连接很牢固,而左后车门控制单元的线路只是稍微挨着一点,用手轻轻一拽就掉了,说明故障是由左后车门控制单元的CAN-H线虚接引起的。为验证推断的准确性,人为将左后车门控制单元的CAN-H线断开,用故障检测仪读取故障代码,发现仍然是之前的那几个控制单元记录舒适CAN总线处于单线模式的故障信息,同时还发现,每当升降左后车窗玻璃时,之前的故障现象就会出现。

图7 CAN-H线的接点进水腐蚀

三、故障排除

修复驾驶人侧B柱下方的CAN-H线接点后反复试车,故障未再出现,交车半个月后回访客户,车辆使用一切正常,故障排除。

四、故障总结

CAN总线使用两条导线传递信息,为了消除干扰,控制单元在接收信息时使用差分信号,即用CAN-H线的电压减去CAN-L线的电压,以此确保数据能够可靠传输。舒适CAN总线进入单线模式后,抗干扰能力和容错能力下降,在网络通信繁忙时容易出现工作不正常的情况。

更多修车案例、教学视频请关注官微:

虹科Pico汽车示波器

低速 CAN 总线偶尔无法正常通信,该如何诊断?相关推荐

  1. 详解CAN总线:高速CAN总线和低速CAN总线的特性

    目录 1.高速CAN总线 1.1.电气特性 1.2.终端电阻 1.3.总线长度 1.4.布线电缆 1.5.设备数量 2.低速CAN总线 2.1.电气特性 2.2.终端电阻 2.3.总线长度 2.4.布 ...

  2. 【STM32H7教程】第94章 STM32H7的SPI总线应用之双机通信(DMA方式)

    完整教程下载地址:链接 第94章       STM32H7的SPI总线应用之双机通信(DMA方式) 本章节为大家讲解SPI DMA方式双机通信. 目录 94.1 初学者重要提示 94.2 SPI D ...

  3. STM32应用开发实践教程:基于 CAN 总线的多机通信应用开发

    5.2.1 任务分析 本任务要求设计一个基于 CAN 总线的多机通信系统,该系统须具备交互多种类型数据(如 环境温度.环境湿度和光照强度等)的能力. 发送单元对待发数据进行编码,组建 CAN 数据帧, ...

  4. 「后端小伙伴来学前端了」Vue中利用全局事件总线实现组件之间通信

    月亮啊月亮 你能照见南边,也能照见北边 照见她,你跟她说一声,就说我想她了. 前言 前一篇文章写了 vue 中利用 Props 实现组件之间的通信,那种方式是最简单也是最基础的组件之间的通信方式.父组 ...

  5. STM32应用开发实践教程:基于 RS-485 总线的多机通信应用开发

    5.1.1 任务分析 本任务要求设计一个基于 RS-485 总线的多机通信系统,系统中有两台设备(理论上最多可 接入 32 台设备).其中一台设备作为主机,连接 OLED 显示屏:另一台设备作为从机, ...

  6. 台达ASDA-B3 CAN总线位置模式简单通信

    初始化配置: 1. P1.001:设置0x0C, CANOpen模式 2. P3.000:设置CANID 3. P3.001:设置波特率 4. P1.044/P1.045:电子齿轮分子分母设置,一般分 ...

  7. 详解CAN总线:CAN总线通信优先级机制

    目录 1.数据帧和遥控帧的优先级 2.标准格式和扩展格式的优先级 在详解CAN总线:CAN总线报文格式-数据帧文章中,讲解到仲裁段.仲裁段用于写明需要发送到目的CAN节点的地址.确定发送的帧类型(当前 ...

  8. 细说汽车电子通信总线之CAN 2.0 总线协议详解

    引言 1. CAN总线发展历史与ISO规范 2. CAN总线主要功能特性 3. CAN 2.0总线协议的物理层电气特性 4. CAN 2.0总线协议消息报文详解 4.1 CAN2.0总线的通信报文帧格 ...

  9. 细说汽车电子通信总线之LIN总线协议详解

    内容提要 1. LIN总线概述 1.1 LIN总线特点及发展历史 1.2 LIN 总线协议的物理层(收发器) 2. LIN总线报文帧结构(Message Frame Structure)详解 2.1 ...

最新文章

  1. IBM Thinkpad T43-44U 升级到 2G 内存后少了 66M
  2. 机器学习之sklearn基础教程!
  3. SAP MM IV中的Duplicated Invoice Check功能的测试
  4. 【转】SAP中的FTP操作样例
  5. Oracle为什么装在XP系统,重装xp系统后oracle恢复方法
  6. C++:17---sizeof运算符
  7. 美国华裔科学家谈免疫系统真相!运动,心情胜过一切药品!
  8. 论文浅尝 | 基于知识图谱嵌入的 Bootstrapping 实体对齐方法
  9. 二进制权值计算 lsb_2020年二级计算机基础知识备考(第二章)
  10. 字符串算法 —— 两字符串相同的单词
  11. gvim 命令行粘贴_vim-如何在光标所在的行中粘贴?
  12. lecture7-序列模型及递归神经网络RNN
  13. 小D课堂 - 零基础入门SpringBoot2.X到实战_第1节零基础快速入门SpringBoot2.0_3、快速创建SpringBoot应用之手工创建web应用...
  14. C++ string append方法的常用用法
  15. 学习笔记(10):每一道试题都是有解题密码(2018年下半年信息系统项目管理师试题讲解)-用这种简单方法破解这么难的试题,我也是醉了(试题21-25)...
  16. Arduino 控制 DS1302 时钟芯片
  17. office2021相对旧版本有哪些优势?
  18. STM32F429-Discovery 编译 uclinux
  19. 使用机器学习进行语言翻译:神经网络和seq2seq为何效果非凡?
  20. VueFastDev - 前端快速开发工具 (更新树形选择器)

热门文章

  1. 虚拟现实如何让学习成为全民化体验?
  2. 峰值,平均值,准峰值检波器
  3. 计算机的应用采用进位制,为什么计算机采用二进位制运算?
  4. 深度理解特斯拉自动驾驶解决方案 3:规划与控制
  5. photon多人在线_Photon Cloud网络多人游戏开发简介
  6. Git代码管理常用指令(Git+Gerrit)
  7. 当前目录下有一个文件名为 score1.txt 的文本文件,存放着某班学生的计算机课成绩,共有学号、平时成绩、期末成绩三列。请根据平时成绩占 40%,期末成绩占 60%的比例计算总评成绩。
  8. 2019年CS224N课程笔记-Lecture 13: Contextual Word Representations and Pretraining
  9. php excel导入数组,利用PHPExcel导入xlsx/xls,将xlsx、xls转换为数组
  10. linux ubuntu编码转换,Ubuntu中的文件编码转换