CAN总线竞争与仲裁机制分析

news/2024/11/15 7:27:40/

1、CAN总线的接口

在这里插入图片描述

(1)CAN总线是串行、差分信号、异步总线,传输数据用两根信号线组成的差分信号线;
(2)CANH和CANL是一组双绞线,两根线的电平差值表示逻辑1和0;

2、CAN总线显性、隐形电平

在这里插入图片描述

显性电平代表逻辑0,隐形电平代表逻辑1;不同协议版本对显性、隐形电平的定义有区别;

3、电平优先级

在这里插入图片描述

(1)CAN总线的高低电平状态,逻辑上是各个节点电平相与,即所有节点输出高电平CAN总线是高电平,只要有一个节点输出低电平,那CAN总线就是低电平;
(2)在电学上,地的优先级是最高的,图片上面的情况CAN总线是高电平,但是只要有一个节点接地,那总线就会变成低电平;
结论:显性电平优先级高于隐形电平;

4、CAN总线仲裁

4.1、CAN总线仲裁介绍

在这里插入图片描述

(1)当同时有两个及以上设备想使用总线时,由于总线同时只允许一个设备进行操作,所以需要进行总线仲裁,仲裁胜出的设备可以使用总线,没有得到使用权的设备只能监听总线上的数据;
(2)总线仲裁只发生在总线空闲时有多个设备同时竞争的情况下,如果当前总线已经有设备在使用,是不存在总线仲裁的;
(3)总线仲裁在协议层是通过帧ID来进行仲裁的,帧ID越小,优先级越高;
(4)CAN总线是非破坏性总裁,总裁过程是不会额外消耗时间的;

4.2、CAN总线仲裁过程

(1)当CAN总线上出现连续11个低电平,则认为总线处于空闲状态,如果同时有多个CAN节点想要发数据,则需要总线仲裁;
(2)当总线空闲时,每个节点先一位一位的往节点上发送帧ID;
(3)每发送一位帧ID后,需要读取总线上的状态是否是自己发送的帧ID位,如果不是,则表明当前有优先级更高的节点要发送数据,节点进入监听状态,停止往总线发送帧ID;
(4)这里总裁利用了两个之前介绍的结论:帧ID越小优先级越高;同时往总线上发送0(显性电平)和1(隐形电平),总线最终状态是0;
(5)帧ID从高位开始发送,帧ID越小说明高位0越多;
(6)当节点往CAN总线发送的帧ID位是1,但是发送完成后从总线上读到的状态是0,则表示有其他的节点往CAN总线发送了0,其他节点的帧ID比自己小(优先级比较高);

4.3、仲裁过程举例分析

在这里插入图片描述

(1)上面的分析过程是以经典CAN帧进行分析,帧ID是11位;
(2)三个节点依次从帧ID的高位开始往总线上发送,边发送边比较;
(3)在发送帧ID的第五位时,节点B发送了1(隐形电平),但是从总线上读取到的是显性电平,说明有其他节点往总线输出了隐形电平,则节点B退出本次总线仲裁;
(4)在发送帧ID的第三位时,节点C发送了1(隐形电平),但是从总线上读取到的是显性电平,说明有其他节点往总线输出了隐形电平,则节点C退出本次总线仲裁;
(5)最终节点A得到了本次CAN总线的使用权,节点A可以继续发生帧的剩下部分,B和C节点都进入监听状态;

5、参考资料

本博文参考自B站视频:《CAN数据链路层详解》;视频讲解的很不错,感兴趣的推荐观看原视频。

推荐

给大家推荐一个学校嵌入式知识的网站,博主在大学时候学习嵌入式知识、找工作的时候都在用这个网站,网站里有C语言、Linux等等的笔试题、面试常问问题等等知识,无论是学习基础知识、面试刷题、交流工作经验都是不错的选择。大家一起进步,欢迎留言交流。
链接:学习神器跳转
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/311241.html

相关文章

006:vue中el-tree 添加右键菜单的方法

第006个 查看专栏目录: 按照VUE知识点 ------ 按照element UI知识点 echarts,openlayers,cesium,leaflet,mapbox,d3,canvas 免费交流社区 专栏目标 在vue和element UI联合技术栈的操控下,本专栏…

Spark数据倾斜解决方案五:对倾斜key采样后单独Join

倾斜key采样后单独Join方案分析 数据倾斜的时候如果能把Join的方式去除,在Mapper端就能完成Join的操作,这是最好的,但有一个前提条件:要进行Join的RDD,其中有一个RDD的数据比较少。而在实际的生产环境下,有时不具备这样的前提条件,如果两个RDD的数据都比较多,我们将尝…

i7 1195g7和r7 5800h选哪个好

i7-1195G7处理器,采用10nm SuperFin工艺,基于Willow Cove架构的四核八线程CPU,最高 TDP 达 28W,从命名数字来看定位高于原有旗舰型号i7-1185G7,单核心睿频可达5GHz,全核心睿频可达4.6GHz。选i7 1195g7还是r…

制作Retropie系统树莓派掌机(三)

制作Retropie系统树莓派掌机(三) 前面介绍了如何制作外壳和按键。这一节再聊如何组装和接线。 1.组装 安装屏幕和主板 先把屏和主板放上去,原外壳上留好限位卡扣或孔。再把电池(2节18650)和升压板放上去固定。 这里…

iCade Mobile:让iPhone变身掌上游戏机

iPhone的触摸屏并不能让所有类型的游戏都有优秀的体验,没有物理按键会让一些经典游戏体验不佳。为了解决这些问题,开发者们都选用了虚拟摇杆,但没有改善多少。后来虽然有了触控反馈,但仍然做不到物理按键带来的优秀的反馈感觉&…

[Java 实现水平分库 1]

目录 前言: 讲解: 第一种方式的水平分库: 注意 分库后需要考虑数据一致性和事务处理等问题: Mysql水平分库数据查询合并: 代码讲解: MySQL水平分库插入数据: 前言: 平时开发中,可能会遇见数据量越来越大的情况,一般数据量过千万级别,就必须考虑分库分表…

手机处理器哪个好 智能手机处理器进化知识

随着智能手机越来越普及,消费者在选购手机的时候也越来越理性化,除了关心价格和外观之外,手机的性能也成为了人们最关心的因素,大家都知道, 处理器是影响手机性能的最关键的因素,像德州仪器、高通、英伟达以…

科沃斯扫地机器人哪个型号最实用_扫地机器人哪个型号好_智能扫地机功能-科沃斯机器人官网-科沃斯机器人官网...

小科为大家整理了每款扫地机器人的优势及劣势,大家对号入座~ LDS规划类 功能特点: 1、清扫时按房间逐一覆盖,不反复进出统一房间; 2、动态重定位,被搬动后也能知道自己在哪里; 3、掌上虚拟墙,无…