CAN笔记(8) 优先级
CAN笔记(8) 优先级
- 1. 仲裁
- 2. 数据帧和遥控帧的优先级
- 3. 标准格式和扩展格式的优先级
- 4. 优先级总结
1. 仲裁
在总线空闲态,最先开始发送消息的单元获得发送权(先到先得)
多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进行仲裁
连续输出显性电平 0 最多(ID小)的单元可继续发送
仲裁的过程:
2. 数据帧和遥控帧的优先级
具有相同 ID 的 数据帧 和 遥控帧 在总线上竞争时
仲裁段的最后一位 远程发送请求位RTR
为显性位的数据帧具有优先权,可继续发送
数据帧和遥控帧的仲裁过程:
3. 标准格式和扩展格式的优先级
标准格式 ID的数据帧 与 具有相同 ID 的 遥控帧 或者 扩展格式的数据帧 在总线上竞争时
标准遥控帧的 RTR
位为隐性位,扩展遥控帧的 SRR
位为隐性位,扩展数据帧的 SRR
位为隐性位
标准数据帧的 RTR
位为显性位的具有优先权,可继续发送
标准格式和扩展格式的仲裁过程:
4. 优先级总结
从上可得到:
在总线空闲态,最先开始发送消息的单元获得发送权(先到先得)
多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进行仲裁
在具有相同 ID ,数据帧 > 遥控帧,标准帧 > 扩展帧
那么,标准遥控帧 和 扩展数据帧 之间的优先级呢?
标准遥控帧的 RTR
位虽然为隐性 1 ,但下一位控制段的 IDE
恒为显性 0
而此时的扩展数据帧 SRR
和下一位 IDE
皆恒为隐性 1
通过 RTR
、SRR
、IDE
的配合就可以知道在具有相同 ID 的情况下,优先级:
标准数据帧 > 标准遥控帧 > 扩展数据帧 > 扩展遥控帧
还有一种情况,基础ID相同,都是扩展帧,且扩展ID不同
那么此时就先比较扩展ID,ID小的优先
参考:
《CAN入门书》
相关推荐:
CAN笔记(7) CAN协议(二)
CAN笔记(6) CAN协议(一)
CAN笔记(5) 协议标准规格
CAN笔记(4) 协议基本概念
CAN笔记(3) 错误状态
谢谢!
CAN笔记(8) 优先级相关推荐
- python 学习笔记 运算符优先级(8)
运算符的优先级如下: 运算符 描述 lambda Lambda表达式 or 布尔"或" and 布尔"与" not x 布尔"非" in,n ...
- QNX手册学习笔记------同优先级调度算法
QNX作为一个微内核的实时操作系统,其进程没有优先级的概念,只有线程才有优先级的概念.QNX的优先级分为255个等级.每个等级可以有多个同优先级的线程准备执行,不同于UC/OS的每个优先级对应一个任务 ...
- 《恋上数据结构第1季》二叉堆实现优先级队列
优先级队列(Priority Queue) 优先级队列简介 优先队列的底层实现 二叉堆实现优先级队列源码 测试代码 数据结构与算法笔记目录:<恋上数据结构> 笔记目录 想加深 Java 基 ...
- c语言怎么设置cpu优先级,线程优先级,设置,setPriority()方法
package seday08.thread; /** * @author xingsir * 线程优先级 * 线程启动后纳入到线程调度,线程时刻处于被动获取CPU时间片而无法主动获取.我们可以通过调 ...
- PHP字符串运算结果,php字符运算
二.PHP的运算符 PHP中有丰富的运算符集,它们中大部分直接来自于C语言.按照不同功能区分,运算符可以分为:算术运算符.字符串运算符.赋值运算符.位运算符.条件运算符,以及逻辑运算符等.当各种运算符 ...
- php数字运算符号,php运算符号
php新手入门之PHP常用特殊运算符号 php新手入门之PHP常用特殊运算符号,尖锋网站长发布分享. 尖锋网常发布一些技术分享资料和文章.欢迎大家提供高质量的旅游生活养生问答. 注解符号: // 单行 ...
- php中或者符号,php中的或运算符号
<从零开始学Swift>学习笔记(Day 10)--运算符是" +.-.*./ "吗? 原创文章,欢迎转载.转载请注明:关东升的博客 运算符是用于执行程序代码运算,会针 ...
- php slug,php 中的var
PHP中global与$GLOBALS['']的区别 根据官方的解释是$GLOBALS['var'] 是外部的全局变量$var本身.global $var 是外部$var的同名引用或者指针.(错误:是 ...
- 2021-04-05 web前端CSS之权重,盒子边框内外边距
视频学习:黑马程序员pink老师 笔记:层叠性 相同选择器给设置相同的样式--如果样式冲突,就近原则 样式不冲突,不会层叠 <!DOCTYPE html> <html lang=&q ...
- FreeRtos学习笔记(11)查找就绪任务中优先级最高任务原理刨析
FreeRtos学习笔记(11)查找就绪任务中优先级最高任务原理刨析 怎么查找就绪任务中优先级最高的? tasks.c中声明了一个全局变量 uxTopReadyPriority,任务从其他状态进入就绪 ...
最新文章
- catia 安装打开闪退_win10catia r20应用程序无法正常启动的解决办法
- 世界上最遥远的距离是计算机不懂人类的时间
- DCASE 2020权威声学比赛:腾讯多媒体实验室斩获双项指标国内第一
- jni invalid jobject
- linux时间同步_如何在Ubuntu上使用FreeFileSync同步文件
- MIP 官方发布 v1稳定版本
- Dockerfile 中 配置安装 php 扩展
- 当TIME_WAIT状态的TCP正常挥手,收到SYN后…
- linux下ip层的一些概念
- 附件计算器中的MC、MR、MS、M+作用
- CSS之clearfix清除浮动
- 华为服务器SNMP协议怎么修改,华为迈普交换机、瑞斯康达SNMP协议配置方法
- MATLAB使用cic滤波器,基于Matlab的CIC滤波器设计
- 单片机实验(十一)单片机独立按键控制LED
- 小学校本课程计算机前言,《创意手工》三河小学校本课程——序言
- vue项目中样式重置 自动注入less
- sklearn+机器学习
- 准备好了吗?2021年的7大科技趋势
- 比越南妹划算 1元团购美女
- 人脸识别接口_DS-K5603-Z 海康威视人员通道人脸识别组件 1万人脸库 10.1英寸LCD触摸显示屏_DS-K5603-Z_DS-K5603-Z...