问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

CAN FD总线技术详解:原理、应用与未来展望

创作时间:
作者:
@小白创作中心

CAN FD总线技术详解:原理、应用与未来展望

引用
1
来源
1.
http://www.intelnect.com/knowhow/can-fd-intro/

CAN FD(Controller Area Network Flexible Data-rate)是CAN总线技术的升级版本,通过增加数据帧长度和提高传输速度,解决了传统CAN总线在现代应用中遇到的带宽瓶颈问题。本文将详细介绍CAN FD的技术特点、工作原理及其在汽车、工业自动化等领域的应用前景。

为什么选择CAN FD

CAN协议自1986年问世以来一直广受欢迎,几乎所有的移动设备(如汽车、卡车、船只、飞机和机器人)都在使用CAN总线。然而,随着现代技术的发展,传统CAN协议面临着以下挑战:

  • 车辆功能的增强导致数据量激增
  • 网络带宽限制在1 Mbit/s
  • 为应对数据增长,原始设备制造商不得不采用复杂且成本高昂的解决方案

传统CAN协议的主要问题是巨大的开销(>50%),因为每个数据帧只能包含8个字节的数据。此外,1 Mbit/s的网络速度限制了数据生成功能的实现。

什么是CAN FD?

CAN FD协议由博世公司与行业专家共同开发,并于2012年发布。经过标准化改进后,现已纳入ISO 11898-1:2015标准。需要注意的是,原博世CAN FD版本与ISO CAN FD不兼容。

CAN FD具有以下四大优势:

  1. 长度增加:支持每个数据帧最多64个数据字节,而传统CAN仅支持8个数据字节。这减少了协议开销并提高了协议效率。
  2. 速度提高:支持双比特率。标称(仲裁)比特率限制为1 Mbit/s,而数据比特率则取决于网络拓扑/收发器,最高可达5 Mbit/s。
  3. 更好的可靠性:使用改进的循环冗余校验(CRC)和“受保护的填充位计数器”,降低了未检测到错误的风险。这对于车辆和工业自动化等安全关键型应用至关重要。
  4. 平滑过渡:CAN FD和经典CAN ECU在某些条件下可以混合使用。这样可以逐步引入CAN FD节点,大大降低OEM的成本和复杂性。

实际上,与传统CAN相比,CAN FD可以将网络带宽提高3-8倍,为数据增长提供了简单的解决方案。

CAN FD如何工作?

虽然CAN FD看起来很简单——加快数据传输速度并将更多数据打包到每个消息中,但在实践中,事情并不那么简单。主要面临以下两个关键挑战:

  1. 避免严重的消息延迟:如果简单地用64字节数据打包经典CAN帧,虽然可以减少开销并简化消息解释,但也会使CAN总线阻塞更长时间,可能延迟关键任务的高优先级数据帧。
  2. 保持实用的CAN线长度:加快整个CAN消息(而不仅仅是数据阶段)会将最大长度减少到不合适的水平。因此,需要找到一种只在数据传输过程中提高速度的方法。

CAN FD帧

CAN FD协议引入了调整后的CAN数据帧,以实现额外的数据字节和灵活的比特率。下面比较11位经典CAN帧与11位CAN FD帧(也支持29位):

下面是各字段的详细解释:

  • RTR与RRS:传统CAN中使用远程传输请求(RTR)来识别数据帧和相应的远程帧。在CAN FD中,根本不支持远程帧——远程请求替换(RRS)始终占主导地位(0)。
  • r0与FDF:在经典CAN中,r0是保留且占主导地位(0)。在CAN FD中,它被命名为FDF并隐性(1)。
  • res:这个新的保留位与r0起着相同的作用——即它将来可能被设置为隐性(1)以表示新协议。
  • BRS:比特率开关(BRS)可以占主导地位(0),这意味着CAN FD数据帧以仲裁速率(即最大1 Mbit/s)发送。将其设置为隐性(1)意味着数据帧的剩余部分以更高的比特率(高达5 Mbit/s)发送。
  • ESI:错误状态指示符(ESI)位默认为显性位(0),即“错误活动”。如果发送器变为“错误被动”,它将呈隐性(1),表明其处于错误被动模式。
  • DLC:与经典CAN一样,CAN FD DLC为4位,表示帧中的数据字节数。上表显示了两种协议如何一致地使用最多8个数据字节的DLC。为了维持4位DLC,CAN FD使用9到15之间的其余7个值来表示使用的数据字节数(12、16、20、24、32、48、64)。
  • SBC:填充位计数(SBC)位于CRC之前,由3个格雷编码位和一个奇偶校验位组成。下面的固定填充位可以被视为第二奇偶校验位。添加SBC是为了提高通信可靠性。
  • CRC:循环冗余校验(CRC)在经典CAN中为15位,而在CAN FD中为17位(最多16个数据字节)或21位(针对20-64个数据字节)。在经典CAN中,CRC中可以有0到3个填充位,而在CAN FD中总是有4个固定填充位以提高通信可靠性。
  • ACK:CAN FD数据帧的数据阶段(也称为有效负载)在ACK位处停止,这也标志着潜在增加的比特率的结束。

CAN FD与CAN的开销和数据效率

虽然CAN FD的附加功能增加了许多额外的位,但通过转向64个数据字节,效率可以从50%提高到90%。通过启用比特率切换,可以将有效负载传输速度提高10倍。

混合传统CAN和CAN FD节点

经典CAN和CAN FD节点在某些条件下可以混合使用。这允许逐步迁移到CAN FD,而不必一次性切换每个ECU。

CAN FD的最大比特率

CAN FD的有效负载阶段最大比特率取决于多个因素,包括温度范围和网络拓扑。大多数多点总线网络在-40℃至+125℃的温度范围内仅限于2 Mbit/s。

CAN FD的应用

CAN FD对于以下应用至关重要:

  • 电动车:需要更高的比特率来处理新的动力系统概念
  • ECU闪烁:可以将软件更新速度提高4倍以上
  • 机器人技术:可以在单帧中发送数据以提高效率
  • ADAS与安全驾驶:增强安全驾驶的关键技术
  • 卡车和公共汽车:J1939 FD协议将显着改进商用车功能
  • 安全CAN总线:通过安全板载通信(SecOC)模块进行的CAN FD身份验证

CAN FD展望

  • 首批支持CAN FD的汽车预计将于2019/20年售出
  • 初期可能使用2 Mbit/s,逐渐过渡到5 Mbit/s
  • CANopen FD已通过CiA 1301 1.0进行调整
  • J1939-22使用CAN FD数据帧
  • CAN FD在未来的角色仍有待确定,但预计将持续发展

CAN FD与其他协议

没有带宽和有效负载要求的传统应用程序仍将使用经典CAN。CAN社区正在开发下一代CAN数据链路层,支持高达2048字节的有效负载。这种方法可以被视为10 Mbit/s以太网的替代方案。因此,CAN FD在未来将扮演什么角色仍有待确定——但它肯定会不断上升。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号