CAN-FD总线协议及其车载网络应用简介
CAN及CAN-FD背景介绍
自1986年博世(Bosch)首次在SAE国际大会上展示CAN(Controller Area Network,控制器域网络)通信方案以来,这种高速、可靠、易用的通信总线就一直被汽车产业所关注,并得到了绝大多数整车厂和零部件厂的支持。经过了20多年的发展与沉淀,CAN通信目前已经成为车载网络领域最成熟、应用最广泛的通信总线之一(CAN的发展历程如图1所示)。
图1 CAN通信方案的发展历程
CAN总线通信的一些关键特性使其非常适合车载网络应用:
(1)差分信号可靠性高,抗干扰能力强,且通信介质选择灵活(双绞线、同轴电缆或光纤);
(2)通信速率最高可达1 Mbit/s(此时距离最长40 m);
(3)采用多主通信模式,当总线空闲时,任意节点均可以主动向网络其他节点发送信息;
(4)支持节点优先级设定,并采用非破坏性逐位仲裁规则解决潜在数据发送冲突;
(5)信息以广播式发送,所有节点都能接收到信息,保证网络内的数据一致性;
(6)支持完善的错误界定和处理机制,出错节点具有自动关闭退出总线的功能。
随着人们对汽车的智能化要求越来越高,汽车上装配的电子控制单元也越来越多,CAN总线通信也渐渐显现出来一些不足:
(1)最高数据传输速率限制为1 Mbit/s,车载领域实际使用速率最高为500 Kbit/s,无法满足越来越高的数据吞吐量需求;
(2)每帧报文有效数据场为8字节,仅占整帧报文信息不足50%;
(3)性能上难以应对Flexray、Ethernet等新型车载总线的威胁。
市场对提升CAN总线性能的强烈需求使CAN-FD (Flexible Data rate)应运而生,CAN-FD发扬了CAN的优点,并弥补了CAN的不足,其主要特性如下:
(1)采用与CAN通信相同的事件触发模式,软件容易开发和移植;
(2)最高数据传输速率达5Mbit/s,更好地满足要求高实时性、高数据传输速率的应用;
(3)每帧报文有效数据场为64字节,占整帧报文信息超过70%;
(4)相比Flexray、Ethernet等新兴总线成本更低。
CAN-FD的技术特点
CAN-FD通过改变帧结构和提高位速率等方法成功的把数据传输速率提高到了5Mbit/s,其基本原理如图2所示。CAN-FD协议的帧结构如图3所示。
图2 CAN-FD传输的基本原理
图3 CAN-FD协议的帧结构 (注:图片来源:Vector)
CAN与CAN-FD总线的区别:
CAN与CAN-FD总线报文格式对比:
图4 CAN与CAN-FD总线报文格式对比图 (注:图片来源:Vector)
CAN与CAN-FD总线的区别:
(1) CAN-FD整个报文帧包含两种不同的数据传输速率,从SOF到BRS(Bit Rate Switch)采用传统的50Kbps至1Mbps速率传输,从BRS到ACK场采用可变传输速率,通常为5Mbps;
图5 CAN-FD数据传输速率转换 (注:图片来源:http://www.can-cia.org/de/can-knowledge/can/can-fd/ )
(2)CAN-FD数据场有效字节数最高可达64字节;
(3)报文帧格式变化:
a) CAN-FD取消了RTR(Remote Transmission Request)位,代之以RRS(Remote Request Substitution)位,且RRS位一直为显性位;
b) CAN-FD在控制场增加了以下控制位。FDF(FD Format)或EDL(Extended Data Length):CAN格式为显性,CAN-FD格式为隐性;BRS(Bit Rate Switch):在CAN-FD报文中分隔仲裁场与数据场、转换数据传输速率为隐性、不转换数据传输速率为显性;ESI(Error State Indicator):发送节点处于被动错误状态(Error Passive)为隐性、发送节点处于主动错误状态(Error Active)为显性。
c) CAN-FD采用了新的DLC编码方式,如下图所示:
图6 CAN-FD DLC编码方式(注:图片来源:http://www.can-cia.org/de/can-knowledge/can/can-fd/)
d) CAN-FD采用了新的CRC算法:标准CAN:CRC码为15位
CAN-FD:数据场小于等于16字节,CRC码为17位;数据场大于16字节,CRC码为21位。
CAN与CAN-FD混合网络的实施:
根据CAN与CAN-FD网关特性及网络结构的不同,标准CAN与CAN-FD混合网络的实施具有一定复杂性,需要根据具体情况进行实际论证。通常建议从以下几个方面为基础进行考量:
(1)网络中存在单个CAN-FD节点:
CAN-FD节点的数据通信速率需要与网关的通信速率兼容,故采用与标准CAN网关相同的通信速率,通常为500Kbps;
(2)网络中存在多个CAN-FD节点:
采用诸如局部网络(Partial Network)的分组组网技术,实现在数据通信时局部网络节点唤醒,即CAN-FD节点间通信时,标准CAN节点不唤醒;
CAN-FD的相关厂商:
(1)CAN-FD的IC厂商
a) MCU/SOC:目
CAN-FD总线协议车载网 相关文章:
- CAN-FD 总线协议及其车载网络应用简介(12-12)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)