You are on page 1of 7

CAN FD 介绍

随着电动汽车,无人驾驶汽车技术的快速发展,以及对汽车高级驾驶辅助系统和人
机 交 互 HMI 需 求 的 增 加 , 传 统 的 CAN 总 线 在 传 输 速 率 和 带 宽 等 方 面 越 来 越 显 得 力
不从心,其主要原因如下:
1、 通 常 整 车 CAN 网 络 负 载 大 大 超 过 推 荐 值 (50% )
2、 CAN 消 息 中 只 有 大 约 40-50% 的 带 宽 用 于 实 际 数 据 传 输
3 、 总 线 速 率 通 常 被 限 制 在 1Mbit/s , 在 实 际 使 用 中 的 速 度 更 低 , 大 多 数 情 况 下 为
500Kbit/s; 在 J1939 网 络 中 使 用 250Kbit/s
4、 最 大 总 线 速 度 受 响 应 机 制 限 制 , 即 错 误 帧 , ACK 等
5、 ACK 延 迟 = 收 发 器 延 迟 +总 线 传 播 延 迟

可 见 最 直 接 的 办 法 就 是 使 用 下 一 代 总 线 FlexRay , 这 样 可 以 一 劳 永 逸 的 解 决 这 一 难
题 。 但 如 果 将 原 来 所 有 的 CAN 节 点 全 部 升 级 为 FlexRay 节 点 , 由 此 会 带 来 巨 大 的
硬件开销,软件通讯移植开发,以及漫漫长的开发周期。人们不禁会共同产生一个
统 一 的 想 法 , 那 就 是 Make CAN fast !
CAN FD 的 出 现

为 了 缩 小 CAN 网 络 (Max:1MBit/s) 与 FlexRay(Max:10MBit/s) 网 络 的 带 宽 差 距 ,


BOSCH 推 出 了 CAN FD 方 案 。 CAN FD(CAN with Flexible Data rate) 继 承 了 CAN
总线的主要特性。
CAN 总 线 采 用 双 线 串 行 通 讯 协 议 ,基 于 非 破 坏 性 仲 裁 技 术 ,分 布 式 实 时 控 制 ,可 靠
的 错 误 处 理 和 检 测 机 制 使 CAN 总 线 有 很 高 的 安 全 性 , 但 CAN 总 线 带 宽 和 数 据 场 长
度 却 受 到 制 约 。 CAN FD 总 线 弥 补 了 CAN 总 线 带 宽 和 数 据 场 长 度 的 制 约 , CAN FD
总 线 与 CAN 总 线 的 区 别 主 要 表 现 在 :
可变速率
CAN FD 采 用 了 两 种 位 速 率 :从 控 制 场 中 的 BRS 位 到 ACK 场 之 前( 含 CRC 分 界 符 )
为 可 变 速 率 ,其 余 部 分 为 原 CAN 总 线 用 的 速 率 。两 种 速 率 各 有 一 套 位 时 间 定 义 寄 存
器 , 它 们 除 了 采 用 不 同 的 位 时 间 单 位 TQ 外 , 位 时 间 各 段 的 分 配 比 例 也 可 不 同

CAN FD 对 数 据 场 的 长 度 作 了 很 大 的 扩 充 , DLC 最 大 支 持 64 个 字 节 , 在 DLC 小 于


等 于 8 时 与 原 CAN 总 线 是 一 样 的 , 大 于 8 时 有 一 个 非 线 性 的 增 长 , 所 以 最 大 的 数
据 场 长 度 可 达 64 字 节

CAN FD 结构
与 普 通 CAN 报 文 相 同 , CAN FD 报 文 一 共 具 有 , 帧 起 始 SOF , 仲 裁 段 , 控 制 段 ,
数 据 域 , CRC 域 , ACK 域 , 帧 结 束 , 共 七 个 部 分 组 成 。
CAN 与 CANFD 使 用 相 同 的 SOF 标 志 位 来 标 志 报 文 的 起 始 。 帧起始由单个显性位构
成,标志着报文的开始,并在总线上起着同步作用

与传统 CAN 相比,CAN FD 取消了对远程帧的支持,用 RRS 位替换了 RTR 位,为常显


性。IDE 位仍为标准帧和扩展帧标志位,若标准帧与扩展帧具有相同的前 11 位 ID,那
么标准帧将会由于 IDE 位为 0,优先获得总线
控 制 域 中 CANFD 与 CAN 有 着 相 同 的 IDE , res , DLC 位 。 同 时 增 加 了 三 个 控 制 bit
位 , FDF、 BRS、 ESI
FDF(Flexible Data Rate Format):原 CAN 数据帧中的保留位 r。FDF 常为隐性,表示 CAN
FD 报文。
BRS( Bit Rate Switch):位速率转换开关,当 BRS 为显性位时数据段的位速率与仲裁段
的位速率一致,当 BRS 为隐性位时数据段的位速率高于仲裁段的位速率。
ESI(Error State Indicator):错误状态指示,主动错误时发送显性位,被动错误时发送隐
性位
CAN FD 不 仅 能 支 持 传 统 的 0-8 字 节 报 文 ,同 时 最 大 还 能 支 持 12, 16, 20, 24, 32, 48,
64 字 节

CAN FD 对 CRC 算法作了改变,即 CRC 以含填充位的位流进行计算。在校验和部分为避


免再有连续位超过 6 个,就确定在第一位以及以后每 4 位添加一个填充位加以分割,这个
填充位的值是上一位的反码,作为格式检查,如果填充位不是上一位的反码,就作出错处
理。
CAN FD 的 CRC 场扩展到了 21 位。由于数据场长度有很大变化区间,所以要根据 DLC
大小应用不同的 CRC 生成多项式,CRC 多项式如下图所示:
相比于传统 CAN,在 CAN FD 中最多可接受 2 个位时间有效的 ACK,允许 1 个额外的位
时间来补偿收发器相移和传播延迟)。EOF(End of frame)同样由连续 7 个隐性位来表示

CAN FD 特点
CAN FD 继承了 CAN 总线的主要特性,提高了 CAN 总线的网络通信带宽,改善了错误帧
漏检率,同时可以保持网络系统大部分软硬件特别是物理层不变。这种相似性使 ECU 供
应商不需要对 ECU 的软件部分做大规模修改即可升级汽车通信网络。

尽 管 CAN FD 继 承 了 绝 大 部 分 传 统 CAN 的 特 性 ,但 从 传 统 CAN 升 级 到 CAN FD 依


旧需要做很多工作:
1、 硬 件 与 工 具 : 首 先 需 要 选 取 支 持 CAN FD 的 控 制 器 和 收 发 器 , 还 需 要 采 用 新 的
网络调试和监测工具。
2、 网 络 兼 容 性 : 对 于 传 统 的 CAN 网 段 的 部 分 节 点 升 级 到 CAN FD 的 情 况 需 要 特 别
注 意 。 CAN FD 节 点 可 以 正 常 收 发 传 统 CAN 报 文 , 但 是 传 统 CAN 节 点 不 能 正 确 收
发 CAN FD 报 文 , 其 原 因 是 帧 格 式 不 一 致 , 会 导 致 传 统 CAN 节 点 发 送 错 误 帧 。

基 于 以 上 场 景 , 为 了 解 决 传 统 CAN 和 CAN FD 的 兼 容 性 问 题 , 芯 片 厂 提 出 了 一 种
解 决 方 案 ,在 传 统 CAN 节 点 上 采 用 CAN FD Shield 模 式 的 收 发 器 ,当 收 到 CAN FD
报 文 时 ,收 发 器 会 将 其 过 滤 掉 ,防 止 传 统 CAN 节 点 发 出 错 误 帧 ,从 而 实 现 网 络 的 兼
容。

参考 文献:

1、 CAN FD introduction(Vector)

2、 CAN with Flexible Data-rate( Bosch)

3、车 载网络 技术革 新-CAN FD 浅析 (控制 工程网 )

You might also like