客户的奇葩要求—在CAN网络的基础上加入了CAN_FD的节点
1:客户的奇葩要求
最近的工作中,遇到了一个有点奇葩的事,客户需要开发一个系统,我们负责其中的一个ECU,这个系统采取的是经典11bit ID的CAN网络。
今天突然提了一个要求,说要在网络中,加入支持CAN_FD网络的ECU节点,让我们评估对目前ECU通讯的影响。
大家都知道,只有CAN_FD去兼容CAN。客户这要求,就是要我们CAN网络去兼容CAN_FD
2: 理论分析可行性
兼容性需要分别从两方面看
1:CAN帧的发送,是否影响CAN_FD帧的发送和接收
2:CAN_FD帧的发送,是否影响CAN帧的发送和接收
2.1 物理层的兼容性
**1)物理介质上的要求
在原先的CAN总线中,物理介质中的,双绞线,终端电阻,wai这些设置和CAN_FD网络中的设置,并没有特别要求。
CAN总线中的CAN_H,CAN_L,差分电压,数值要求都是一样的。外围共模电容,输入阻抗,输入阻抗等要求都一样
**2)位编码,位时序,和同步方式上也没有差异,可以兼容
结论:物理介质和收发器+外围电路上,没有特殊要求,能满足
2.2 数据链路层的兼容性
**1)首先看CAN_FD加入会不会对原有CAN网络节点的仲裁产生影响
:关于CAN总线仲裁场的一些问题_can仲裁场-CSDN博客,大家可以点击这个链接,是我之前写过的一篇文章,结论就是不会产生影响
加入的CAN_FD帧会对,CAN节点会认为产生了,“格式错误”,而格式错误会导致CAN_节点的REC(接收错误计数器+1),从而接收节点进入主动错误状态。
但是接收节点并不会进入busoff状态(REC不会进入BusOff状态),所以CAN_节点还是能够正常的接收和发送报文
3:试验分析
CAN_FD帧自身发送的影响,我的理论基础已经不够用了。现在我们来试验一下
我们使用SPY3和CANoe两个工具来进行实验
3.1 首先设置好硬件
将SPY3和CANoe两个工具的硬件,配置好
CAN_FD,数据段波特率设置为1M,这点需要注意,因为经典CAN最大的速率,就是1M
CAN和CAN_FD的采样点设置好。
然后将测试工具链接到,总线上,模拟总线上新添加了两个能发送CAN_FD帧的节点
3.2 模拟一个节点发送的情况
先开启CANoe,使用IG界面,模拟发送1帧0x111报文,BRS=0
直接报错,表示没有 ACK,CANoe自身TEC增加
我们再将0x111的报文BRS=1,看看测试结果,如下图
3.2 模拟两个节点都接入的效果
接收节点,报接收错误
发送节点报错误