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)]
1000=1024k 1位相当于一微妙
can的终端电阻与连接器
根据电磁场
和微波理论,高频电路中负载阻抗需与传输线的特性阻抗一致,否则电信号在线束端遭遇阻抗突变,产生反射现象,造成波形震荡
信号反射造成的信号不完整性,是属于直接将数据反射,不管数据反射到哪里
解决:反射都在首端或者末端进行数据传输,因此在首尾加上120欧姆,加在中间不推荐,有可能反射不到
协议推荐:
默认协议,但是根据制造商的设定,会有偏差[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ek2aAoEn-1665659904917)(C:%5CUsers%5C10345%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20221009194714109.png#pic_center)]
can终端电阻和线缆
不符合要求会造成总线波形不好之类的,影响通信
can节点物理结构
1.can控制器/收发器
分别对应ISO/OSI模型的数据链路层和物理层,完成CAN报文的收发
2.功能电路
完成特定的功能,如信号采集或控制外设等
3.主控制器与应用软件
- 控制各个硬件部件工作
- 按照CAN报文使用规则解析CAN报文;
- 采集并发送数据等
二.CAN报文
1.CAN报文帧种类
- 数据帧 用于发送节点向接收节点传送数据,是使用最多的帧类型
- 远程帧 用于接收节点向某个发送节点请求数据
- 错误帧 用于当某节点检测出错误时向其他节点通知错误的帧
- 过载帧 用于接收节点向发送节点通知自身接收能力的帧
- 帧间隔 将数据帧或远程帧与前面的帧分离的帧
2.数据帧:标准帧和扩展帧
标准帧和扩展帧的帧起始,SOF,由一个显性位组成
在总线空闲的时候,发送节点发出帧起始,其他接收节点从这个帧起始位进行同步
控制段主要是数据长度
数据段最多八个字节
Data:Byt0-Byte7 传输时首先发送MSB(最高位)
帧结束如果连续11个隐性位组成,就代表帧空闲
全部加起来是108位
特殊情况:如果有位填充,那就要在加
3.CAN总线竞争与仲裁机制
CAN总线有多个节点同时要发送数据,谁先发送那?
CAN总线非破坏性仲裁机制
- 仲裁发生在仲裁段
- 采用“线与”机制
- ID值越小,优先级越高
- 仲裁失败进入“只听”模式
用相同的轨道,有序就是非破坏性仲裁机制
非破坏仲裁机制的前提
检测到的数据与另一条数据相遇后,被另一条数据覆盖
如果发生在其他六个段,则会报错
仲裁的线与机制
显性0,隐性1
仲裁段的节点Bid第五位是隐性
节点A、C的为显性,总线电平为显性,节点B退出总线竞争
节点C的ID第三位是隐形
节点A的为显性,总线电平为显性,节点C退出总线竞争
如果有报文正在发送,是无法插入破坏这个帧的
三、CAN节点状态与错误处理机制
CAN错误类型
**1.CRC错误:**接收节点计算的CRC值与发送CRC值不同
**2.位填充错误:**传输信号违反“位填充”规则
**3.应答错误:**发送节点在ACK阶段没有接收到应答信号
**4.位发送错误:**发送节点在发送时总线电平与发送电平不同
5.**格式错误:**传输的数据帧格式与任何一种合法的帧格式不符
错误检测区域
错误帧
**主动错误:**六个连续的显性电平位(错误标志)加上八个连续的隐形电平位(错误界定符)就是处于主动错误状态的节点发送
**被动错误:**六个连续的隐性电平位(错误标志)加上八个连续隐性电平位(错误界定符)就是处于被动错误状态的节点发送
CAN节点状态
CAN的错误处理流程
四、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)]
can的总结——笑笑相关推荐
- 笑一笑十年少,大家来笑笑吧
紧张的工作学习中来点笑话吧- 我妈妈说我的智商只有76.我的智商到底有多高,我也不知道.我只知道我是一个杀伤力很强的人,很多人因我而受到伤害,他们有的对生活失去了希望,有的甚至自杀身亡.所以我一直 ...
- 暴笑笑话集(全是最新经典!)
暴笑笑话集(全是最新经典!) 1.女:"只要有钱,我嫁给谁都行."男:"银行的保险柜你嫁吗?" 2.争吵的时候,男人和女人的区别就像是手枪和机关枪的区别. 3. ...
- (只为娱乐,笑笑可了)赛龙舟
只为娱乐,笑笑可了---------------------------------------------------------- 某人云:此地有崇山峻岭,茂林修竹,又有清流激湍,映带左右,引以为 ...
- 笑笑成长记(1)--烤鱼店
这是笑笑四个月大时妈妈带她来我家玩,我们中午一起去西三旗桥东的巫山烤全鱼时拍的照片.笑笑那时候可乖了,我们一顿饭吃完她都没哭没闹.
- 笑笑成长记(4)--在张宸宇的满月宴会上
上个月我们去给赵老二家的孩子过满月,这时候笑笑8个月大,也被她妈妈带去了.午饭定在史各庄的一家饭店.我们到那时,饭店服务员看到笑笑都十分震惊,说"我的妈呀,刚过满月的孩子就长这么大个儿啦!! ...
- 实习生两分钟解决程序bug,老程序员笑笑不说话,还是太年轻?
又到一年高校毕业季,为了能实现更好就业,大学生们也是使尽了浑身解数. 从某种程度上来说,985.211高校毕业的大学生找工作要比普本院校毕业的学生要容易很多,现在也有不少985高校的毕业生已经进入了实 ...
- 生活无非就是笑笑别人,偶尔笑笑自己
许久不写了,好懒 但突然间发现人潮退去时 我 孤独了 害怕了. 如果太阳一直燃烧.如果我会一直奔跑. 这是真的.2012不会来到 人们确一直在奔跑 也许真的是这样.我们就这样不停的跑啊跑. 以为这就是 ...
- 每天多笑笑,人就更健康
俗话说笑一笑十年少,每天多笑笑,人就更健康,心情更开朗.而且据说经常笑的人还不容易失眠哦,嘿嘿,这也就是说经常保持微笑可以治疗失眠哦.你知道为什么可以治疗失眠吗?那是因为在笑的时候可以舒缓紧张.解除压 ...
- 笑笑:农民与大款谈差距
俺们刚吃上肉你们又吃菜了: 俺刚娶上媳妇你们又独身了: 俺们刚吃上糖你们又糖尿了: 俺们刚拿白纸擦屁股你们又用它擦嘴了. 俺们刚存点钱你们又买保险了. 俺们的娃子春节回家你们又开始出门旅游了. 俺们刚 ...
- 昨天7月21号,笑笑又生病了
21号从上午就开始发烧,中午吃了安瑞克烧退了, 但是下午6点左右又开始发烧了,再次吃安瑞克,效果不是太好,还是烧,睡了觉之后烧退了. 晚上十点又开始发烧,吃美林悬浮液烧还是没退,又吃安瑞克,还是烧, ...
最新文章
- MegEngine推理性能优化
- 安智armeabi 和 armeabi-v7a 的库文件增加法则
- LeetCode 2094. 找出 3 位偶数
- Linux内核空间和用户空间
- 【youcans 的 OpenCV 例程200篇】135. 形态学重建之粒度测定
- 有了它,Python编码再也不为字符集问题而发愁了!
- BZOJ.4909.[SDOI2017]龙与地下城(正态分布 中心极限定理 FFT Simpson积分)
- C#中的深度学习:了解神经网络架构
- curl php 禁用ip6,CentOS 6禁用IPv6解决curl Couldn’t resolve host或dns解析慢
- SQL 存储过程中,将串连的字符串当表用。
- Java 接口(interface)的三种类型
- 132.Function Handing 函数
- python 多线程 线程池的四种实现方式
- 【操作系统】斐讯K2 PSG1218 A2 版本22.6.512.75 刷breed+老毛子固件
- win8优化(win8优化大师设置开始界面)
- echarts 广州地图入门案例
- PHP海补知识(6)-- nl2br/ucfirst/ucwords
- A082_springcloud_微服务场景_Eureka_负载均衡
- 公会晋升计划第 2 季来啦!
- MATLAB编写黄金分割法