详解CAN总线:CAN总线通信优先级机制

简介: 在详解CAN总线:CAN总线报文格式—数据帧文章中,讲解到仲裁段。仲裁段用于写明需要发送到目的CAN节点的地址、确定发送的帧类型(当前发送的是数据帧还是遥控帧),并确定发送的帧格式是标准帧还是扩展帧。本篇文章将讲解仲裁段的另一个重要功能:通信优先级。

在详解CAN总线:CAN总线报文格式—数据帧文章中,讲解到仲裁段。仲裁段用于写明需要发送到目的CAN节点的地址、确定发送的帧类型(当前发送的是数据帧还是遥控帧),并确定发送的帧格式是标准帧还是扩展帧。


本篇文章将讲解仲裁段的另一个重要功能:通信优先级。


在CAN总线空闲态,最先开始发送消息的单元获得发送权。多个单元同时开始发送时,各发送单元从仲裁段的第一位开始进行仲裁,连续输出显性电平最多的单元可继续发送。所以,帧ID值越小,优先级越高。


仲裁的过程如下图所示:


b1854ffb9cfa4904a587cefaeca3a728.png

8365af23f1d84d0b9e04e7438bf19ed4.png


1、数据帧和遥控帧的优先级

具有相同 ID 的数据帧和遥控帧在总线上竞争时,数据帧优先级高,因为数据帧仲裁段的最后一位(RTR)为显性位具有优先权,可继续发送。


数据帧和遥控帧的仲裁过程如下图所示:

5bc3dae127884715b63fe72430a6d1d2.png


2、标准格式和扩展格式的优先级

标准格式 ID 与具有相同 ID 的遥控帧或者扩展格式的数据帧在总线上竞争时,标准格式的 RTR 位为显性位优先级更高,优先发送。


标准格式和扩展格式的仲裁过程如下图所示:

9689920f0fcd4bd482f56dd4f5a19ab6.png


相关文章
|
5天前
|
安全 搜索推荐 Linux
D-Bus深度解析:系统总线与会话总线的区别与应用
D-Bus深度解析:系统总线与会话总线的区别与应用
54 2
|
10月前
总线系统(下)
总线系统(下)
48 0
|
8月前
|
安全 芯片 C++
浅谈总线通信机制(通信基础+串口+I2C)
浅谈总线通信机制(通信基础+串口+I2C)
82 0
|
9月前
|
监控 Scala 虚拟化
深入理解AMBA总线(十三)AXI原子访问机制和AXI响应
深入理解AMBA总线(十三)AXI原子访问机制和AXI响应
246 0
|
10月前
|
Linux
总线系统(上)
总线系统
53 0
详解CAN总线:CAN总线报文格式—过载帧
CAN总线上传输的信息称为报文,当总线空闲时任何连接的单元都可以开始发送新的报文。
详解CAN总线:CAN总线故障界定与管理
CAN总线故障界定的目标是实现数据传输系统即使在节点发生故障的情况下也能维持很高的可用性。 因此故障界定策略必须证明在以下2个方面是可靠的: 区分短期故障和永久性故障; 找到并断开故障节点。
详解CAN总线:高速CAN总线和低速CAN总线的特性
在ISO 11898-2和ISO 11898-3中分别规定了两种CAN总线结构(在BOSCH CAN2.0规范中,并没有关于总线拓扑结构的说明):高速CAN总线和低速CAN总线,本篇博文将详细介绍两者的特性和区别。
|
11月前
|
存储 传感器 开发者
一文搞懂I2C通信总线
I2C(集成电路总线),由Philips公司(2006年迁移到NXP)在1980年代初开发的一种简单、双线双向的同步串行总线,它利用一根时钟线和一根数据线在连接总线的两个器件之间进行信息的传递,为设备之间数据交换提供了一种简单高效的方法。每个连接到总线上的器件都有唯一的地址,任何器件既可以作为主机也可以作为从机,但同一时刻只允许有一个主机。
COM0011 2RAA005844A0007J 类似于与内存通信的引脚
COM0011 2RAA005844A0007J 类似于与内存通信的引脚
83 0
COM0011 2RAA005844A0007J 类似于与内存通信的引脚
http://www.vxiaotou.com