CAN FD总线:CAN的升级版与协议解析

需积分: 0 0 下载量 175 浏览量 更新于2024-08-03 收藏 1.12MB DOCX 举报
"CAN FD总线技术文档详细介绍了CAN FD的背景、特点和协议结构,旨在阐述CAN FD作为CAN总线的升级版如何解决传统CAN的局限性,以及其在数据传输速率和帧格式上的改进。" 正文: CAN FD(CAN with Flexible Data rate)是一种针对经典CAN(Controller Area Network)总线的升级技术,旨在克服传统CAN在速率和数据量方面的限制。CAN FD的引入主要是因为随着汽车电子系统复杂性的增加,对通信速度和信息交换量的需求不断提升。传统CAN的最高波特率仅为1 Mbit/s,实际应用中通常限制在500 kbit/s,这已无法满足日益增长的通信需求。 CAN FD的特点体现在以下几个方面: 1. 可变传输速率:CAN FD允许在报文的某些部分(BRS位之后)提高波特率,最高可达8 Mbit/s,显著提升了数据传输速度。 2. 数据长度增加:CAN FD支持的最大数据长度从CAN的8字节增加到64字节,提供了更大的数据承载能力。 3. 帧格式改进:CAN FD帧中新增了FDF、BRS和ESI位,增强了报文的灵活性和错误检测能力。 CAN FD协议遵循的帧结构基本与CAN相同,包括帧起始、仲裁段、控制段、数据段、CRC段、ACK段和帧结束。其中的关键变化在于: 1. 帧起始:都由一个显性位表示报文的开始,起到同步作用。 2. 仲裁段:CAN FD取消了远程帧,用RRS位替代了RTR位,使得仲裁过程更加高效。IDE位仍然区分标准帧和扩展帧,而RRS位在CAN FD中始终为显性。 3. 控制段:除了IDE、res和DLC位,CAN FD增加了FDF、BRS和ESI这三个控制位。FDF位表示当前帧是否采用CAN FD格式,BRS位指示是否在报文中的某个点切换到高速模式,ESI位则用于标识错误状态。 FDF位为隐性时,表明这是一个标准的CAN帧;当FDF位为显性,且BRS位也为显性时,报文将在控制段后的数据段切换到更高的数据速率,以实现更快的数据传输。ESI位用于发送节点报告自身错误情况,如果设置为隐性,表示正常;显性则表示存在错误。 CAN FD通过提升通信速度和增加数据容量,为现代汽车和其他领域的分布式控制系统提供了更高效的通信解决方案,尤其是在实时性和可靠性要求较高的应用中。然而,这也需要硬件和软件的更新以支持新的协议标准。