can的总结——笑笑

一.什么是can

can就是车用主线,贯穿整个车的存在

can的分类2

默认是高速can

低速容错can

单线can

用两种can会减少can网络语言的负载率,就是原本一个小屋做核酸,现在是两个速度翻倍。可参考均衡负载原理

can的特征

1.节点间采用多主通信方式

即任意节点都可以发送,可以实现点对点发送和全局网络发送

2.采用短帧结构,报文帧的有效字节数为8个,可达汽车实时响应要求

即字节数越少响应速度越快

3.报文ID值越小,优先级越高。报文ID可分成不同的优先级,进一步满足汽车网络报文的实时性要求

4.非破坏性总线仲裁处理机制

即两个报文进行传输,不会只接收一个会根据id大小依次接收

5.可靠的CRC校验方式,传输数据出错率极低,满足汽车数据传输的可靠性要求

6.报文帧仲裁失败或传输期间被破坏有自动重发(机制)

即会将未发送成功的报文进行重新发送

7.节点在错误严重的情况下,具有自动脱离总线的功能,切断它与总线的联系,不影响总线的正常工作

如果一直发送不成功,会自动停止发送

8.通信距离最远达10km(速度5Kbps以下)

距离越远通信质量越差

9.通信速率最高1MB/s

距离越近速率越快

10.节点数实际可达110个

11.CAN节点设计成本较低,通信介质采用双绞线

can的收发器

can收发器定义:can收发器逻辑信号和物理信号之间的转换采用差分电平方式

1.将逻辑数字信号转化成物理信号

2.将物理信号转换成逻辑数字信号

can的模式

can高can低

即高速can和低速can,高速can系统采用硬线是动力型,速度快,适用于ABS、控制ECU等

低速can是舒适型,速度相对较慢,主要是控制仪表、防盗等

can信号电平

显性即差压过高然后为零 差压大于0.9v显零

隐形即无差压或者差压过低 差压小于0.5v隐1

显性0,隐性1

can编码方式

采用非归零编码

CAN编码采用NRZ非归零编码,相同带宽情况下,NRZ编码信息量比曼彻斯特编码更大

can信号电平之线与原理

多个can节点并接到同一个总线时,只要其中一个节点输出低电平,总线就为低电平;当所有节点输出高电平时,总线才为高电平

can的异步串行通信

can报文同步采用时钟线采样数据

can报文异步采用采样点按照约定的频率区采样数据

异步串行通信省去了时钟信号线,但遇到一个问题是:根据波特率做采样,波特率的误差会产生通信错误

波特率采样点每次出现一点偏差,后面偏差越来越大

can的采样点

一个标称的位时间=1/波特率

为时间分为:同步端、传播段、相位缓冲段1、相位缓冲段2

采样点在相位缓冲段1和2中提取采样
(C:\Users\10345\AppData\Roaming\Typora\typora-user-images\image-20221008212112517.png)]
can的总结——笑笑_第1张图片
1000=1024k 1位相当于一微妙

can的终端电阻与连接器

根据电磁场

和微波理论,高频电路中负载阻抗需与传输线的特性阻抗一致,否则电信号在线束端遭遇阻抗突变,产生反射现象,造成波形震荡

信号反射造成的信号不完整性,是属于直接将数据反射,不管数据反射到哪里
can的总结——笑笑_第2张图片

解决:反射都在首端或者末端进行数据传输,因此在首尾加上120欧姆,加在中间不推荐,有可能反射不到

can的总结——笑笑_第3张图片
协议推荐:

默认协议,但是根据制造商的设定,会有偏差[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ek2aAoEn-1665659904917)(C:%5CUsers%5C10345%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20221009194714109.png#pic_center)]

can的总结——笑笑_第4张图片

can终端电阻和线缆

不符合要求会造成总线波形不好之类的,影响通信
can的总结——笑笑_第5张图片

can节点物理结构

1.can控制器/收发器

分别对应ISO/OSI模型的数据链路层和物理层,完成CAN报文的收发

2.功能电路

完成特定的功能,如信号采集或控制外设等

3.主控制器与应用软件
  • 控制各个硬件部件工作
  • 按照CAN报文使用规则解析CAN报文;
  • 采集并发送数据等
    can的总结——笑笑_第6张图片

二.CAN报文

1.CAN报文帧种类

  • 数据帧 用于发送节点向接收节点传送数据,是使用最多的帧类型
  • 远程帧 用于接收节点向某个发送节点请求数据
  • 错误帧 用于当某节点检测出错误时向其他节点通知错误的帧
  • 过载帧 用于接收节点向发送节点通知自身接收能力的帧
  • 帧间隔 将数据帧或远程帧与前面的帧分离的帧

2.数据帧:标准帧和扩展帧

can的总结——笑笑_第7张图片

标准帧和扩展帧的帧起始,SOF,由一个显性位组成

在总线空闲的时候,发送节点发出帧起始,其他接收节点从这个帧起始位进行同步

can的总结——笑笑_第8张图片
控制段主要是数据长度
can的总结——笑笑_第9张图片
数据段最多八个字节
Data:Byt0-Byte7 传输时首先发送MSB(最高位)
can的总结——笑笑_第10张图片
can的总结——笑笑_第11张图片
can的总结——笑笑_第12张图片
帧结束如果连续11个隐性位组成,就代表帧空闲
can的总结——笑笑_第13张图片can的总结——笑笑_第14张图片
全部加起来是108位
特殊情况:如果有位填充,那就要在加
can的总结——笑笑_第15张图片

3.CAN总线竞争与仲裁机制

CAN总线有多个节点同时要发送数据,谁先发送那?

CAN总线非破坏性仲裁机制

  • 仲裁发生在仲裁段
  • 采用“线与”机制
  • ID值越小,优先级越高
  • 仲裁失败进入“只听”模式

用相同的轨道,有序就是非破坏性仲裁机制

非破坏仲裁机制的前提can的总结——笑笑_第16张图片

检测到的数据与另一条数据相遇后,被另一条数据覆盖

如果发生在其他六个段,则会报错

仲裁的线与机制

can的总结——笑笑_第17张图片
显性0,隐性1

仲裁段的节点Bid第五位是隐性

节点A、C的为显性,总线电平为显性,节点B退出总线竞争

节点C的ID第三位是隐形

节点A的为显性,总线电平为显性,节点C退出总线竞争

如果有报文正在发送,是无法插入破坏这个帧的

三、CAN节点状态与错误处理机制

CAN错误类型

**1.CRC错误:**接收节点计算的CRC值与发送CRC值不同

**2.位填充错误:**传输信号违反“位填充”规则

**3.应答错误:**发送节点在ACK阶段没有接收到应答信号

**4.位发送错误:**发送节点在发送时总线电平与发送电平不同

5.**格式错误:**传输的数据帧格式与任何一种合法的帧格式不符

错误检测区域

can的总结——笑笑_第18张图片

错误帧

can的总结——笑笑_第19张图片
**主动错误:**六个连续的显性电平位(错误标志)加上八个连续的隐形电平位(错误界定符)就是处于主动错误状态的节点发送

**被动错误:**六个连续的隐性电平位(错误标志)加上八个连续隐性电平位(错误界定符)就是处于被动错误状态的节点发送

CAN节点状态can的总结——笑笑_第20张图片

CAN的错误处理流程can的总结——笑笑_第21张图片

四、CAN分析仪常用功能有那些

数据链路层测试需求

CAN报文检测,报文记录,错误帧记录

DBC解析信号,线图绘制,仪表板功能

报文自动化脚本发送等

CAN物理层测试需求

物理波形测量,CAN波形串行解码,CAN错误位指示等

五、问题

1.为什么要采用两根线(双绞线)的差分电平信号?

原因:双绞线传输差分信号时受到共模信号干扰后,电平差值不变,信号解码正常

2.如何减少波特率的误差带来的通信错误?

can总线规定信号的跳变沿时刻进行同步,将误差累积限制在两个跳变沿。

3.如果发送的数据都是0或者1,同样不跳变造成误差累积应该怎么办那?

发送多个相同位时没有跳变沿用于同步,导致误差不断累计

解决:采用填充位在连续五个相同位后插入一个相反位,产生跳变沿,用于同步。连续五个0,插入一个1,或者连续五个1,插入一个0

经过大量实验为五个

4.CAN节点供电正常,CAN工具就是接收不到CAN报文数据或报错,可能是什么原因?

网络上有多个节点的时候就要注意多加终端电阻的问题,会引发短路

错误类型:为错误、填充错误、格式错误、CRC错误、ACK错误

主动错误和被动错误、关闭总线三个变换条件

5.测试CAN物理变形,发现报文出现严重的振铃和反射现象?

信号传输过程中出现到阻抗的变化,就会发生信号的反射。信号在驱动端和远端负载之间多次反射,其结果就是信号振铃

原则:
  • 尽量缩短引线长度
  • 加粗到线、印制铜箔的宽度 通信品质,质量
  • 减小信号的传输距离 通信品质
  • 采用引线电感小的元器件等
  • 阻抗匹配

6.通信错误会不会是CAN收发器故障引起,如何判断收发器的好坏?

can收发器的常规检测方法:可以在给ECU上电的CAN总线空闲情况下,测量CANH和CANL对地的电压是否在2.5v左右。如果出现0v或者5v质类的,靠考虑收发器故障问题

7.来自相同厂家的两个CAN节点可以通信,为什么两个不同厂家的CAN节点连接通信是好是坏,甚至不能通信?

波特率采样点:不同厂家可能使用不能的采样点,也可能是通信不良

8.所有在测的ECU节点CAN功能单独测试正常,但是装车后发现CAN功能失常,可能仪表紊乱,CAN错误频发,特别是新能源车上?

重点考虑电磁干扰

选择一个性能好的隔离收发器,或者外部隔离器

增加CAN线缆双绞程度,保证差模信号被干扰的程度

步线将动力线缆和CAN线缆远离,抑制周期脉冲干扰

CAN端适当共模滤波器等浪涌效果好的感性防护器件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ki79jrtl-1665659265406)(C:\Users\10345\AppData\Roaming\Typora\typora-user-images\image-20221009203757163.png)]
闲情况下,测量CANH和CANL对地的电压是否在2.5v左右。如果出现0v或者5v质类的,靠考虑收发器故障问题

7.来自相同厂家的两个CAN节点可以通信,为什么两个不同厂家的CAN节点连接通信是好是坏,甚至不能通信?

波特率采样点:不同厂家可能使用不能的采样点,也可能是通信不良

8.所有在测的ECU节点CAN功能单独测试正常,但是装车后发现CAN功能失常,可能仪表紊乱,CAN错误频发,特别是新能源车上?

重点考虑电磁干扰

选择一个性能好的隔离收发器,或者外部隔离器

增加CAN线缆双绞程度,保证差模信号被干扰的程度

步线将动力线缆和CAN线缆远离,抑制周期脉冲干扰

CAN端适当共模滤波器等浪涌效果好的感性防护器件

[外链图片转存中…(img-Ki79jrtl-1665659265406)]

你可能感兴趣的:(网络)