CAN通信协议详解:CAN与CAN FD的区别及技术特点
CAN通信协议详解:CAN与CAN FD的区别及技术特点
CAN(Controller Area Network)总线是一种广泛应用于汽车电子和工业控制领域的串行通信协议。随着技术的发展,CAN FD(Flexible Data-rate)作为CAN的升级版本应运而生。本文将详细介绍CAN和CAN FD的主要区别,以及CAN协议的技术特点。
CAN和CAN FD的区别
传输速率:CAN线最大传输速率为1Mbps;CAN FD的传输速率更加灵活,仲裁段和数据控制段使用标准的通信波特率,而数据传输段可以切换到更高的通信波特率,最大可达8Mbps。
数据长度:CAN线一帧数据最长为8字节;CAN FD一帧数据最长可达64字节。
帧格式:CAN FD新增了FDF、BRS、ESI位。FDF用于标识报文是CAN还是CAN FD;BRS表示位速率转换,允许使用不同的位速率;ESI表示发送节点状态。
ID长度:CAN线标准帧ID长度最长为11bit;CAN FD标准帧ID长度可扩展到12bit。
兼容性:CAN FD与传统的CAN设备兼容,支持向后兼容性。
错误检测和处理:CAN FD引入了更大的CRC字段和新的错误状态码,以适应更高速率和更大数据量的传输。
应用范围:CAN FD适用于对数据传输速率和数据帧大小有较高要求的应用,如汽车网络中的高性能控制系统、自动驾驶系统等;而传统的CAN线适用于较低速率和数据传输的应用。
总的来说,CAN FD是CAN线的升级版,提供了更高的数据传输速率、更大的数据帧长度和更灵活的帧格式,同时保持了对原有CAN设备的兼容性。
CAN协议的特点
CAN协议是一种多主总线通信协议,具有以下特点:
- 高可靠性:采用非破坏性总线仲裁机制,当多个节点同时发送数据时,不会导致数据丢失。
- 实时性:通过优先级机制,确保高优先级数据优先传输。
- 错误检测和处理:具有完善的错误检测和处理机制,包括位错误、CRC错误、ACK错误等。
- 灵活的网络拓扑:支持线型、星型等多种网络拓扑结构。
ISO11898标准物理层特征
ISO11898标准定义了CAN总线的物理层规范,主要包括:
- 传输介质:通常使用双绞线作为传输介质
- 信号电平:采用差分信号传输,高电平为2V,低电平为-2V
- 位速率:标准CAN的位速率范围为0-1Mbps,CAN FD的位速率可达8Mbps
- 总线长度:位速率越高,总线长度越短。例如,1Mbps时总线长度可达40米
帧种类介绍
CAN总线支持多种类型的帧,主要包括:
- 数据帧:用于传输数据
- 远程帧:用于请求数据
- 错误帧:用于报告错误
- 过载帧:用于延长帧间隔
扩展帧是为了解决CAN标准帧的11位标识符不够用的情况;
CAN一次最多发送8个字节,CAN FD一次最多能发送64个字节。
数据帧
数据帧是CAN总线中最常见的帧类型,用于传输实际数据。其结构主要包括:
- 仲裁场:包含标识符(ID)和远程发送请求(RTR)位
- 控制场:包含数据长度码(DLC)
- 数据场:包含实际数据,长度由DLC决定
- CRC场:包含循环冗余校验码
- ACK场:用于确认
- 结束场:表示帧的结束
总线仲裁
CAN总线采用非破坏性总线仲裁机制。当多个节点同时发送数据时,根据标识符的优先级进行仲裁,优先级高的节点继续发送,优先级低的节点自动放弃发送,不会导致数据丢失。
位时序
CAN总线的位时序分为以下几个阶段:
- 同步段:所有节点同步
- 传播段:补偿信号传播延迟
- 相位缓冲段1:可调整的延时
- 相位缓冲段2:可调整的延时
这种位时序设计使得CAN总线能够适应不同的传输速率和网络条件。
本文原文来自CSDN