1、CAN总线的常见故障
CAN总线错误分析与解决
当CAN总线出现故障或数据传输异常时,往往会出现多种奇怪的故障现象,如仪表板显示异常,车辆无法启动,启动后无法熄灭,车辆动力性能下降,某些电控系统功能失等。
这是因为相关数据或信息是通过CAN总线传输的,如果传输失败,那么会产生多种连带故障,甚至造成整个网络系统瘫痪。
最为常见的故障症状是仪表板的显示异常,如下图所示。
在检修过程中,首先应查看具体的故障症状,根据故障症状和网络结构图来初步分析有可能是哪些原因造成的,然后使用相关的诊断仪器进行诊断,根据诊断结果制定相关检修方案,做到心中有数,目标明确。接着查找具体的故障部位和原因,同时结合相应的检测方法和测量结果找到故障点,从而彻底排除故障。由于CAN网络采用多种协议,每个控制模块的端口在正常的情况下都有标准电压,因此电压测量法可用于判断线路是否有对地或电源短路、相线间短路等问题。为了确定CAN H 或CAN L 导线是否损坏或信号是否正常,可以测量其对地电压(平均电压)。测量点通常在OBD诊断接口处。
诊断接口的6号针脚连接CAN H 导线,14号针脚连接CAN L导线。如果诊断接口上连接有两组CAN总线,那么动力CAN总线使用6号和14号针脚,舒适总线使用3号和11号针脚。诊断接口的针脚含义如下图所示。
正常情况下,当CAN总线唤醒后,CAN H 对地电压约为2.656V,CAN L 对地电压约为2.319V,而且两者相加为4.975V
CAN故障通常的原因有CAN线短路、对电源短路、对地短路、相互接反。
关键字:CAN 总线错误 常见故障
引用地址:
CAN总线错误分析与解决
推荐阅读最新更新时间:2024-11-10 08:58
速锐得解码广汽智能数字技术车型埃安Y纯电动CAN数据DBC控制策略
随着电动化、智能化、信息化、数字化、网联化、共享化技术的不断应用与汽车行业出行趋势加深,为进一步巩固关键技术优势以及稳供控本、提升盈利能力,整车厂加速推进新能源产业链垂直整合。广汽埃安就是最为杰出的代表,他们不仅布局了芯片,还布局了电池、电池材料、电驱、能源,卡位中高端电动汽车市场。 那么在广汽这一系列布局的背后都是数字化的推动,通过孵化合资公司、启动自主公司、投资与战略合作的形式,基本上达到了核心技术的掌握,从而让公司进入千亿估值的汽车头牌企业。我们都知道冰箱彩电大沙发的技术含量,为此,整车制造的核心技术才显得尤为值钱。越大的企业越注重数字技术,这点,和顶层的“构建以数据为关键要素的数字经济”不谋而合,广汽也知道数据是未来的
[嵌入式]
Keil仿真出现Can not read register xx while CPU is running
用jlink可以下载程序,可是在线仿真的时候总是出现: ***JLink Error: Could not start CPU core. (ErrorCode: -1) **JLink Warning: CPU could not be halted ***JLink Error: Can not read register 15 (R15) while CPU is running ***JLink Error: Can not read register 16 (XPSR) while CPU is running 。。。。。。 最后发现是在程序里调用了 RCC_APB2PeriphClockCmd(RC
[单片机]
(八)STM32的CAN模块实验
bxCAN是基本扩展CAN(Basic Extended CAN)的缩写,它支持CAN协议2.0A和2.0B。它的设计目标是,以最小的CPU负荷来高效处理大量收到的报文。它也支持报文发送的优先级要求(优先级特性可软件配置)。 主要特点 *****; 支持CAN协议2.0A和2.0B主动模式 *****; 波特率最高可达1兆位/秒 *****; 支持时间触发通信功能 发送 *****;3个发送邮箱 *****; 发送报文的优先级特性可软件配置 *****;记录发送SOF时刻的时间戳 接收 *****; 3级深度的2个接收FIFO *****; 14个位宽可变的过滤器组-由整个CAN共享 ***
[单片机]
CAN总线学习系列之七——CAN总线软件编程
在编写CAN总线通讯程序时,主要编写函数由初始化函数,发送函数和接收函数组成。其中发送函数一般写为主动发送函数,接收函数一般采用中断接收。下面就简单介绍一下三个函数的编写。 1 SJA1000寄存器初始化配置顺序 (1)进入复位模式,进行配置 (2)配置时钟分频寄存器,决定Peil模式还是Basic模式。 (3)配置总线定时寄存器,确定波特率。 (4)配置中断使能寄存器,决定使用那几个中断 (5)配置输出控制寄存器 (6)配置验收码和屏蔽码,决定接收哪一类节点的数据 (7)退出复位模式,进入正常工作模式。 2 发送数据顺序 (1)查询状态寄存器,判断是否正在接收,是否正在发送,是否数据缓冲区被锁。 (2)配置发送缓冲区。 (3)配置
[嵌入式]
单相电钻常见故障及排除方法
(1)电钻不启动的排除方法 ①电源线断开或开关损坏。用万用表检查,如断线,应调换电源线;如开关损坏,应修理或调换。 ②定子绕组断路或转子绕组严重断路。用万用表或检验灯检查断路故障。若定子绕组的断路点在出线处,可重焊后使用,否则要重绕定子绕组;若转子绕组有多处断路,要重绕转子绕组。 ③电刷和换向器不接触。应调整电刷压力并改善其接触面。 ④减速齿轮轧住或损坏。修理或调换齿轮。 (2)电钻转速慢的排除方法 ①转子绕组短路或断路。由于电钻转速慢,力矩也小,换向器与电刷间产生很大的火花,且火花呈红色。发现这种情况应立即停车,用短路测试器检查转子绕组是否短路,如短路要重绕转子绕组;用万用表检查换向器与绕组连接处
[测试测量]
基于PIC18单片机的CAN RS485转换器的设计
RS-485总线以双绞线为物理介质,工作在半双工的通信状态下,即同一时刻总线上只能有一个节点成为主节点而处于发送状态,其它所有节点必须处于接收状态。如果同一时刻有两个以上的节点处于发送状态,将导致所有发送方的数据发送失败,即总线冲突。 为了避免这种总线冲突问题,RS-485总线必须具备: ①以工作模式来说,一般的RS-485总线工作在主从模式下; ②从通信节点来讲,RS-485总线上的节点必须具备可以将自己的驱动器切换到高阻态的功能。 以上是为适应RS-485总线的特殊之处而采用的措施,这样同时也带来了一些不足。首先,这种总线工作方式在很多对实时性、可靠性要求高的工业控制场合有较大的局限性;其次,对驱动器实行的“发送态—高阻态
[单片机]
STM32重定向C库printf/scanf
参考例程 ///重定向c库函数printf到串口,重定向后可使用printf函数 int fputc(int ch, FILE *f) { /* 发送一个字节数据到串口 */ USART_SendData(DEBUG_USART, (uint8_t) ch); /* 等待发送完毕 */ while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); return (ch); } ///重定向c库函数scanf到串口,重写向后可使用scanf、getchar等函数 int fgetc(FILE *f) { /* 等待串口输入数据
[单片机]
关于STM8CAN产生bus-off如何自动恢复
硬件条件:STM8AF52A8、TJA1040T 软件条件:IAR 这里只是产生bus-off的一种情况:当CANH和CANL短接在一起的时候,STM8的can控制器就停止工作了,如何让CAN重新工作。 理论上:看STM8的参考手册,其中CAN主控制寄存器(CAN_MCR)的第六位ABOM可以决定CAN控制器自动退出离线状态,简单的说就是自动恢复。 按照上述手册所描述的,只要将ABOM置“1”就可以实现自动恢复。那么我们只需要简单的在CAN初始化的过程中将ABOM置“1”即可。那么就在CAN_Init(……);之后加CAN- MCR |= (uint8_t)CAN_MCR_ABOM;那么这样ABOM置“1”了。那么运行之后
[单片机]