CAN
CAN 控制器局域网 Controller Area Network
1983年德国博世(Bosch)公司开发设计的;
CAN总线是一种串行数据通信协议,其通信接口中集成CAN协议的物理层和数据链路层的功能,可完成对于通信数据的成帧处理,包括位填充、数据块编码、循环冗余校验、优先级判别等工作。
1 CAN特点
特点:多主工作(不分主次)、基于优先级逐步仲裁、1v1 1v多 、1Mbps 10km
- 多主方式工作,网络上任何一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,不分主从
- 基于优先级逐位仲裁,标识符越小,优先级越高。(若两个节点同时向网络上传送数据,优先级高的报文获得总线的访问权,优先级低的报文会在下一个总线周期自动重发);
- 可以 点对点、点对多以及全局广播等方式收发数据;
- 直接通信距离 最远10km(5 kps);
- 通信速率最大1Mbps(距离最长40m);
- 节点数实际可达110个;
- 每帧数据都有CRC校验及其他检错措施,数据出错率极低;
2 CAN报文
- SOF帧起始、ID标识符、RTR远程发送请求位、标识符扩展位IDE、保留位RB0/RB1、数据场中的数据长度DLC
- 数据域0~8个字节、CRC循环冗余检验15bit、CRC界定符 CRCDEL、ACK、ACK界定符、EOF帧结束
CAN总线数据报文由如下几个部分组成:1bit的帧起始(SOF)、11bit 标准帧ID或29bit扩展帧ID,1bit标识符扩展位IDE指示其是否使用扩展格式,6bit控制域指示其后附带数据字节的长度DLC(RB0 RB1是保留位,将来可以扩展),一个CAN数据帧能携带0~8个字节的数据,数据域之后跟随16bit的CRC校验码、2bit的ACK应答场以及7个“隐形”位的帧结束(EOF)。
Answer Field确认域的作用是 在确认接收的数据时发送高电平,反之当处于发送传输消息时发送低电平。
标准帧与扩展帧格式的具体区别,可看CAN总线报文浅析 - isAndyWu - 博客园
CAN-FD
为了缩小CAN网络(max 1Mbps)与FlexRay(max 10Mbps)网络的带宽差距,博世公司提出了CAN-FD
CAN-FD(CAN with Flexible Data rate)继承CAN总线的主要特性。弥补了CAN总线带宽和数据长度的制约。
(1)可变速率
采用2种位速率:从控制场BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率。
两种速率各有一套位时间定义寄存器,除了采用不同的位时间单位TQ外,位时间各段的分配比例也可不同。
(2)新的数据场长度
CAN-FD对数据场的长度做了补充,DLC最大支持64B,在DLC<=8B时与原CAN是一样的,>8B时有一个非线性的增长,大大提高了报文中的有效数据,使得CAN-FD具有更高的传输带宽;
CAN与CAN-FD区别
CAN-FD:可以理解成CAN协议的升级版,只升级了协议,物理层未改变。
CAN与CAN-FD主要区别:传输速率不同、数据长度不同、帧格式不同、ID长度不同。
-
传输速率不同
CAN:最大传输速率1Mbps。
CAN-FD:速率可变,仲裁比特率最高1Mbps(与CAN相同),数据比特率最高8Mbps。 -
数据长度不同
CAN:一帧数据最长8字节
CAN-FD:一帧数据最长64字节。 -
帧格式不同
CAN-FD新增了FDF、BRS、ESI位。
FDF:表示CAN报文还是CAN-FD报文。
BRS:表示位速率转换,该位隐性时,速率可变(即BSR到CRC使用转换速率传输),该位为显性时,以正常的CAN-FD总线速率传输(恒定速率)。CAN FD采用了两种位速率:从控制场中的BRS位到ACK场之前(含CRC分界符)为可变速率,其余部分为原CAN总线用的速率,即仲裁段和数据控制段使用标准的通信波特率,而数据传输段时就会切换到更高的通信波特率,数据传输速率可大于。两种速率各有一套位时间定义寄存器,它们除了采用不同的位时间单位TQ外,位时间各段的分配比例也可不同。
ESI:表示发送节点状态。
CAN 2.0A 与 CAN 2.0B
- 2.0A是标准的意思,帧ID11位,也即0x000-0x7FF
- 2.0B是扩展的意思,帧ID最高29位,也即0x0000 0000-0x1FFF FFFF
CAN报文种类
在CAN总线协议中,0被定义为主导(dominant),1被定义为被动(recessive)。 这属于差分信号的一种实现,即 “0” 的电压级差异高于 “1” 的电压级差异,这样的设计可以增强 CAN 通信在噪声环境中的健壮性。
所以在 CAN 总线物理层的实际应用中,我们经常说 “0” 为显性,“1” 为隐性。
LIN
LIN总线是一种串行通信协议,主要特点如下:
主从、单线、20kbps
- 单主控制器/多从设备,无需仲裁;
- 信号传播时间可预先计算出来的确定性信号传播;
- 低成本单线实现方式;
- 传输速率最高可达20kbps;
- 通常一个LIN节点数目<12个;
主要车载通信技术对比
小知识点:
-
Drive CAN 动力CAN
-
Instrument CAN 仪表CAN
-
Infotainment CAN 娱乐CAN
-
Body CAN 车身CAN
-
Diagnostics CAN 诊断CAN
-
MOST更加适合多媒体应用的网络
-
UTP 非屏蔽双绞线