如何实现CAN与CAN FD组网通信?

2021年1月27日
评论
1,383 1317字

CAN升级到CAN FD势在必行,如何实现CAN与CAN FD组网通信?

对于新能源车而言,随着局域网内节点,电控单元的功能以及节点间交互信号增多,CAN总线的局限性越来越突出,主要体现在:

1、节点以及交互信号增加,势必导致CAN网络总线负载过高,容易导致总线出错,例如低优先级的报文,由于仲裁等待时间较长,引起发送周期偏差大,导致接收节点报故障;节点多容易造成总线的分布电容大,导致位域的下降沿较缓,显性电平切换至隐性电平所需的时间增长。对信号而言就会缩短隐性电平时间,容易导致位错误,引起错误帧。

2、节点增多,导致CAN线缆长度增加,线缆中信号反射、抖动和线路延迟增大,容易导致总线出现错误帧。

3、电控单元的功能增多,势必导致软件占的存储空间更大,这意味着电控单元的软件升级时间也势必延长,影响用户体验。

在这样的背景下,将CAN升级到CAN FD势在必行,CAN FD速率最高可达8Mbps,但是出于成本和时间考虑,实际上局域网不可能所有节点同时升级到CAN FD,这样就带来了一个问题——CAN与CAN FD共存。

CAN与CAN FD是否可以正常组网通信?

根据CAN FD协议,其兼容CAN2.0,意味支持在协议层面,CAN与CAN FD是可以共存与一个网络的,只不过CAN FD节点可以接收CAN报文,而CAN节点不能接收CAN FD报文,如图1所示。

如何实现CAN与CAN FD组网通信?

图1 CAN FD与CAN

但是直接将CAN节点与CAN FD节点简单相连的话,将会导致CAN节点持续发错误帧,网络无法正常通信。

如何保证混合网络中各节点正常通信呢?

其实也很简单,在保持CAN节点的主芯片,硬件线路不变的情况下就可以实现,怎么实现呢?只需要将原有的CAN收发器替换成带有CAN FD shield功能的即可,如图2所示。

如何实现CAN与CAN FD组网通信?

图2 将原CAN收发器替换成带有CAN FD shield功能的收发器

其实现原理如下:

在拥有三个节点的局域网内,其中两个为CAN FD节点,一个为CAN节点,其中CAN节点使用的收发器具有CAN FD shield功能,如图3所示。

如何实现CAN与CAN FD组网通信?

图3 三节点局域网

首先ECU1开始发送CAN FD报文,当CAN节点的物理层检测到FDF = 1(意味着收到的报文为FD报文)时,带有CAN FD shield功能的收发器将CAN节点的接收引脚强制拉低,如图4所示。

如何实现CAN与CAN FD组网通信?

图4 CAN节点简单到FDF=1后,将RX强制拉低

同时CAN节点发送错误帧(6个显性位+错误标识符),但是该错误帧不会体现至总线上,会被收发器阻塞,因此不会影响局域网内其他节点的CAN FD报文正常收发,如图5所示。

如何实现CAN与CAN FD组网通信?

图5 CAN节点发送错误帧,被收发器阻塞

最后当CAN节点检测到一个隐性位后,将CAN节点的RX引脚释放,并且发送7个连续的隐性位,总线进行重新同步,准备下一次的发送,如图6所示。

如何实现CAN与CAN FD组网通信?

图6 CAN节点释放RX引脚,总线重新同步

最后CAN与CAN FD混合组网除了在CAN节点使用带有CANFD shield功能的收发器外,CAN与CAN FD报文的仲裁段的速率必须是500Kbps,这样CAN FD节点才能正常接收 CAN报文。

推荐阅读:

一文搞懂CAN总线的AUTOSAR网络管理

基于CAN-FD的诊断通信传输层

CAN总线基础,网络架构学习精品读物

weinxin
立即关注公众号:
1、免费领取线束设计资料包(资源); 2、进入线束技术交流专家群(进群);3、免费获取发布求职招聘信息。
车载以太网基础扫盲 网络架构

车载以太网基础扫盲

随着汽车网络开始连接车辆中的更多计算资源,转向以太网是很自然的事情。 2016年,IEEE发布了第一个汽车以太网标准IEEE 802.3bw,也称为100Base-T1。虽然100M bit / se...
XCP协议是什么?一文看懂,保证明白(上) 网络架构

XCP协议是什么?一文看懂,保证明白(上)

XCP协议在汽车电子开发中起着重要的作用,可能每天都在用,但是确并不清除XCP协议到底是什么。 本文将说明XCP协议的前世今生,并分析其具体是如何通信的,以及XCP的功能和协议内容。 为了避免文章太长...
一文看懂,Adaptive AUTOSAR从入门到精通(三) 网络架构

一文看懂,Adaptive AUTOSAR从入门到精通(三)

这篇主要分享AP中操作系统、执行管理、状态管理、通讯管理四部分内容。 操作系统 操作系统(OS)负责AP上所有应用程序的运行调度、资源管理(包括内存管理和时间控制)以及进程通信。操作系统与执行管理一起...
匿名

发表评论

匿名网友 填写信息