当前位置: 首页 > web >正文

电路笔记(通信):CAN 仲裁机制(Arbitration Mechanism) 位级监视线与特性先占先得非破坏性仲裁

CAN总线机制

位级监视(bit monitoring)

位级监视(bit monitoring):在 CAN 总线通信中,在每一位发送时进行实时总线监控

  • CAN 总线采用 “广播+总线监控” 的方式传输数据。在发送每一位的同时,发送器会实时监控总线上的电平,以确保:

    • 自己发送的位和总线上的实际电平一致;
    • 在多主节点争用总线(仲裁)时,能根据优先级判断输赢。 如果一个节点发送隐性位,但看到总线是显性位,说明有更高优先级的节点正在发送 —— 此时必须停止发送(仲裁失败)

线与特性(Wired-AND)

在这里插入图片描述

  • 详细描述可见 电路笔记(元器件):CAN总线 收发器 SN65HVD233 具有待机模式和环回功能的 3.3V CAN 收发器

仲裁机制

一、先占先得规则(Bus Access Rule)

  1. 总线使用原则:

    • 若当前有设备正在发送 数据帧遥控帧,则其他设备 不能同时发送 数据帧或遥控帧。
    • 其他设备可以发送 错误帧过载帧 来中断当前通信(具有破坏性)。
  2. 总线空闲判断标准:

    • 当检测到 连续11个隐性电平(逻辑1) 时,认为总线处于空闲状态。
    • 只有在总线空闲时,设备才可以开始发送数据帧或遥控帧。
  3. 总线活跃状态下的行为:

    • 一旦有设备开始发送数据帧/遥控帧,总线进入活跃状态。
    • 活跃状态下不会出现连续11个隐性电平,因此其他设备不会尝试发送。
    • 若其他设备在此期间有发送需求,则需等待总线变为空闲后才能尝试发送。
  4. 类比操作系统调度算法:

    • 此机制类似于操作系统的 先来先服务(FCFS)调度算法,即谁先请求总线使用权,谁就优先获得发送权。

二、非破坏性仲裁机制(Non-destructive Arbitration)

当多个设备同时发起发送请求时,CAN总线通过以下机制进行仲裁:

  1. 仲裁依据:

    • 根据 报文标识符(ID) 进行仲裁。
    • ID号越小,优先级越高。
    • 高优先级的设备赢得仲裁,继续发送;低优先级的设备停止发送,转为接收模式。
  2. 仲裁过程特点:

    • 非破坏性:仲裁过程中不会损坏高优先级设备的数据帧。
    • 所有参与仲裁的设备在发送仲裁段的同时监听总线电平。瑞萨电子的《CAN入门书》中给出了非破坏性仲裁的工作原理图:

在这里插入图片描述

http://www.xdnf.cn/news/9990.html

相关文章:

  • 【机器人】具身导航 VLN 最新论文汇总 | Vision-and-Language Navigation
  • 人工智能100问☞第37问:什么是扩散模型?
  • 【清晰教程】利用Git工具将本地项目push上传至GitHub仓库中
  • 【开源工具】音频格式转换大师:基于PyQt5与FFmpeg的高效格式转换工具开发全解析
  • Go语言使用阿里云模版短信服务
  • 类 Excel 数据填报
  • LVS-NAT 负载均衡群集
  • C++高级编程深度指南:内存管理、安全函数、递归、错误处理、命令行参数解析、可变参数应用与未定义行为规避
  • 历年西安电子科技大学计算机保研上机真题
  • Redisson学习专栏(三):高级特性与实战(Spring/Spring Boot 集成,响应式编程,分布式服务,性能优化)
  • Real SQL Programming
  • 安装一个包 myPhysicsLab
  • Numpy知识点
  • Cesium 8 ,在 Cesium 上实现雷达动画和车辆动画效果,并控制显示和隐藏
  • 提示词优化技巧
  • 【Java】线程池的实现原理是怎样的?CPU密集型任务与IO密集型任务的区别?
  • Java基础面试题--jdk和jre的区别
  • openbmc kvm vnc client connection
  • 四、若依从数据库
  • 【JavaWeb】基本概念、web服务器、Tomcat、HTTP协议
  • 数据结构数组总结
  • 大模型调用数据库表实践:基于自然语言的SQL生成与数据查询系统
  • 石油炼化厂融合定位系统人员管控解决方案
  • 阿里云服务器ECS详细购买流程【新手购买手册】
  • 小白的进阶之路系列之六----人工智能从初步到精通pytorch数据集与数据加载器
  • 学习STC51单片机20(芯片为STC89C52RCRC)
  • Webug4.0靶场通关笔记03- 第3关SQL注入之时间盲注(手注法+脚本法 两种方法)
  • 字体查看器
  • C学习-头文件
  • iVX 如何用 VL 中间语言构建程范式闭环?