STM32-CAN总线

news/2025/1/23 5:47:07/

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.ppmy.cn/news/1565409.html

相关文章

重新理解tech lead角色

角色&#xff1a; tech leadleaderdeveloperarchitectleader:balance priorities,communicate clear goals,make apt decisions(做出适当的决定);supervise team members&#xff08;管理团队成员&#xff09;,delegate tasks, issue feedback, evaluate risks, and resolve co…

深耕C/C++,解锁CV技术深度的钥匙

在21世纪的科技浪潮中&#xff0c;计算机视觉作为人工智能领域的一个重要分支&#xff0c;正以前所未有的速度推动着社会进步和产业升级。从智能手机的面部识别到自动驾驶汽车的路径规划&#xff0c;从医疗影像的精准分析到工业生产的自动化检测&#xff0c;计算机视觉算法的应…

AI新玩法:Flux.1图像生成结合内网穿透远程生图的解决方案

文章目录 前言1. 本地部署ComfyUI2. 下载 Flux.1 模型3. 下载CLIP模型4. 下载 VAE 模型5. 演示文生图6. 公网使用 Flux.1 大模型6.1 创建远程连接公网地址 7. 固定远程访问公网地址 前言 在这个AI技术日新月异的时代&#xff0c;图像生成模型已经成为了创意工作者和开发者手中…

嵌入式硬件篇---PID控制

文章目录 前言第一部分&#xff1a;连续PID1.比例&#xff08;Proportional&#xff0c;P&#xff09;控制2.积分&#xff08;Integral&#xff0c;I&#xff09;控制3.微分&#xff08;Derivative&#xff0c;D&#xff09;控制4.PID的工作原理5..实质6.分析7.各种PID控制器P控…

使用minio高性能存储图片

在服务器中安装minio 使用docker在服务器中安装minio&#xff0c;命令如下docker pull minio/minio 创建minio的存储文件mkdir -p ~/minio/data 创建容器并运行 docker run -p 9001:9000 -p 9090:9090 --name minio -v ~/minio/data:/data -e "MINIO_RO…

python学opencv|读取图像(四十)掩模:三通道图像的局部覆盖

【1】引言 前序学习了使用numpy创建单通道的灰色图像&#xff0c;并对灰色图像的局部进行了颜色更改&#xff0c;相关链接为&#xff1a; python学opencv|读取图像&#xff08;九&#xff09;用numpy创建黑白相间灰度图_numpy生成全黑图片-CSDN博客 之后又学习了使用numpy创…

【Elasticsearch】索引创建、修改、删除与查看

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编程,高并发设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探…

人类大脑与大规模神经网络的对比及未来展望

引言 随着人工智能&#xff08;AI&#xff09;技术的迅猛发展&#xff0c;研究人员不断尝试构建更加复杂和强大的模型&#xff0c;以期实现与人类大脑相媲美的智能水平。本文将探讨当前大规模神经网络&#xff08;LLM, Large Language Models&#xff09;的发展现状&#xff0…