某车型车窗防夹数据刷写失败分析
2021-07-05张海波刘洪伟李雨龙
张海波,刘洪伟,曹 晶,王 健,李雨龙
(1.一汽奔腾轿车有限公司,吉林 长春 130012;2.中国第一汽车集团有限公司,吉林 长春 130012)
1 问题来源
接到某车型现生产反馈存在如下故障现象:在用EOL刷写车窗防夹数据的工程中,防夹数据刷写失败。
2 故障排查
找到故障车型,在EOL刷写防夹数据过程中采集诊断CAN和舒适CAN的报文,并对照防夹数据刷写步骤(图1),对于采集到的trace数据进行分析。
图1 EOL刷写防夹标定数据步骤
1)写完防夹标定数据以后,车门控制模块只回复7F 2E 78(等待) (图2)或完全不回复,不回复成功指令6E 3C EO。
图2 诊断规范要求
2)控制器回复两个流控帧30000A(图3)。
图3 回复两个流控帧
3)诊断CAN报文帧时间间隔小于10ms(图4)。
图4 帧间隔小于10ms
4)按照诊断规范的要求,将诊断仪发送诊断报文的帧间隔改成10ms,还会出现不成功的情况。采集EOL刷写过程中的诊断CAN报文和舒适CAN报文的帧间隔时间不同。诊断报文帧时间间隔为10ms,舒适CAN报文帧间隔时间不等。
5)用28服务将应用报文关掉,并一直发3E保持会话模式,同样会刷写失败,而且刷写失败的都是右前车门控制模块。
6)将故障车辆上的右前车门控制模块换到无故障车辆上,EOL刷写防夹数据失败;将无故障车辆的右前车门控制模块换到有故障车辆上,EOL刷写防夹数据成功。
7)用CANoe直接刷写防夹数据,可以100%成功。
3 问题分析
按照诊断规范的要求,帧间隔时间需要10ms,不论是诊断CAN还是舒适CAN。原因分析如下:最初EOL刷写防夹数据失败是因为诊断仪即EOL未按照诊断规范要求发送报文有序列错误、丢帧的情况出现,诊断仪将这些问题进行改动程序后,防夹数据刷写同样失败;通过采集到的报文数据进行分析,并且通过CANoe可以刷写防夹数据成功,最后得出EOL车门控制模块刷写防夹数据失败的主要原因为网关性能受限,不满足诊断报文转发延时设计规范要求。为了解决这个问题,用28服务将应用报文关掉,并一直保持2s发3E,但分析发现在刷写防夹数据的过程中,如果发3E报文,会将防夹数据传输打断。最后得出数据刷写过程中3E不应该被打断,车门控制模块接收防夹标定数据会被会话保持打断以及多发送一个流控帧是问题的次要原因。
4 应对措施
为了解决这个问题,在现有平台零件不变的情况下,诊断仪增加28服务,车门控制模块刷写2k的防夹数据需要时间3s,在刷写防夹标定数据的过程中,5s内不发3E会话保持命令,可以有效解决此问题。
5 总结
该问题不仅是单件的问题,也是诊断服务整个链路出现了问题,应该在项目设计前期对整个链路进行分段验证分析,这样能够避免后期所有零件功能都体现后再出现问题,解决问题时能够少走一些弯路。在后续的项目中,不论是诊断仪、网关还是车门控制模块都应该完全按照设计规范、诊断规范的要求设计程序和软件。