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

CAN总线学习(四)错误处理 STM32CAN外设一

目录

  • CAN总线学习(四)
    • 一、CAN总线错误处理
      • 1.1 错误类型
      • 1.2 错误状态
      • 1.3 错误计数器
    • 二、STM32 CAN外设简介
      • 2.1 CAN网络拓扑结构
      • 2.2 CAN收发器电路
    • 附学习参考网址
      • 欢迎大家有问题评论交流 (* ^ ω ^)

CAN总线学习(四)

一、CAN总线错误处理

1.1 错误类型

  • 错误一共有五种:位错误、填充错误、CRC错误、格式错误、应答错误
    在这里插入图片描述
  • 错误帧一旦产生,当前的数据就被破坏了,所有的设备都停止发送数据,等待总线空闲之后重新依次发送

1.2 错误状态

  • 主动错误状态的设备正常参与同行并在检测到错误时发出主动错误帧
  • 被动错误状态的设备正常参与同行并在检测到错误时只能发出被动错误帧
  • 总线关闭状态的设备不能参与通信
  • 每个设备内部管理一个TEC(发送错误计数)和REC(接收错误计数),根据TEC和REC的值确定自己的状态
    在这里插入图片描述

1.3 错误计数器

在这里插入图片描述

  • ACK错误示例,只连接一个设备就会产生(没有人回答)
    1. 设备处于主动错误状态,发送标准数据帧,正常传输
      在这里插入图片描述

    2. 设备处于主动错误状态,发送标准数据帧,检测到ACK错误
      在这里插入图片描述

    3. 设备处于被动错误状态,发送标准数据帧,检测到ACK错误
      在这里插入图片描述

  • 由于被动错误状态存在8位的延迟,所以主动错误状态的设备总能优先抢占到总线

二、STM32 CAN外设简介

*STM32内置bxCAN外设(CAN控制器,需要搭配TJA1050之类的CAN收发器才能正常工作),支持CAN2.0A和2.0B,可以自动发送CAN报文和按照过滤器自动接收指定CAN报文,程序只需要处理报文数据而无需关注总线的电平细节

  • 波特率最高可达1Mbps(支持高速CAN)
  • 3个可配置有优先级的发送邮箱(3个缓冲区)
  • 2个3级深度的接受FIFO(6个接收缓冲区)
  • 14个过滤器组(互联型28个)
  • 特色功能:事件触发通信、自动离线恢复、自动唤醒、禁止自动重传、接受FIFO溢出处理方式可配置、发送优先级可配置、双CAN模式
  • STM32F103C8T6资源:CAN1
    在这里插入图片描述

2.1 CAN网络拓扑结构

  • 在STM32中USB和CAN是无法同时使用的
    在这里插入图片描述

2.2 CAN收发器电路

在这里插入图片描述

  • 电源引脚附近加电容的作用:去耦,防止电源电压突变
  • 电阻阻值121代表12后面加1和0,就是120Ω
  • 如果有些单片机没有内置CAN控制器,就会使用SJA1000芯片作为CAN控制器

附学习参考网址

  1. CAN总线入门教程-全面细致 面包板教学 多机通信

欢迎大家有问题评论交流 (* ^ ω ^)

http://www.dtcms.com/a/411286.html

相关文章:

  • 【OpenGL】LearnOpenGL学习笔记28 - 延迟渲染 Deferred Rendering
  • 莱芜梆子网站昆山网站建设需要多少钱
  • 站长交流装潢设计什么意思
  • web核心—HTTP
  • 线程池导入大数据量excel
  • Spring Boot 3.x + Security + OpenFeign:如何避免内部服务调用被重复拦截?
  • 全国免费发布信息网站大全wordpress 修改文章id
  • 公司网站设计费计入什么科目app科技网站建设
  • 从需求到实现:如何解决证件照标准化难题的?
  • C++第九篇:friend友元
  • 软件工程咋理解?用 “开奶茶店” 讲透瀑布模型 / 敏捷开发
  • 如何在WordPress中添加短代码
  • 资源型网站建设 需要多大硬盘招牌设计 创意logo
  • 数据库索引简介
  • 基于三角测量拓扑聚合优化的LSTM深度学习网络模型(TTAO-LSTM)的一维时间序列预测算法matlab仿真
  • 关键词网站查询产品展示网站源码php
  • TOGAF ® 标准与循环经济:为可持续与责任型 IT 而设计
  • C盘内存不足,清除或转移VS2022缓存文件Cache
  • 玉米病叶识别数据集,可识别褐斑,玉米锈病,玉米黑粉病,霜霉病,灰叶斑点,叶枯病等,使用yolo,coco,voc对4924张照片进行标注
  • 修改Linux上的ssh的默认端口号——及其客户端使用ssh连接不上Linux问题排查解决
  • 连接世界:网络请求 `wx.request`
  • 安徽省建设厅网站打不开批量导文章到wordpress
  • 用一个OneKey MCP把付费的AI Agent MCP的价格打下来 - DeepNLP OneKey MCP Agent Router项目
  • 绿算技术与清智图灵完成产品兼容性互认证
  • 成都微信网站开发黄骅贴吧
  • Redis监控告警体系搭建:使用Redis Exporter + Prometheus + Grafana
  • 制作网站价格不一wordpress 英文月份
  • 深入解析 Redis 单线程 IO 模型:从架构到多路复用技术
  • 【mysql】数据误删了? 关键时刻可以通过binlog挽救
  • MySQL核心操作:从插入到查询全解析