当前位置: 华文世界 > 科技

一文告诉你,CAN与CANFD的区别

2024-05-09科技

随着汽车电子和工业自动化的迅速发展, CAN总线 所承载的设备数量和数据量大幅增加,给CAN总线带来了巨大挑战。农机、矿车等 智能调度 辅助运输设备也不例外。为了应对日益增长的数据需求和更高的带宽要求,CAN FD(CAN with Flexible Data-Rate)应运而生。那么,CAN FD与传统CAN总线有何区别?在不同的环境中,该如何选择这两种总线?

01 CAN FD与CAN的区别

CAN FD是CAN协议的一种协议升级,旨在解决传统CAN总线在数据量负荷逐渐达到极限的问题。相较于传统CAN协议,CAN FD具备了灵活的数据速率调整机制和更大的数据帧长度,主要区别体现在以下几个方面:

  • 提高位速率,提供更短的CAN帧:CAN FD支持更高的数据传输速率,最高可达8 Mbps,而传统CAN协议的最高速率为1 Mbps。

  • 更短的延迟时间和更好的实时性能:CAN FD具有更好的实时性能和更高的带宽,可在处理大量数据时缩短数据传输时间,提高系统实时性能。

  • 可容纳更多数据的CAN帧:传统CAN协议中,数据帧的最大长度为8字节,而CAN FD支持的数据帧长度最大可达64字节,极大地减少了数据帧的数量,提高了总线利用率。

  • 更高性能的 CRC 算法:CAN FD采用了更高效的CRC算法,能够更有效地检测数据帧中的错误,降低未检测到错误的风险。

  • CAN标准帧和CAN FD标准帧对比图

    CAN扩展帧和CAN FD扩展帧对比图

    0 2 如何选择这两种总线?

    尽管CAN FD在理论上提供了更高的数据传输速率和更大的数据帧长度,但在实时性能方面与传统的CAN总线并没有显著的差异。它们都采用相同的实时调度策略,即根据消息的优先级和时间戳来确定数据帧的发送顺序。因此,在实时性能方面,CAN FD并未带来明显的改进。然而,由于CAN FD支持更高的数据传输速率和更大的数据帧长度,处理大量数据时,数据传输时间会相对缩短,从而在一定程度上提高了系统的实时性能。 因此,选择CAN FD还是传统CAN总线取决于其他因素,如数据传输需求和成本考虑等。

    对于智能调度辅助运输设备,如农机、矿车等应用中,目前大多数企业仍然选择使用传统的CAN总线,正是因为其 相较于其他通信技术成本较低,且 实时性和可靠性表现并不逊色

    而对于需要更高数据传输速率和更大数据帧长度的应用或传输来说,可以选择从平的APOLLO 12二代、APOLLO 7二代等车载智能平板等支持CAN FD的设备。而为了实现基于CAN的简单、高速通信,从平同时提出了 SocketCAN 方案,如我们的APOLLO 12 PRO支持4路SocketCAN总线,可以做到 超高速率+70%负载不丢帧 。SocketCAN是一组针对Linux的开源软件组件,为处理CAN总线设备提供了一个框架。它可以通过Linux内核提供的Socket API进行CAN总线的读写操作,工作稳定、性能优异,被广泛应用于各种工业自动化和汽车领域的CAN总线控制中。