【汽车总线技术】CAN FD与CAN网络共存的解决方案

article/2025/9/28 7:35:26

1.CAN FD发展的背景介绍

随着总线技术在汽车电子领域越来越广泛和深入的应用,特别是自动驾驶技术的迅速发展,汽车电子对总线宽度和数据传输速率的要求也越来也高,传统CAN(1MBit/s,8Bytes Payload)已难以满足日益增加的需求。

因此在2012年,Bosch发布了新的CAN FD标准 (CAN with Flexible Data Rate) ,CAN FD继承了CAN的绝大多数特性,如同样的物理层,双线串行通信协议,基于非破坏性仲裁技术,分布式实时控制,可靠的错误处理和检测机制等;同时CAN FD弥补了CAN在总线带宽和数据长度方面的不足。

2015年6月30日,国际标准化组织(ISO)已经正式认可CAN FD,并无反对票通过ISO 11898-1作为国际标准草案。

2.CAN FD简介

2.1CAN FD的报文结构

CAN FD在控制场中新引入了三个位:

  • EDL位(Extended Data Length),原CAN数据帧中的保留位r, 该位功能为:
    隐性: 表示 CAN FD 报文 (采用新的 DLC 编码和 CRC 算法
    显性: 表示 CAN 报文

  • BRS位(Bit Rate Switch):该位功能为:

    隐性:表示转换可变速率
    显性:表示不转换速率

  • ESI位(Error State Indicator):该位的功能为:

    隐性:表示发送节点处于被动错误状态(Error Passive)
    显性:表示发送节点处于主动错误状态(Error Active)

图1:CAN FD的报文结构
另外,CAN FD采用新的DLC编码方式,控制场有四个位组成了数据长度码(DLC),DLC包含了扩展的有效数据长度;有效数据长度可能为12,16,20,24,32,48和64个字节,如图2所示。
图2:CAN FD的DLC编码方式

2.2CAN FD提高通信速率的方法

CAN FD提高通信速率主要是两种方法:一是提高波特率;二是提高有效载荷。
图3:CAN FD提高通信速率的方法

2.3CAN FD的优势

基于背景所述以及如上关于报文结构和提高通信速率的方法的说明,我们可以总结出一些CAN FD的优势:

  • 该协议能够支持更高的速率,可以更快的刷写ECU;
  • 在单个数据帧内传送率可达64字节,避免了经常发生的数据分拆传输的状况;
  • 对汽车行业而言,CAN-FD协议显得非常重要,CAN线束和其它物理层面元件可重新再利用;
  • 更高的带宽,在电动车以及今后的动力CAN上应用更有优势
  • 上层应用层架构不需要改变,在原来基础上扩展即可。

3. CAN与CAN FD通信的问题

因为受制于产品的稳定性考验,改造成本等问题,没法快速全面普及CAN FD。另外,在2012年底提出CAN FD到2015年中成为ISO CAN FD。也就是说目前市场上大部分都还是在用传统的CAN2.0,有一小部分用非ISO标准的CAN FD,一部分用ISO标准的CAN FD。

这样我们就都会遇到这样一个问题:传统CAN与CAN FD共存的网络中,如何解决彼此通讯?

首先,我们先来看下主要会有哪些问题:

  • 共存网络中,如何解决通讯速率和数据长度不同的冲突?
  • 如何解决非ISO CAN FD与ISO CAN FD设备的通讯问题?
  • 共存网络中,如何解决某几个设备之间交叉通讯的问题,多个切换的问题?
  • 如何解决一个设备需要同时与CAN FD节点和传统CAN节点通讯的切换问题?
  • 如何解决测试平台共用的问题?(如针对非通讯状态下的:疲劳测试,寿命测试,环境测试等,共用平台)
  • 如何对CAN FD产品做测试?

4. CAN与CAN FD通信问题的解决方法

4.1 解决通讯速率和数据长度不同的问题

这个问题里面,又会分成如下几种情况:

  1. 传统CAN节点以1Mbit/s 传输数据到 CAN FD:解决方法是可以直接通过,因为CAN FD是向下兼容CAN2.0的。
  2. CAN FD设备以8Mbit/s传输数据到传统CAN:解决方法是采用可编程CAN FD路由器:先将传统CAN FD的速率自动降为1Mbit/s再转出去。
  3. 传统CAN节点向 CAN FD节点传输8字节的数据:解决方法是可以直接通过,因为CAN FD是向下兼容CAN2.0的。
  4. CAN FD节点向传统CAN 节点传输64字节的数据:解决方法是采用可编程CAN FD路由器:预先编程并下载到路由器,CAN
    FD的数据通过路由器后可以按照预先设置的程序将数据做拆包等处理再转成8字节转发出去给传统CAN设备。

4.2 解决非ISO CAN FD与ISO CAN FD设备的通讯问题

非ISO CAN FD与 ISO CAN FD的共同点在于:传输速率一致,数据长度一致;区别在于:后者引入了一个3位的填充位计数器以及额外的校验位,另外,CRC计算值也不同。所以两者是不兼容的。因此CiA建议所有的CAN FD应用需注明ISO CAN FD或non-ISO CAN FD。

2012年底到2015年中之前有很多厂家已经开发了CAN FD产品,但是那个是非ISO标准的CAN FD产品,并且已经有少部分产品已经在市场流通。而这些非ISO产品的供应商也没法完全收回或者销毁原有产品,所以这些供应商仍然需要解决这个问题。

解决方法是采用可编程CAN FD路由器,实现两种CAN FD机制的转换。

4.3 解决多设备切换的通讯问题

未来的CAN网络,较长时间内都会存在着传统CAN与CAN FD并存的情况。部分亟需解决速率问题的节点会率先采用CAN FD技术。其他对实时要求不高的节点仍然会保存原有技术并存在着。
那么在一个共存网络中,就需要解决某几个设备之间交叉通讯的问题,多个切换的问题?以及一个设备需要同时与CAN FD节点和传统CAN节点通讯的切换问题?

举例如图4所示,一个网络中只有EMS与ABS是用CAN FD的,解决方法其实也是用CAN FD的网关;如果是EMS和ABS通信,PCAN-Router FD网关这个时候只要对CAN FD之间的数据1:1转发即可;如果是EMS或者ABS与其他ECU通信,那么这时PCAN-Router FD网关就需要将CAN FD数据切换为传统CAN再转发。

图4:多设备切换的通讯问题

4.4 解决测试平台共用的问题

CAN FD节点在进行环境测试、疲劳测试、寿命测试等的情况下,只需要测试设备本身的性能,而与通讯速率/字节数无关,因此,这几类测试可以沿用传统CAN设备的测试平台。

而CAN FD通讯性能的测试、兼容性测试等涉及到通讯机制本身,因此这类测试需要用新的CAN FD测试工具。

一个完整的测试需要同时满足以上所有测试条件。因此存在两种测试平台的交互。

解决方法也是采用Router FD可以将同一个待测的CAN FD设备连入不同的测试平台中,最终完成各项测试任务。

4.5 如何测试CAN FD产品?

关于CAN FD节点的测试,应该主要包括如下测试:

  1. CAN FD报文测试(收发机制),这个可以使用一些工具供应商提供的CAN FD总线测试工具,如德国PEAK公司的PCAN-USB
    FD硬件+PCAN-Explorer6软件或者其它公司的类似产品。
  2. CAN FD互操作性测试,互操作性测试由于涉及到各个厂家产品之间的测试,目前大部分这个测试都是通过CiA实验室来做的。
  3. CAN FD网络模拟故障测试,这个可以使用一些工具供应商提供的CAN FD总线测试工具来测试,如德国PEAK公司的PCAN-Diag FD或者其它公司的类似产品。
  4. OEM要求的其它测试,根据实际要求来选择测试工具,或者委托第三方。

5. CAN FD测试工具简介

图5:CAN FD测试工具概览

5.1 PCAN-Router FD

PCAN-Router FD是一个两路的可编程的CAN FD的网关,可以完美的解决4.1—4.4的CAN和CAN FD之间的转换问题。

5.2 PCAN-USB FD硬件+PCAN-Explorer6软件

PCAN-USB FD硬件是一路CAN FD转USB接口的CAN FD接口卡,可以将CAN FD和CAN数据通过USB传输到电脑上;结合软件PCAN-Explorer6,可以做CAN FD通信机制方面的测试;PCAN-Explorer6软件也支持DBC文件,后期还将支持XML文件,可以用于分析CAN FD报文所携带的信号,创建图形面板,生成信号的历史曲线等。

5.3 PCAN-Diag FD

PCAN-Diag FD是一个手持式的CAN/CAN FD诊断仪,具有监控CAN/CAN FD网络通信,测试终端电阻,总线负载,总线电压等功能,也能做为一个小型的示波器使用,特别适用于现场检测和排除总线故障。

5.4 PCAN-Router Pro FD

PCAN-Rouer Pro FD是1个6路的可编程的CAN FD网关,可以解决CAN和CAN FD之间的转换问题,也可以作为CAN/CAN FD记录仪使用。

6. 总结

本文总结的CAN与CAN FD之间通信的问题,在未来很长一段时间内都会存在。因此,相信我们提出的解决方案,不管是对主机厂还是零部件供应商,应该都很有实用价值。


http://chatgpt.dhexx.cn/article/I0J4oiZa.shtml

相关文章

整车CAN网络基本结构

在了解can网络之前, 先了解1个问题: 什么是智能硬件与ECU ? 何为智能硬件, 就是包含智能控制单元的硬件, 比如发动机, 发动机上有一块儿专门负责控制发动机进气量, 喷油量, 排气量的控制单元, 这块单元相当于发动机的大脑. 他具有信号发送, 信号接收, 参数存储等基本功能, 这…

CAN网络应用软件设计CANoeCANFD

CAN CAN网络应用 简单案例 典型汽车网络拓扑结构 动力CAN(1) 负责车辆动力和必须实时响应的安全相关ECU接入这条CAN 底盘动态CAN(2) 负责底盘动态控制和辅助相关的功能的ECU接入到这条CAN信息CAN(3) 负责仪…

AutoSar之CAN网络管理

本文首发于微信公众号“汽车控制与人工智能”欢迎关注。 今天整理下AUTOSAR中的CAN网络管理。 ​AUTOSAR中网络管理主要使用了CAN接口(CanIf),并提供通用网络管理接口(NmIf)。CAN网络管理在CAN架构中所处的位置如图1,与其他模块的交互如图2。 图1 CAN架构 图2 网络管理和…

can 网络管理

网络管理主要功能: 是用来管理ECU是否在网络里面,不在的话请求加入,也就是ALIVE报文,要判断是否掉线,以及睡眠状态的转换机制,以及跛行状态判,也即是RING报文。 主要的实现逻辑流程&#xff1…

CAN网络管理唤醒功能

采用1043的can 芯片:工作模式 – 正常模式 – 具有 INH 输出以及本地和远程唤醒请求功能的待机模式 – 具有 INH 输出以及本地和远程唤醒请求的低功耗睡眠模式 状态切换流程图: CAN唤醒的需求: 唤醒请求(Wake Up Request) 唤醒请求可分为两种: ● 主动唤醒请求:来自模…

关于CAN网络管理状态

首先介绍一下,我是一名刚刚入职1个月的汽车网络测试工程师,目前主要是一边学习一边跟着公司前辈做一个项目,主要的内容就是进行通信、网络、诊断方面的测试。想以文字的形式记下自己学习的一些感想或者是经验之类的,达到巩固知识的…

AutoSar之CAN网络管理详解

​AUTOSAR中网络管理主要使用了CAN接口(CanIf),并提供通用网络管理接口(NmIf)。CAN网络管理在CAN架构中所处的位置如图1,与其他模块的交互如图2。 图1 CAN架构 图2 网络管理和其他模块的联系 AUTOSAR网络管理基于分散的直接网络管理策略,这意…

CAN网络通信

1.网络层概述 1.1综述 这部分描述了网络层的整体功能。TP协议规定了用于网络节点之间交换数据的网络层通信协议,例如ECU与ECU之间,或测试设备与ECU之间。如果要传输的数据不能使用单个的CAN帧传输,则提供一种分包传输的方法。 传输通道是通信链路的物理组成部分,包含接收/传…

CAN网络管理Autosar(入门)

一,个人小心得 作为刚入门两个月汽车电子行业的软件工程师,现阶段在学习汽车组合开关的测试(主要用CANoe软件),在学习过程中总结了一些自己理解的知识点,当然也希望得到大佬们的指点。当然如果要做一个优秀…

汽车总线CAN网络分层机构 --3

CAN网络分层机构 CAN的分层结构 遵循ISO/OSI标准模型,CAN规定了分数据链路层和物理层。数据链路层又分逻辑链路控制子层LLC和媒体访问控制子层(MAC) CAN协议层 LLC子层和MAC子层的运行被“故障界定“实体监控着。错误界定是一种能区分短期干扰和永久故障的自校验…

AUTOSAR —— CAN网络管理(CanNm)

1. 网络状态 AUTOSAR网络管理节点内部有两个状态,一个是Requested - 被请求状态,另一个是Released - 被释放状态,当节点的应用层需要使用总线进行通讯的时候,会调用接口使得节点进入请求状态,当应用层没有通信需求的时…

AUTOSAR通信篇 - CAN网络通信(二:CanIf)

目录 初始化 数据发送 请求发送 发送数据流 发送缓存 发送确认 数据接收 数据接收提醒 读取接收数据 CAN控制器模式 控制器模式转换 唤醒 PDU通道模式控制 PDU通道组 PDU通道模式 总结 在上一篇,我们介绍了CAN模块,接下来我们介绍在CAN模…

整车CAN网络介绍

整车CAN网络介绍 CAN(Controller Area Network)控制器局域网络,CAN网络在早期的整车应用中以BCM(车身控制器)为控制中心,主要是车身零部件(雨刮/大灯/车窗…),智能硬件较少,所以早期的正常CAN网络把所有其他的ECU全部放在Other EC…

CAN网络基础知识_20220727

目录 通信协议 汽车网络如何进行数据的传输以及节点的通信? 高速CAN差分电压示意图 低速CAN差分电压示意图 通信协议的基本规则 通讯帧格式 数据帧结构/帧起始​编辑/仲裁场​编辑/控制场/数据场/CRC校验场 应答场/帧结束/拓展帧​/远程帧/错误帧结构/过载帧…

【CAN总线学习01】CAN网络概述

一、车载网络概述 1.1 车载网络起源及CAN诞生条件 二十世纪九十年代前,传统汽车的电器系统中各个模块之间采用点对点的通信方式,造成了庞大的布线系统,加之汽车近年来电子化、智能化趋势,独立运行的ECU足以实现电子功能。但工程…

CAN网络总线_20220720

本文提纲: 一、CAN 网络概念 二、新、老车型CAN网络对比 三、CAN网络ID规范 四、CAN网络规范 本文主要介绍了: 通过对CAN网络及其架构的学习,来对比熟悉新、老车型CAN网络架构; 学习CAN网络ID命名规范、CAN网络规范&#xf…

浅谈数据仓库维度建模

浅谈数据仓库维度建模流程 谈到Big Data就离不开数据仓库、数据集市等概念,而谈到数据仓库、数据集市,就又离不开数据仓库设计的方法,维度建模则是其中的典型。与维度建模相对立的则是范式建模,范式建模常用于传统的DB关系型数据库…

维度建模+实例

https://www.cnblogs.com/suheng01/p/13522677.html 第一步:选择业务过程 1、通过对业务需求以及可用数据源的综合考虑,确定对哪种业务过程开展建模工作 2、建立的第一个维度模型应该是一个最有影响的模型——它应该对最紧迫的业务问题作出回答&#…

数据仓库-维度建模

目录 1. 数据仓库定义 2. 数据仓库和数据库 3. 数仓分层 4. 维度建模 4.1 维度建模 VS 第三范式 4.2 维度建模设计过程 5. 粒度概念 6. 事实概念 6.1 事实表技术 7. 维度概念 7.1 维度表技术 8. 数据关系模型 8.1 星型模型 8.2 星座模型 8.3 雪花模型 9. 写在最…

维度建模详解

文章目录 1 维度设计1.1 代理键(太复杂,不推荐)1.2 稳定维度1.3 缓慢渐变维 > 拉链表1.4 维度表的拆分、合并 2 事实表设计2.1 明细事实表(dwd)2.1.2 案例:2.1.3 存储方案2.1.4 事实拉链表示例: 2.2 聚合事实表(dws)2.2.1 分类2.2.2 案例 …