详解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


相关文章
|
算法
【MATLAB】语音信号识别与处理:滑动平均滤波算法去噪及谱相减算法呈现频谱
【MATLAB】语音信号识别与处理:滑动平均滤波算法去噪及谱相减算法呈现频谱
1122 0
|
监控 网络架构
CAN-TP传输协议详解
CAN-TP传输协议详解
CAN-TP传输协议详解
|
Web App开发
一文读懂锁相环基本原理
一文读懂锁相环基本原理
3817 0
一文读懂锁相环基本原理
|
存储 网络协议 API
大端与小端概念、多字节之间与单字节多部分的大小端转换详解
大端与小端概念、多字节之间与单字节多部分的大小端转换详解
1682 1
|
消息中间件 负载均衡 流计算
gRPC ZeroMQ (ZMQ) D-Bus SOME/IP 通讯方式的比较
gRPC ZeroMQ (ZMQ) D-Bus SOME/IP 通讯方式的比较
1354 3
|
Linux Android开发 编解码
VLC播放RTSP视频延迟问题
之前写过一篇关于在Linux平台上编译Android平台上VLC播放器源代码的文章,vlc这款播放器非常优秀而且是开源的,它的核心是开源视频编解码库ffmpeg。而且这款播放器还支持RTSP协议,这个主要是用开源的live555来实现的,live555这个库以后还需要认真研习。
6859 0
|
数据采集 机器学习/深度学习 人工智能
《AI 剧本生成与动画创作解决方案评测报告》
《AI 剧本生成与动画创作解决方案评测报告》
595 8
《AI 剧本生成与动画创作解决方案评测报告》
|
JSON 监控 供应链
京东SPU/SKU数据接口全解读:商品详情API文档
京东开放平台商品详情API提供标准化接口,支持获取SPU/SKU信息,适用于价格监控、库存管理等场景。支持HTTPS与JSON格式,具备高效性与扩展性。
基于PSpice的BJT放大电路的仿真
下面是基于PSpice的BJT放大电路的仿真步骤: 1. 打开PSpice软件,创建新的仿真文件。 2. 选择“Place Part”工具,在库中选择BJT晶体管,将其放置在仿真电路中。 3. 选择“Place Part”工具,在库中选择电源,将其放置在仿真电路中。 4. 选择“Place Part”工具,在库中选择电阻,将其放置在仿真电路中。 5. 连接电源和地线。 6. 连接电阻和BJT晶体管,形成基本的放大电路。 7. 设置仿真参数,如电源电压、电阻值等。 8. 运行仿真,观察输出波形和电路性能参数。 9. 根据仿真结果进行电路优化和调整,如改变电阻值、改变电源电压等。 10. 保存仿真
759 0
|
存储 算法 Android开发
AVB校验微观版本:android avb(Android Verified Boot)验证
AVB校验微观版本:android avb(Android Verified Boot)验证
3016 0

热门文章

最新文章