【CAN通信】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一、CAN通信简介
  • 二、CAN通信的逻辑电平分析
  • 三、CAN通信的差分信号线设计
  • CAN标准数据帧格式
  • 四、设备发送数据优先级
  • 总结


一、CAN通信简介

CAN(Controller Area Network 控制器局域网)在汽车控制领域较为常见,在汽车领域控制器的专业术语为ECU(Electronic Control Unit 电子控制单元),其内部集成了单片机、驱动系统、控制系统,ECU之间通过CAN总线进行相互通信;
在CAN总线通信出现之前,汽车上的电子产品基本都是点对点连接,随着控制器的增多,不但控制器本身接口数量大量增加,整车的线束布置和电气架构也变得极其复杂,制造成本和维护成本也随之上涨,CAN总线的应用大幅度缩减了信号线束长度,简化了车辆局域网结构,提高了通信总体的可靠性;

二、CAN通信的逻辑电平分析

单片机发送逻辑0、逻辑1的电平信号,通过CAN收发器可以转换成CAN HIGH、CAN LOW的差分信号,差分信号用两根数据线来表示一个信号,例如:
当CAN收发器接收到低电平信号时,CAN HIGH = 3.5v,CAN LOW = 1.5v,差分信号的电压差为2v,表示逻辑0;
当CAN收发器接收到高电平信号时,CAN HIGH = 2.5v,CAN LOW = 2.5v,差分信号的电压差为0v,表示逻辑1;
此外,收发器也可以将差分信号转换为普通的电平信号;

三、CAN通信的差分信号线设计

使用单一的高低电平表示逻辑0与逻辑1时,当信号线某一点受到干扰时,信号的电平就会产生跳变,这样会导致传输出现错误,从而不能进行长距离传输,而CAN通信的差分信号线是以双绞线的形式缠绕在一起的,当受到电磁干扰时,两根信号线产生同步的信号跳变,差分电压基本保持不变,数据传输基本不受影响,因此差分信号线的设计可以有效降低电磁干扰,可以远距离传输数据,在实际应用中CAN信号的传输距离可以达到1000m;

为了防止信号反射,差分信号线的两端需要各自接上一个120Ω的终端电阻,

CAN标准数据帧格式

在这里插入图片描述

起始位(1位):必定是逻辑0;

识别码(11):表示数据是发送给哪个设备的,每个设备具有11位唯一的识别码;

RTR(1位):用于区分数据帧或者远程请求帧,如果是远程请求帧,该位为1,如果是数据帧,该位为0;

控制码(6位):用于控制数据帧长度;
其第一位(IDE)用于区分数据帧的标准格式和拓展格式,在标准帧的标准格式中:IDE=0,数据帧有11位识别码,而在拓展格式中:IDE=1,数据帧有29位识别码;
第二位是预留位(空闲位),逻辑0;
剩下的4位是DLC(Data LInk Control)位,表示数据长度,二进制编码为0 - 8(二进制数字0000 ~ 1000表示0 ~ 8),如果DLC=1表示数据位只有一个字节(8位),如果DLC=8表示数据位有八个字节(64位);

CRC码(16位):循环冗余校验位,为了确保数据的准确性而设置的,设备接收端会根据数据计算出其CRC位,如果计算出来的和接收到的CRC不一致,说明数据传输异常,设备发送端重新发送一遍数据帧;

CRC界定符(1位):逻辑1,目的是把后面的信息隔开;

ACK码(2位):第一位是ACK确认槽,发送端发送的是逻辑1,而接收端恢复逻辑0来表示应答;第二位表示ACK界定位,为逻辑1;

结束位(7位):7位都是逻辑1,表示数据帧传输结束;

四、设备发送数据优先级

CAN总线架构中,当一个设备发送数据时,相当于广播,其余设备收听广播数据,当多个设备同时发送数据时,需要根据一定的规则来决定哪个设备先发送数据(仲裁);

CAN总线采用线与规则进行冲突仲裁:
通过识别码来界定数据发送优先级,当总线同时出现逻辑1与逻辑0信号时,总线会被置为成逻辑0,传递逻辑1的信号就不会再发送了;


总结

简单描述了CAN通信逻辑电平定义、差分信号的设计、标准数据帧格式。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/911810.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

速度快还看巡飞,筒射巡飞无人机技术详解

筒射巡飞无人机(Launch and Recovery by Tube,LRAT或Launcher-Deployed Loitering Munition,LDLM)作为一种新型无人机系统,近年来在军事和民用领域都展现出了巨大的潜力。以下是对筒射巡飞无人机技术的详细解析&#x…

如何使用 SSH 连接并管理你的 WordPress 网站

在当今数字化的世界里,网站的管理与维护至关重要。对于使用 WordPress 搭建网站的用户而言,掌握基本的 SSH(安全壳)命令能够极大地简化网站管理工作。本指南将向你介绍 SSH 的基本知识,并教你如何通过 SSH 连接和管理你…

低轨卫星互联网(二)—— 技术篇

撰写:我是吉米 低轨卫星互联网,地面移动网和卫星通信网融合如图1所示。 图1 低轨卫星互联网演进图 从技术演进发展初衷来看,地面移动网与卫星通信网各自演进,如图2所示。地面移动网旨在提供高速率、大容量、低时延、高移动服务,而卫星通信网则旨在提供广覆盖服务。低轨卫星…

51c大模型~合集18

我自己的原文哦~ https://blog.51cto.com/whaosoft/11621494 #SpatialBot 空间大模型:上交、斯坦福、智源、北大、牛津、东大联合推出! 大模型走向空间智能、具身智能之路! 智源,斯坦福,北大,牛津&…

OpenGL 异常处理-glCreateShader失败

【1】glCreateShader创建顶点着色器时候报错,如下 【2】原因分析 初始化失败,你使用一个扩extension loader library来访问现代OpenGL,当需要初始化它时,加载器需要一个当前的上下文来加载 【3】解决办法 GLenum glew_err gle…

git 工具原理

git 目录 git git的使用 了解git的三个区域 具体操作 如何下载别人上传到git的工程 -- 可以参考菜鸟教程,包括安装配置git Git 安装配置 | 菜鸟教程 -- Git 是一种分布式版本控制系统,用于管理软件项目的源代码。它是由 Linux 之父 Linus Torval…

Qt Udp的组播(多播)、广播和单播

UDP通讯的基本概念和特点‌ UDP(User Datagram Protocol,用户数据报协议)是‌TCP/IP协议族中的一种无连接协议,主要用于那些对实时性要求较高而可靠性要求较低的应用场景。UDP的主要特点包括: ‌无连接‌:…

搭建react项目

#pic_center 400x 参考文章: react开发环境搭建 系列文章: 文章目录 create-react-app安装reactnpm版本管理npm 镜像安装 create-react-app安装react 查看是否安装过create-react-app npm list create-react-app -- create-react-app5.0.1 # 输出版本…

Leetcode 两数之和 Ⅱ - 输入有序数组

这段代码实现了在一个非递减排序的数组中找到两个数,使它们的和等于目标值的算法。算法使用了双指针技术,具体思想如下: 算法思想: 初始化指针:定义两个指针 left 和 right,分别指向数组的起始位置和末尾位…

论文略读:GRAG:GraphRetrieval-Augmented Generation

202404 arxiv 1 motivation 在许多应用场景中,如科学文献网络、推荐系统和知识图谱,文档之间存在复杂的关联,这些关联在传统的RAG模型中常常被忽略 例如,在处理科学文献时,RAG仅基于文本相似性的检索方法无法充分利用…

103 - Lecture 1

Introduction to Database 一、Introduction to Database Systems 1. 数据的定义 What is Data? EX: data could be a docx file storing your project status report; data could be a spreadsheet containing information • 数据只有在设计的场景中才有意义。&#xff…

【论文复现】MSA+抑郁症模型总结(二)

📝个人主页🌹:Eternity._ 🌹🌹期待您的关注 🌹🌹 ❀MSA抑郁症模型 情感分析的应用1. 概述2. 论文地址3. 研究背景4. 主要贡献5. 模型结构和代码6. 数据集介绍7. 性能展示8. 复现过程9. 运行过程…

JavaScript 实现文本转语音功能

全篇大概2000 字(含代码),建议阅读时间10分钟。 引言 我将向大家展示如何使用 JavaScript 和 Web Speech API 快速实现一个“文本转语音”的 Web 应用。通过这个教程,你将了解如何让浏览器将输入的文本朗读出来。 预览效果 一、…

GitLab基于Drone搭建持续集成(CI/CD)

本文介绍了如何为 Gitee 安装 Drone 服务器。服务器打包为在 DockerHub 上分发的最小 Docker 映像。 1. 准备工作 创建OAuth应用 创建 GitLab OAuth 应用。Consumer Key 和 Consumer Secret 用于授权访问极狐GitLab 资源。 ps:授权回调 URL 必须与以下格式和路径匹配&…

RHCE 第四次作业

一.搭建dns服务器能够对自定义的正向或者反向域完成数据解析查询。 1.配置环境 [rootlocalhost ~]# yum install bind [rootlocalhost ~]#systemctl stop firewalld [rootlocalhost ~]#setenforce 0 2.配置DNS主服务器 [rootlocalhost ~]# vim /etc/named.conf options { …

【ArcGIS】绘制各省碳排放分布的中国地图

首先,准备好各省、自治区、直辖市及特别行政区(包括九段线)的shp文件: 通过百度网盘分享的文件:GS(2022)1873 链接:https://pan.baidu.com/s/1wq8-XM99LXG_P8q-jNgPJA 提取码&#…

关于CountDownLatch失效问题

一、项目背景 这几天要开发一个类似支付宝那种年度账单统计的功能,就是到元旦后支付完会把用户这一年的消费情况从各个维度(我们把这一个维度称作一个指标)统计分析形成一张报告展示给用户。 这个功能实现用到了CountDownLatch。假如统计分析…

【专题】2024年全球生物医药交易报告汇总PDF洞察(附原数据表)

原文链接:https://tecdat.cn/?p38191 在当今复杂多变的全球经济环境下,医药行业正面临着诸多挑战与机遇。2024 年,医药行业的发展态势备受关注。 一方面,全球生物医药交易活跃,2021 - 2023 年的交易中,已…

鸿蒙5.0时代:原生鸿蒙应用市场引领开发者服务新篇章

前言 10月22日原生鸿蒙之夜发布会宣布HarmonyOS NEXT正式发布,首个版本号:鸿蒙5.0。这次“纯血鸿蒙”脱离了底层安卓架构成为纯国产的独立系统,仅凭这一点就有很多想象空间。 目前鸿蒙生态设备已超10亿,原生鸿蒙操作系统在中国市…

3.PyCharm工具

第三方IDE,集成开发工具,官网下载。 社区版本,免费使用。 创建项目 配置解释器,创建python文件,编写代码,运行: