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

STM32-CAN总线

1.CAN总线简介

CAN总线是由BOSCH公司开发的一种简洁易用、传输速度快、易扩展、可靠性高的串行通信总线

2.CAN总线特征

  • 两根通信线(CAN_H、CAN_L),线路少,无需共地
  • 差分信号通信(相对的是单端信号),抗干扰能力强(意思是当有干扰时,两根线同时产生波动,但两根线的差值不变)
  • 高速CAN(ISO11898):125k~1Mbps,<40m
  • 低速CAN(ISO11519):10k~12kbps,<1km
  • 异步,无需时钟线,通信速率由设备各自约定
  • 半双工,可挂载多设备,多设备同时发送数据时通过仲裁判断先后顺序
  • 可实现多个主控设备相互进行通讯
  • 11位/29位报文ID,用于区分消息功能,同时决定优先级
  • 可配置1~8字节的有效载荷
  • 可实现广播式和请求式两种传输方式
  • 应答、CRC校验、位填充、位同步、错误处理等特性

总结:CAN总线就是一组半双工异步串行通信的差分信号总线。

3.CAN总线硬件电路

  • 每个设备通过CAN收发器挂载在CAN总线网络上
  • CAN控制器引出的TX和RX与CAN收发器相连,CAN收发器引出的CAN_H和CAN_L分别与总线的CAN_H和CAN_L相连
  • 高速CAN使用闭环网络,CAN_H和CAN_L两端添加120Ω的终端电阻(作用:1.防止回波反射,2.没有设备操作时,将两根差分线的电压收紧)
  • 低速CAN使用开环网络,CAN_H和CAN_L其中一端添加2.2kΩ的终端电阻(作用:防止回波反射

4.CAN电平标准 

  • CAN总线采用差分信号,即两线电压差(Vcan_h-Vcan_l)传输数据位
  • 高速CAN规定:

                电压差为0V时表示逻辑1(隐性电平)

                电压差为2V时表示逻辑0(显性电平)

  • 低速CAN规定:

                电压差为-1.5V时表示逻辑1(隐性电平)

                电压差为3V时表示逻辑0(显性电平)

5.CAN总线帧格式

帧格式用途
数据帧发送设备主动发送数据(广播式)
遥控帧接受设备主动请求数据(请求式)
错误帧某个设备检测出错误时向其他设备通知错误
过载帧接受设备通知其尚未做好接受准备
帧间隔用于将数据帧及遥控帧与前面的帧分离开


http://www.kler.cn/a/513590.html

相关文章:

  • Java 中 final 关键字的奥秘
  • 不用编程即可实现多台PLC的MQTT协议JSON文件发布与订阅的智能网关的配置说明
  • 为什么相关性不是因果关系?人工智能中的因果推理探秘
  • Azure Synapse Dedicated SQL Pool实用命令语句
  • 大数据,Hadoop,HDFS的简单介绍
  • MySQL 窗口函数
  • Swift 实现:颠倒 32 位无符号整数的二进制位
  • 构建高可用和高防御力的云服务架构第一部分:深入解析DDoS高防(15)
  • AUTOSAR从入门到精通-线控底盘技术
  • 一、vue智能Ai对话(高仿通义千问)普通版。
  • 数电票:引领会计行业数字化革命的关键力量
  • 定时器setTimeout和setInterval
  • 【RabbitMQ 消息丢失常见情况分析】
  • 依赖倒置原则
  • node和nest生态及区别和优势
  • Swift语言的函数实现
  • 解决MySQL查询不区分大小写的两种方式
  • 【GORM】Hook钩子函数,Session会话函数讲解及使用案例
  • 【2025小年源码免费送】
  • OFD实现在线预览的几种方式
  • 计算机的错误计算(二百一十八)
  • 【Golang/gRPC/Nacos】在golang中将gRPC和Nacos结合使用
  • 刷题日记3
  • 天机学堂7--Redisson自定义注解AOP以及SPEL表达式实现分布式锁
  • 顽固性失眠怎么调理
  • InVideo AI技术浅析(五):生成对抗网络