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收发器逻辑信号和物理信号之间的转换采用差分电平方式
1.将逻辑数字信号转化成物理信号
2.将物理信号转换成逻辑数字信号
can高can低
即高速can和低速can,高速can系统采用硬线是动力型,速度快,适用于ABS、控制ECU等
低速can是舒适型,速度相对较慢,主要是控制仪表、防盗等
显性即差压过高然后为零 差压大于0.9v显零
隐形即无差压或者差压过低 差压小于0.5v隐1
显性0,隐性1
采用非归零编码
CAN编码采用NRZ非归零编码,相同带宽情况下,NRZ编码信息量比曼彻斯特编码更大
多个can节点并接到同一个总线时,只要其中一个节点输出低电平,总线就为低电平;当所有节点输出高电平时,总线才为高电平
can报文同步采用时钟线采样数据
can报文异步采用采样点按照约定的频率区采样数据
异步串行通信省去了时钟信号线,但遇到一个问题是:根据波特率做采样,波特率的误差会产生通信错误
波特率采样点每次出现一点偏差,后面偏差越来越大
一个标称的位时间=1/波特率
为时间分为:同步端、传播段、相位缓冲段1、相位缓冲段2
采样点在相位缓冲段1和2中提取采样
(C:\Users\10345\AppData\Roaming\Typora\typora-user-images\image-20221008212112517.png)]
1000=1024k 1位相当于一微妙
根据电磁场
和微波理论,高频电路中负载阻抗需与传输线的特性阻抗一致,否则电信号在线束端遭遇阻抗突变,产生反射现象,造成波形震荡
信号反射造成的信号不完整性,是属于直接将数据反射,不管数据反射到哪里
解决:反射都在首端或者末端进行数据传输,因此在首尾加上120欧姆,加在中间不推荐,有可能反射不到
默认协议,但是根据制造商的设定,会有偏差[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ek2aAoEn-1665659904917)(C:%5CUsers%5C10345%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20221009194714109.png#pic_center)]
分别对应ISO/OSI模型的数据链路层和物理层,完成CAN报文的收发
完成特定的功能,如信号采集或控制外设等
标准帧和扩展帧的帧起始,SOF,由一个显性位组成
在总线空闲的时候,发送节点发出帧起始,其他接收节点从这个帧起始位进行同步
控制段主要是数据长度
数据段最多八个字节
Data:Byt0-Byte7 传输时首先发送MSB(最高位)
帧结束如果连续11个隐性位组成,就代表帧空闲
全部加起来是108位
特殊情况:如果有位填充,那就要在加
CAN总线有多个节点同时要发送数据,谁先发送那?
CAN总线非破坏性仲裁机制
用相同的轨道,有序就是非破坏性仲裁机制
检测到的数据与另一条数据相遇后,被另一条数据覆盖
如果发生在其他六个段,则会报错
仲裁段的节点Bid第五位是隐性
节点A、C的为显性,总线电平为显性,节点B退出总线竞争
节点C的ID第三位是隐形
节点A的为显性,总线电平为显性,节点C退出总线竞争
如果有报文正在发送,是无法插入破坏这个帧的
**1.CRC错误:**接收节点计算的CRC值与发送CRC值不同
**2.位填充错误:**传输信号违反“位填充”规则
**3.应答错误:**发送节点在ACK阶段没有接收到应答信号
**4.位发送错误:**发送节点在发送时总线电平与发送电平不同
5.**格式错误:**传输的数据帧格式与任何一种合法的帧格式不符
**主动错误:**六个连续的显性电平位(错误标志)加上八个连续的隐形电平位(错误界定符)就是处于主动错误状态的节点发送
**被动错误:**六个连续的隐性电平位(错误标志)加上八个连续隐性电平位(错误界定符)就是处于被动错误状态的节点发送
CAN报文检测,报文记录,错误帧记录
DBC解析信号,线图绘制,仪表板功能
报文自动化脚本发送等
物理波形测量,CAN波形串行解码,CAN错误位指示等
原因:双绞线传输差分信号时受到共模信号干扰后,电平差值不变,信号解码正常
can总线规定信号的跳变沿时刻进行同步,将误差累积限制在两个跳变沿。
发送多个相同位时没有跳变沿用于同步,导致误差不断累计
解决:采用填充位在连续五个相同位后插入一个相反位,产生跳变沿,用于同步。连续五个0,插入一个1,或者连续五个1,插入一个0
经过大量实验为五个
网络上有多个节点的时候就要注意多加终端电阻的问题,会引发短路
错误类型:为错误、填充错误、格式错误、CRC错误、ACK错误
主动错误和被动错误、关闭总线三个变换条件
信号传输过程中出现到阻抗的变化,就会发生信号的反射。信号在驱动端和远端负载之间多次反射,其结果就是信号振铃
can收发器的常规检测方法:可以在给ECU上电的CAN总线空闲情况下,测量CANH和CANL对地的电压是否在2.5v左右。如果出现0v或者5v质类的,靠考虑收发器故障问题
波特率采样点:不同厂家可能使用不能的采样点,也可能是通信不良
重点考虑电磁干扰
选择一个性能好的隔离收发器,或者外部隔离器
增加CAN线缆双绞程度,保证差模信号被干扰的程度
步线将动力线缆和CAN线缆远离,抑制周期脉冲干扰
CAN端适当共模滤波器等浪涌效果好的感性防护器件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ki79jrtl-1665659265406)(C:\Users\10345\AppData\Roaming\Typora\typora-user-images\image-20221009203757163.png)]
闲情况下,测量CANH和CANL对地的电压是否在2.5v左右。如果出现0v或者5v质类的,靠考虑收发器故障问题
波特率采样点:不同厂家可能使用不能的采样点,也可能是通信不良
重点考虑电磁干扰
选择一个性能好的隔离收发器,或者外部隔离器
增加CAN线缆双绞程度,保证差模信号被干扰的程度
步线将动力线缆和CAN线缆远离,抑制周期脉冲干扰
CAN端适当共模滤波器等浪涌效果好的感性防护器件
[外链图片转存中…(img-Ki79jrtl-1665659265406)]