CAN总线学习笔记

news2024/11/25 12:33:01

1 CAN总线简介

CAN(Controller Area Network)控制器局域网。
在这里插入图片描述

2 电平表示

CAN 总线用两根数据线传输数据,使用差分信号。

2.1 显性电平–低电平–逻辑零

当单片机发送逻辑0信号时,CAN转换芯片输出端会输出一个3.5V信号和一个1.5V信号,此时两根数据线的电压差就是2V。

2.2 隐性电平–高电平–逻辑一

当单片机发送逻辑1信号时,CAN转换芯片输出端会输出两个都是2.5V的信号,此时两根数据线的电压差就是0V。
在这里插入图片描述

2.3 电平优势

抗干扰能力强,传输距离远,可达1000米。

3 数据帧

数据长度 (位)注释
起始位1固定位数据0
识别码11或29每个设备都有自己的识别码,根据识别码决定发送给哪个设备。
RTR位1区分数据帧和远程请求帧。如果是远程请求帧,这一位就是1。
控制码6第一位叫IDE位,用于区分标准格式(帧)和拓展格式(帧);标准帧中,识别码有11位,控制码的第一位为0;拓展帧中,识别码有29位,控制码的第一位为1;控制码的第二位为预留位,固定为0。后四位叫DLC位,表示数据长度,单位是字节。
数据位n×8数据内容(最多8个字节)
CRC校验位16前15位为校验数据,第16位是界定位,固定为1。
ACK码2第一位是ACK确认槽,发送端用1表示,回复端用0表示。第二位是ACK界定位,固定为逻辑1。
结束位7七位固定全部为1,表示数据传输结束。

在这里插入图片描述

4 CAN总线通信特点

识别码不仅表示设备地址,还会代表了设备的优先级。当两个设备同时发送数据时,也就是当总线同时出现逻辑0和逻辑1的时候,总线会被置为逻辑0(显性电平)。那么识别码数据比较大的那个数据就不会在发送了。而识别码数据小的数据(也就是优先级高的数据)可以继续发送。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【大模型理论篇】GPT系列预训练模型原理讲解

1. 背景简述 GPT的全称是Generative Pre-Trained Transformer,以Transformer为基础模型(可以看Transformer的原理解析),先后迭代了GPT-1【1】,GPT-2【2】,GPT-3【3】、GPT3.5(InstructGPT)【10】、GPT4。…

【直播预告】智能机器人赛道技术培训定档8.20

在不远的将来,机器人可能会成为我们日常生活中不可或缺的伙伴,它们在工业生产线上精准操作,在家庭中提供温馨陪伴,甚至在探索未知领域中担当先锋。而现在,正是我们拥抱这一未来,深入了解并掌握智能机器人技…

【一个月备战国赛】按模型算法分类的国内外优秀论文分享

时间一天一天过去,离国赛又更近一步,昨天分享了matlab的算法程序包,但是可能很多小伙伴拿到算法之后,不知道该如何去使用,如何与题目相结合去完成论文的写作,那么这里就需要家人们提高自己文章的阅读量&…

【python与java的区别-序列(字符串、列表、元组)02】

序列都可以进行的操作包括索引,切片,加,乘,检查成员。 一、字符串 1、定义 Java中的字符是单引号,字符串是双引号;Python则是单双都可以,python也可以使用三引号创建多行字符串 shello fre…

kubernetes之HPA和VPA

目录 HPA 服务发布 创建HPA 增加负载 停止产生负载 VPA HPA HPA(Horizontal Pod Autoscaling,Pod水平自动伸缩)是Kubernetes中的一个核心功能,它允许用户根据当前Pod的资源使用率(如CPU、内存等)或其…

想知道排名好的自闭症学校有哪些?这里为你解答

在当今社会,自闭症儿童的教育和康复问题备受关注,网络上关于自闭症学校排名的文章层出不穷。然而,家长们在为自己的孩子挑选合适的学校时,切不可盲目依赖这些排名,一定要结合线下实地考察。 那么,一…

ONES 王颖奇:关于 ONES V6 发布的解读

经过近一年的产品研发,ONES 正式发布 V6 版。 结合 ONES 的产品成熟度阶段和近两年的市场变化,ONES V6 为以下几个场景做了能力深耕。 1. 系统兼容和部署方面,软件供应链国产化政策引导趋势明显,在金融等领域要求全栈信创支持。 …

【数据结构-哈希前缀】力扣1590. 使数组和能被 P 整除

给你一个正整数数组 nums,请你移除 最短 子数组(可以为 空),使得剩余元素的 和 能被 p 整除。 不允许 将整个数组都移除。 请你返回你需要移除的最短子数组的长度,如果无法满足题目要求,返回 -1 。 子数组…

模型类DTO、PO、VO

项目中有三类模型类:DTO数据传输对象、PO持久化对象,DTO用于接口层向业务层之间传输数据,PO用于业务层与持久层之间传输数据;有些项目还会设置V0对象,V0对象用在前端与接口层之间传输数据,当前端有多个平台且接口存在差…

pr转场预设导入方法怎么操作?

最近很多小伙伴问我一种问题,那就是pr转场预设如何导入?premiere无法导入预设prfpset文件,双击文件导入不行,pr内部点导入文件也不行,显示文件格式不支持,每当遇到这样的问题,同学们都会十分苦恼…

Ubuntu下交叉编译器工具链的安装方法

本篇文章记录Ubuntu下交叉编译器工具链的安装方法。 目录 一、交叉编译器 1、交叉编译器简介 2、获取交叉编译器 3、安装交叉编译器 4、安装相关库 二、结语 一、交叉编译器 1、交叉编译器简介 交叉编译器是一种编译器,它在一种平台上运行,但生成…

爱思唯尔这三个latex模版有什么区别?

这三个模板在大部分内容上是相同的,主要的区别在于它们处理引用和参考文献的方式。这三种模板分别对应不同的文献引用需求,这通常是根据目标期刊的具体要求来决定的: Harvard style(elsarticle-template-harv.tex)&…

超详细!!!electron-vite-vue开发桌面应用之数据全局状态管理pinia配置(八)

云风网 云风笔记 云风知识库 在这个项目中采用pinia进行全局状态管理 Pinia符合直觉的 Vue.js 状态管理库 ‌Pinia和‌Vuex的主要区别如下: 架构设计 Vuex采用了集中式的架构,将所有的状态存储在一个单一的全局状态树中,通过‌mutations和…

第三届IEEE云计算、大数据应用与软件工程国际学术会议 (IEEE-CBASE 2024,10月11-13)

第三届IEEE云计算、大数据应用与软件工程国际学术会议 ( CBASE 2024 )将于2024年10月11—13日在中国杭州举办。 该会议在连续两届成功举办的基础上,本届将由浙江水利水电学院、浙江省自动化学会、浙江省科协智能制造学会联合体主办,浙江水利水…

三十七、【人工智能】【机器学习】【监督学习】- AdaNet算法模型

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

【Linux】自主编写简单shell

目录 一、C文件接口 二、系统文件I/O 1 .接口介绍 2 .open函数返回值 3 . 文件描述符fd 4 . 文件描述符的分配规则 5 .重定向 6 .使用 dup2 系统调用 7 .FILE 三、缓冲区 一、C文件接口 写文件&#xff1a; #include <stdio.h> #include <string.h> int main(…

Allegro如何调整PCB颜色亮度?

在用Allegro进行PCB设计时,有时候打开别人的PCB板或Demo板,然后在此基础上设计,但发现颜色太亮太刺眼了,不太习惯,那如何调整PCB的亮度呢? PCB板颜色的显示亮度太亮。如下图 下面详细介绍具体设置的方法: 1、选择菜单栏Display→Color/Visibility(颜色/可见度) 2、跳出…

SpringBoot3 + Flowable7 工作流引擎使用笔记

目录 Flowable 简介流程设计器安装使用 SpringBoot 3 整合表结构流程部署启动流程流程审批流程挂起和激活任务分配固定分配表达式分配值表达式方法表达式 监听器分配 流程变量运行时变量历史变量 身份服务候选人拾取任务归还任务指派给别人候选人组创建用户创建用户组用户关联用…

startData

某音startData 记得加入学习群&#xff1a; python爬虫&js逆向3 714283180

贝壳财报解读:彰显韧性,下场拿地,迈向新周期

众所周知&#xff0c;当前我国房地产行业已经迈入“存量房时代”&#xff0c;相比“大扩张时代”&#xff0c;更偏细水长流型&#xff0c;也为贝壳这类“科技驱动的一站式新居住服务平台”&#xff0c;提供了发展舞台。 日前&#xff0c;贝壳披露2024年第二季度财报&#xff1…