CAN总线由于位填充规则对CRC的干扰,会造成错帧漏检率,从而无法达到设计意图。CAN-FD对CRC算法作了改变,即CRC以含填充位的位流进行计算。为避免在校验和部分出现6个以上连续位,即在第一位以及以后每4位添加一个填充位加以分割。这个填充位的值是上一位的反码,作为格式检查,即如果填充位不是上一位的反码,就作出错处理。
CAN-FD的CRC场扩展到了21位。由于数据场长度有很大变化区间,所以要根据DLC大小应用不同的CRC生成多项式。如CRC_17,适合于帧长小于210位的帧,而CRC_21,适合于帧长小于1023位的帧。
DLC编码
CAN-FD数据帧采用了新的DLC编码方式,在数据场长度在0~8个字节时,采用线性规则。当数据场长度为12~64个字节时,使用非线性编码。如图所示。
▲DLC线性和非线性编码
CAN-FD总线的特点
· 以差分信号进行传输,拥有出色的抗噪性能。
· 所有节点没有主从之分,总线空闲时,任意节点都可向总线发送消息。
· 非破坏性位仲裁机制,用信息内的标识符ID决定信息发送优先顺序,保证已发送数据的完整性与及时性。
· 继承自CAN总线的CAN-FD总线上的节点没有“地址”的概念,因此在总线上增加节点时,不会对总线上已有节点的软硬件及应用层造成影响。
· 可以配合网络的规模、系统的机能设定通信速度,此外两条不同通信速度总线上的节点可通过网关实现信息交互。
· 具有容错处理能力,所有的节点都可以检测出错误,检测出错误的节点会立即通知总线上其它所有的节点;正在发送消息的节点,如果检测到错误,会立即停止当前的发送,并同时不断地重复发送此消息,直到该消息发送成功为止。
· 能实现远程数据请求,通过发送“遥控帧”请求其他单元发送数据。
5、DS70000示波器总线分析
CAN-FD总线分析对示波器的需求
在CAN-FD总线解析过程中,需要观测系统噪声对总线信号传输的影响,并判断总线报错时是否由于硬件造成的以及软件编程的正确性。这对示波器的总线解析能力提出了更多的需求:
· 拥有高速采样率,清晰捕捉和显示串行模拟信号并观测其物理特性。
· 拥有较大存储深度,记录较长时间的总线控制过程。
· 丰富的触发功能及高波形捕获率,捕获到错误并对应捕获波形发掘问题根因。
· 灵活的屏幕多窗口分屏显示,同步显示解码结果与列表结果,方便观测总线数据信息。
· 具有多路总线分析功能,满足同时分析多路CAN节点的需要。
DS70000总线分析功能
串行总线通信在汽车等各领域得到了广泛应用。对于汽车制造,从制动系统到车辆导航系统,总线无处不在。要确保正常的车辆性能,保证电子控制单元(ECU)、传感器和执行器之间的通信尤为重要。除了验证总线协议的数字逻辑之外,还需要对波形质量、噪声以及传感器/执行器信号的同步测量进行模拟物理层验证。
RIGOL自主研发的DS70000示波器独特的总线分析功能具有突出的优势:
· 拥有高采样率,基于RIGOL的“凤凰座”示波器专用芯片组,实现了国内最高的20GSa/s采样率、5GHz实时带宽,更真实捕捉并还原信号。
· 拥有更大存储深度,基于RIGOL新一代UltraVision III平台,实现最大2Gpts的存储深度,在高采样率下采集更长时间的波形,满足长时间观测的要求。
· 拥有丰富的触发功能,以及可达每秒1百万次的波形刷新率,更容易捕获偶发的信号瑕疵。
· 具有强大的串行总线分析功能,支持多种主流串行总线,如RS232/UART、I2C、SPI、LIN、CAN、CAN-FD、FlexRay、I2S、MIL-STD-1553等。