在汽车领域,特别是新能源汽车技术的发展,对汽车内部的数据传输带宽提出了越来越高的要求,因此新的总线协议CAN FD应运而生,其最大传输速率可达8Mbps。然而由于历史原因以及成本因素,在相当长的一段时间内,传统CAN节点与CAN FD节点会同时存在,本文将介绍如何使用CAN FD和传统CAN构建通讯网络。
1. CAN FD和传统CAN节点组网存在的问题
根据CAN FD协议,其与CAN 2.0A/B兼容,即支持CAN FD的节点也可以发送CAN 2.0 A/B报文,因此在同一个CAN通讯网络中,允许同时存在CAN FD节点和CAN 2.0 A/B节点。但是CAN 2.0A/B节点无法发送和接收CAN FD报文,如果不采取措施,将会导致CAN 2.0A/B节点持续发送错误帧,导致网络无法正常工作。
如下图所示,该网络中包含了2个CAN FD节点和传统的CAN 2.0A/B节点。为了保证网络正常工作,需要在2个传统的CAN节点中使用带有CAN FD屏蔽功能的收发器。
在该网络中,CAN FD节点可以正常收发CAN 2.0和CAN FD报文。发送CAN FD报文时,控制场的FDF=1,表示该报文为CAN FD帧,同时BRS根据需求设置可以实现数据场传输数据率的切换。当BRS=0时数据段的位速率与仲裁段的位速率一致,当BRS=1时数据段的位速率高于仲裁段的位速率:
CAN2.0节点由于使用了带有CAN FD屏蔽功能的收发器,在CAN FD节点发送CAN FD报文时,会在物理层检测到FDF=1,进而给节点MCU发送6个显性位,制造填充错误,然后产生被动错误标志帧,但是不会影响其他的CAN网络节点正常收发CAN FD报文数据:
CAN FD屏蔽收发器将在CAN FD报文的ACK场释放与MCU连接的RXD引脚,从而RXD可以正常响应总线:
2. 该组网方式的缺点
在这样的网络中,传统CAN节点将CAN FD报文丢弃,不会把它识别为错误帧,但是也无法解析CAN FD报文,因此这样的网络可以正常通信,但是CAN FD报文只能在支持CAN FD的节点间进行数据通信,具有一定的局限性。
由于历史条件的限制,并不是所有汽车厂商的ECU都能全部切换到CAN FD,特别是国内厂商,CAN FD技术还不成熟,因此CAN FD节点和传统CAN节点同时存在的状态会持续相当长的时间,本文介绍的混合组网技术也为当前的CAN网络提供了一个思路。相信随着国内技术的成熟,CAN FD会慢慢取代传统CAN,为汽车提供性能更加强大的通讯网络。