CANoe软件CAN Error排查经验案例
系统模拟充电桩,和实车车辆通过枪线连接,启动充电流程,在Trace界面看到CAN1有故障,CAN Error,并且是TxError。
原因分析:
从Trace窗口截图来看,CAN通信出现了NO ack错误,一般从几个方向去排查:
1、CAN通信回路是否正常;
2、CANoe中设置的波特率;
3、有无连接两个120Ω的电阻;
4、CAN通信对应通道的pin脚连接是否正确;
5、与连接的ECU通信参数是否相同;
6、在工程运行时ECU是否处于唤醒状态;
7、CAN通信模块驱动失效;
8、CAN通信模块硬件故障;
9、VT System通信;
分以上方面进行排查,依次进行排查,从易至难,从繁至简。
1、CAN通信回路。
使用万用表测量S+和S-回路各自是否导通,是否有短路情况,是否有反接情况。系统提供了模拟S+断线、S-断线、S+S-短路、S+对PE短路、S-对PE短路的操作接口,防止由于人为操作模拟CAN通信回路故障而无法正常通信。
2、CANoe中设置的波特率,应该满足标准要求:250K bits/s,如下图:
3、120Ω终端电阻。
CAN总线两端各有120Ω的电阻,在系统下电的情况下,测试整个CAN通信回路的电阻接近60Ω。
总体CAN总线终端电阻的配置应遵循以下原则:
(1)终端电阻的配置应达到CAN总线的阻抗匹配,应使总线间的电阻等于传输线的特性阻抗。目前一般在CAN总线两端各加120Ω的电阻,如果要求更高的话,可以根据总线长度、节点数量对阻值进行微调,使总线间阻值尽量接近于60Ω;
(2)两个终端电阻应等值配置于线路相距最远的两个节点处;
(3)节点到总线间的距离应尽量短,具体容许长度受信号频率、线阻等因素的影响会有所不同。特别的,在外接诊断仪等临时性设备节点时,更应注意这点。
CAN通讯终端电阻的配置是必不可少的,加大或减小阻值都将造成通讯不稳定甚至无法正常通讯。终端电阻的位置应使CAN总线间的总阻值尽量接近于传输线特性阻抗,线路未匹配部分的长度尽量短。
4、CAN通信对应通道的pin脚连接是否正确。
系统配置4路CAN,保证系统和车辆的CAN的pin脚正确连接。
5、与连接的ECU通信参数是否相同。确认车辆侧的通信波特率也是250K。
6、在工程运行时ECU是否处于唤醒状态。
CAN总线上有两个节点,即两个ECU,通过这两个ECU进行报文相互收发。系统处于唤醒状态,CAN模块运行状态正常,认为充电机的ECU是唤醒状态。此时如果车端没有准备好,车端ECU处于休眠状态,充电机发送报文就会出现TxError错误。可以尝试先给车辆提供辅电,然后再进行CAN通信。
7、CAN通信模块驱动失效。
根据系统配置情况,在设备管理器或VT System或Vector Tool Platform中查看CAN通信模块的驱动是否正常。如果设备管理器中识别不到CAN通信模块或状态带感叹号,或者VT System和Vector Tool Platform中识别不到CAN板卡,则更新对应模块的驱动。
①、VT System检查CAN通信模块
②、Vector Tool Platform检查CAN通信模块驱动
③、设备管理器检查CAN通信模块驱动
在设备管理器中查看,会发现Vector-Hardware选项,点击之后能看到有Vector硬件信息,其中就有通信模的信息。
8、CAN通信模块硬件故障。
如果上述过程都排查了,仍然无法解决问题,则猜测CAN模块硬件故障,更换同类型模块进行测试。实际项目中遇到了VN1640其中一路CAN故障,硬件故障导致无法通信;
9、VT System通信
建议使用实时系统,防止CAN通信收到其他干扰,比如在操作某些VT System硬件板卡时,或者动作一些接触器时,对系统CAN通信造成干扰,出现CAN Error。
总结
CAN通信出现异常,从上述的9种途径去排查,最常见的故障:匹配电阻和回路不通。总体CAN总线终端电阻的配置应遵循以下原则:
(1)终端电阻的配置应达到CAN总线的阻抗匹配,应使总线间的电阻等于传输线的特性阻抗。目前一般在CAN总线两端各加120Ω的电阻,如果要求更高的话,可以根据总线长度、节点数量对阻值进行微调,使总线间阻值尽量接近于60Ω;
(2)两个终端电阻应等值配置于线路相距最远的两个节点处;
(3)节点到总线间的距离应尽量短,具体容许长度受信号频率、线阻等因素的影响会有所不同。特别的,在外接诊断仪等临时性设备节点时,更应注意这点。
CAN通讯终端电阻的配置是必不可少的,加大或减小阻值都将造成通讯不稳定甚至无法正常通讯。终端电阻的位置应使CAN总线间的总阻值尽量接近于传输线特性阻抗,线路未匹配部分的长度尽量短。
CAN通信总线故障的深入研究,要从CAN总线标准和帧格式、CAN通信机制和数据帧、CAN错误检测和错误帧等方面去考虑和研究。