
一、CAN与CAN FD的看法
1、CAN是什么
控制器局域网总线(CAN,,,,,,Controller Area Network)是一种用于实时应用的串行通讯协议总线,,,,,,它可以使用双绞线来传输信号,,,,,,是天下上应用最普遍的现场总线之一。。。。。。。CAN协议用于汽车中州差别元件之间的通讯,,,,,,以此取代腾贵而粗笨的配电线束。。。。。。。该协议的结实性使其用途延伸到其他自动化和工业应用。。。。。。。CAN协议的特征包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。。。。。。。

2、CAN FD是什么
CAN FD 是CAN with Flexible Data rate的缩写,,,,,,翻译为【可变速率的 CAN】。。。。。。。也可以简朴的以为是古板CAN的升级版,,,,,,其中要说明的是,,,,,,只升级了协议,,,,,,物理层没有改变。。。。。。。
3、为什么需要CAN FD???
缘故原由主要是汽车功效越来越多,,,,,,越来越重大,,,,,,古板的CAN总线(CAN2.0)的负载率越来越高,,,,,,甚至负载率高达95%,,,,,,以及古板CAN总线还保存一些局限性。。。。。。。
古板CAN总线的局限性包括:
· 传输率最大为1Mbiy/s(典范的<= 500kbit/s);;;;;;
· 古板CAN数据帧凌驾50%的特殊开销(overhead > 50%)。。。。。。。
比照其他协议,,,,,,特殊开销比例要小得多,,,,,,如UDP (1500 bytes/datagram, 64 bytes overhead),,,,,,FlexRay(254 bytes/frame, 8 bytes overhead)。。。。。。。
尚有就是历史缘故原由,,,,,,汽车不可能直接放弃现在的古板CAN总线手艺,,,,,,重头来过。。。。。。。那么为相识决CAN总线负载率问题,,,,,,而又能兼容CAN总线,,,,,,并且研发本钱不可太高的问题,,,,,,因此在2015年最新的修订版ISO 11898-1(classic CAN和CAN FD)宣布。。。。。。。
现在的许多应用关于通讯的数据量要求越来越高,,,,,,关于通讯的速率要求也越来越高,,,,,,尤其是当速率高于1MBit/s的时间,,,,,,古板的CAN通讯是无法知足的,,,,,,以是基于这种应用的需求,,,,,,CAN FD就应运而生了。。。。。。。既然是出于这样的目的,,,,,,CANFD的泛起肯定是需要解决传输速率和传输字节的问题,,,,,,带着这样的思绪我们就可以更容易地明确CANFD协议,,,,,,以及为什么会泛起它了。。。。。。。
二、CAN与CANFD的较量
CAN与CAN-FD主要区别:传输速率差别、数据域长度差别、帧名堂差别、ID长度差别。。。。。。。
1、传输速率差别
CAN的传输速率
一样平常的工程中较量常用的为500K每秒的通讯速率。。。。。。。这个速率在现实测试的时间也是非???煽康。。。。。。。CAN总线上恣意两个节点的最大传输距离与其位速率有关。。。。。。。最大通讯距离指的是统一条总线上两个节点之间的距离。。。。。。。从下面图中,,,,,,可以看到速率越低通讯距离就越远,,,,,,也就是说CAN总线的通讯距离和波特率成反比。。。。。。。CAN最大传输速率为1Mbps

CANFD的传输速率
CAN-FD 接纳了两种位速率:从控制场中的 BRS 位到 ACK 场之前(含 CRC 分界符)为可变速率,,,,,,其余部分为原 CAN 总线用的速率。。。。。。。两种速率各有一套位时间界说寄存器,,,,,,它们除了接纳差别的位时间单位 TQ 外,,,,,,位时间各段的分派比例也可差别。。。。。。。
因此,,,,,,关于 CAN FD而言,,,,,,是在 CAN 的基础上增添了一个数据域的传输速率,,,,,,数据传输速率要大于即是原 CAN 总线用的速率。。。。。。。也就是说 CAN FD 支持两种传输速率,,,,,,两种速率可以坚持一致,,,,,,也可以不坚持一致。。。。。。。速率可变,,,,,,仲裁比特率最高1Mbps,,,,,,数据比特率最高8Mbps。。。。。。。

标准帧比照


扩展帧比照
2、数据域长度差别
CAN的数据域长度,,,,,,一帧数据最长8字节。。。。。。。CAN FD数据域长度,,,,,,一帧数据最长64字节。。。。。。。
古板CAN报文与CANFD报文的DLC长度区别如下所示:

古板CAN报文与CANFD报文的最大区别有2点,,,,,,
1、CANFD可以传输更多的数据,,,,,,
2、CANFD报文在传输中由2种传输速率完成传输,,,,,,一种是标称的CAN总线速率(用于传输非数据域的字段),,,,,,另一种是数据域传输速率(用于传输数据域的字段)。。。。。。。
3、帧名堂差别
在CAN总线上传输的信息称为报文,,,,,,当总线空闲时任何毗连的单位都可以最先发送新的报文。。。。。。。CAN通讯是通过以下5种类型的帧举行的:数据帧 、???刂 、过失帧 、过载帧 、帧距离。。。。。。。


CAN总线数据帧名堂

CAN???刂
3.1.CAN Framing 帧名堂
●标准帧
标准。。。。。。。11 ID + 0~8 bytes data)
标准远程。。。。。。。11 ID + 0 byte data)
●扩展帧
扩展。。。。。。。29 ID + 0~8 bytes data)
扩展远程。。。。。。。29 ID + 0 byte data)

●SOF:0(显性电位为 0,,,,,,隐性电位为 1,,,,,,总线空闲默以为 1),,,,,,帧起始,,,,,,吸收节点收到帧起始会和总线时钟举行同步(硬同步、重同步,,,,,,这里是硬同步)。。。。。。。
仲裁字段
ID:高位在前
RTR:远程帧请求,,,,,,远程帧为 0,,,,,,体现是数据帧,,,,,,不然是远程帧。。。。。。。远程帧批注接受该帧的节点即不自动发送数据,,,,,,当他收到远程帧时,,,,,,才最先发送数据,,,,,,镌汰占用 CAN 的通讯。。。。。。。
控制字段
IDE:体现是否是扩展帧,,,,,,IDE 为 1 是扩展帧
r:保存位
DLC:数据长度,,,,,,合理规模是 0 - 8,,,,,,凌驾则体现 8 字节
数据字段
校验字段
CRC:15位校验位
DEL(delimter):脱离符,,,,,,无意义,,,,,,为 1
确认字段
ACK:发送节点,,,,,,该位都为 1,,,,,,接受节点 CRC 准确则在 ACK 位时,,,,,,该位置置为 0,,,,,,不然照旧 1。。。。。。。若是发送节点回读 ACK 是 0,,,,,,继续发送,,,,,,不然阻止发送,,,,,,下一次发送一个过失帧。。。。。。。(下一次发送过失帧不太明确)
DEL
●EOF + ITM:竣事字段 + 帧距离

扩展帧结构
位填充:
泛起了五个相同的位(包括填充位),,,,,,就在下一个位置填充一个相反的位。。。。。。。
规模从 SOF 最先一直到 CRC。。。。。。。
帧过失检测机制
●位监控:回读发送出去的位的数据
●ACK 位:发送数据的节点回读 ACK 是 0,,,,,,继续发送,,,,,,不然意味着爆发过失阻止发送
●Stuff Check:填充检测
●CRC 检测
●Form 检测:一些脱离符 del 等
●发先帧过失后:某一个节点检查到发送或者接受的帧泛起过失,,,,,,会以发送过失帧的方法见告其他加入通讯的节点,,,,,,目今正在发送或者接受的帧是有问题的。。。。。。。

帧过失检测机制
3.2.CAN FD结构
硬件、协议稍微改动。。。。。。。CAN FD 数据段最多 64 字节。。。。。。。CAN FD 最高支持 8MB/s 的传输速率。。。。。。。CAN FD 接纳可变速率,,,,,,数据字段传输快。。。。。。。

CAN FD 没有远程帧,,,,,,只分为两种:标准。。。。。。。ū晔斗 11 位)和扩展。。。。。。。ū晔斗 29 位)

CAN FD标准帧中的数据帧

CAN FD标准帧和扩展帧结构
●SOF:帧起始
●标识符ID
●RRS 取代原来的 CAN 帧的 RTR
●IDE:体现是否是扩展帧
●FDF:体现是否是 CAN 帧照旧 CAN FD 帧
●r:保存位
●BRS(Bit Rate Switch):之后数据段传输是否变换速率,,,,,,BRS 之前属于仲裁段,,,,,,会以低速传输;;;;;;BRS 最先到 CRC 脱离符为止,,,,,,属于数据段,,,,,,可以高速传输。。。。。。。CRC 支解符之后,,,,,,由于需要 ACK 应答,,,,,,因此又变为低速传输。。。。。。。
●ESI:用来见告其余节点,,,,,,发送方的过失状态。。。。。。。
●DLC:0-8 线性体现数据长度,,,,,,9-15离散的体现数据长度。。。。。。。
●CRC:凭证差别的数据长度使用差别长度的 CRC 校验。。。。。。。CAN 使用 15 位的 CRC 校验,,,,,,且不包括填充位。。。。。。。CAN FD CRC 包括数据填充位。。。。。。。CAN FD 在 CRC 字段的前四位增添了对前面填充位的计数校验,,,,,,前面的填充同样是 5 个相同位跟一个相反的位。。。。。。。CRC 字段不适用之前的填充,,,,,,而是使用牢靠位填充,,,,,,从 CRC 字段最先位置最先填充,,,,,,每隔四个位填充一位,,,,,,每次填充的位都取前一个的相反值。。。。。。。
先统计 SOF 最先到 CRC 字段之前填充位的个数对 8 取模,,,,,,将数值以格林编码的形式存放在高三位,,,,,,最后一位偶校验位,,,,,,校验前三位。。。。。。。
当数据段大于 16 字节,,,,,,使用 21 位 CRC
当数据段小于即是 16 字节,,,,,,使用 17 位 CRC
3.3.CAN FD新增了FDF、BRS、ESI位
FDF:体现CAN报文照旧CAN-FD报文。。。。。。。
BRS:体现位速率转换,,,,,,该位隐性时,,,,,,速率可变(即BSR到CRC使用转换速率传输),,,,,,该位为显性时,,,,,,以正常的CAN-FD总线速率传输(恒定速率);;;;;;
ESI:体现发送节点状态。。。。。。。

4、ID长度差别
CAN标准帧ID长度最长11bit,,,,,,CANFD标准帧ID长度可扩展到12bit。。。。。。。
三、CAN与CANFD的优劣势
1、CAN优势
●具有实时性强、传输距离较远、抗电磁滋扰能力强、本钱低等优点;
●接纳双线串行通讯方法,,,,,,检错能力强,,,,,,可在高噪声滋扰情形中事情;
●具有优先权和仲裁功效,,,,,,多个控制???橥ü鼵AN 控制器挂到CAN-bus 上,,,,,,形成多主机局部网络;
●可凭证报文的ID决议吸收或屏障该报文;
●可靠的过失处置惩罚和检错机制;
●发送的信息遭到破损后,,,,,,可自动重发;
●节点在过失严重的情形下具有自动退出总线的功效;
●报文不包括源地点或目的地点,,,,,,仅用标记符来指示功效信息、优先级信息。。。。。。。
2、CAN弱点
纷歧致性
CAN总线各节点质量的纷歧致会引发系统瘫痪、过失、死机等问题,,,,,,以是CAN一致性测试成为包管CAN网络清静运行的主要手段。。。。。。。
不可展望性
CAN总线将节点状态分为ErrorAcTIve、Error Passive 和Bus Off 三种,,,,,,这三种状态在一定条件下可以相互转换,,,,,,差别状态中节点的发送有差别的延迟。。。。。。。另外,,,,,,由于CAN 的原子广播特点,,,,,,其它节点的发送过失或吸收过失会开启一个过失帧,,,,,,从而影响到该节点的吸收过失计数器的值,,,,,,进而影响节点状态。。。。。。。
信道蜕化梗塞
节点有可能受滋扰或其它缘故原由暂时或永世失效,,,,,,蜕化的主时机下令CAN 收发器一直发送新闻,,,,,,即所谓的Babbling ldiot 过失。。。。。。。由于该信息的名堂等均正当,,,,,,因此CAN 没有响应的机制来处置惩罚这种情形。。。。。。。
3、CAN FD的优势
CAN FD提高位速率的同时提供更短的CAN帧
●延迟时间更短.
●更好的实时性能
●更高的带宽
CAN FD可以在CAN帧中容纳从8到64字节更多的数据
●相对更少的系统开销 = 更好的数据吞吐量
●发送较大数据工具时,,,,,,软件更简朴高效

CAN FD具有更高性能的CRC算法
●降低未检测到过失的危害
●可是由于受制于产品的稳固性磨练,,,,,,刷新本钱等问题,,,,,,还没步伐快速周全普及CAN FD。。。。。。。
四、小结
总的来看,,,,,,由于现在车辆上需要的通讯数据越来越多,,,,,,而原有的CAN负载率逐年升高,,,,,,思量到古板的CAN通讯的架构已经很是的重大了,,,,,,若是将古板的所有推翻替换一个全新的通讯方法所要支付的价钱着实太大,,,,,,以是需要一个既能兼容原有的CAN通讯,,,,,,又不至于增添太高的本钱,,,,,,CAN FD就是一个折中计划,,,,,,同时还可以提高数据的传输量。。。。。。。
关注微信号,,,,,,惊喜等你来
x