了解CAN功能

了解CAN功能,学习CAN功能,理解CAN和串口的区别,以及它和RS485的相似之处。

1、“多主机”特性

在CAN网络通讯中,无需其它设备同意,每个CAN设备都可以主动向外发送数据,且所有设备都会收到数据,包括它自己。而在RS485网络中,其它设备通常需要在主机的协调下才可以进入正常的通讯。

2、“高优先级的标识符设备”优先发送特性

假如网络中有设备在发送“标识符数据”,“高优先级的标识符设备”会打断发送方,进入优先发送“标识符”。如果它发现设备正在发送“非标识符数据”,它会主动让对方发送完成。为了保证多主机特性,“高优先级的标识符设备”的发送频率不要过高。

3、发送方知道发送的数据被正确接收

在CAN网络通讯中,每帧数据发送完成,所有的CAN设备都会给出应答,发送方应答隐性电平,而接收方均回答显性电平。由于显性电平优先,发送方会接收到正确的应答。在TTL串口和RS485网络中,发送方不知道发送是否被对方接收了,也就是说,发送了,对方是否正确收到,它不管。而在CAN中,发送方不仅知道发送,还知道发送是否被正确接收。即使接收方知道“解析标识符”不正确,它们也会给出接收正确的应答。

4、知道网络是否繁忙

在CAN总线空闲时,总线上为隐性电平,而CAN会时刻接收网路中的这些位数据,通过空闲位,它会知道网络是否繁忙。

5、CAN收发器和RS485收发器

通过上图,我们发现CAN收发器和RS485收发器有点相似,但CAN收发器没有“使能发送和使能接收”控制引脚,因此,CAN收发器在发送的同时,也可以接收自己发送的数据,以及其它设备发送来的显性位。CAN允许发送和接收同时进行,但它接收的是自己发送的数据或是显性数据位。TTL串口也可以收发同时进行,但是,它收到的是其它设备的数据。有人会说,把TXD和RXD连接到一起,使用单线通讯,采用软件实现,但方法复杂。如果RS485在发送时,使能了RS485接收,这样就和CAN有点相似了,但是,它不是知道总线是否空闲。即使知道,效率也很低下。CAN采用硬件实现,效率更高,更快。

6、CAN过滤器

CAN过滤器会对指定的标识符进行过滤,但不影响CAN的FIFO工作,即使标识符不匹配,FIFO一样会移入新数据位。经过标识符过滤后,硬件会快速告诉CPU接收到正确的数据。

7、CAN标识符

CAN的硬件决定了一个CAN设备可能有多个设备标识符,也可能只有一个设备标识符。这个标识符,可以理解为地址,也可以理解为ID。在CAN网络中,可能会有多个设备拥有相同的标识符。这样,CAN通讯会更加自由,更加灵活。它不再象串口那样,设备地址需要唯一性才可以实现正确的多机通讯。当然你也可以通过复杂的程序去实现,那样做,实在是太复杂了。

8、CAN空闲位

CAN总线空闲的定义是连续11个位的隐性电平(逻辑为1)。而CAN的显性电平逻辑为0,一旦有显性就说明肯定至少有1个设备节点在发送数据,那就表明总线不是空闲了。CAN的帧间隙是连续3个以上隐性电平。具体多少个空闲位,没有测试。这个是搜索得到的。

以上内容,通过实验总结得到的,可能存在理解偏差。

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

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

相关文章

基于springboot实现智慧校园之家长子系统项目【项目源码】计算机毕业设计

基于springboot实现智慧校园之家长子系统演示 SpringBoot框架介绍 本课题程序开发使用到的框架技术,英文名称缩写是SpringBoot,在JavaWeb开发中使用的流行框架有SSH、SpringBoot、SpringMVC等,作为一个课题程序采用SSH框架也可以&#xff0c…

钙钛矿电池产业化进程加快 狭缝涂布机市场需求空间广阔

钙钛矿电池产业化进程加快 狭缝涂布机市场需求空间广阔 狭缝涂布机即狭缝式涂布设备,是一种将涂料均匀、精密涂布在样品表面的设备。狭缝涂布机通常由涂布模头、喷嘴、刮刀、供液泵、运动平台等部分组成,通过控制供液泵及速率,将涂料从喷嘴挤…

Mendix 创客访谈录|Mendix助力开发高手10日交付复杂应用,且支持移动端呈现

本期创客 莊秉勳 布鲁科技技术顾问 各位Mendix社群的夥伴好,我是莊秉勳,大家也可以叫我Danny。 我大學是資訊科學背景,在與Mendix相遇前,曾在一上市製造企業,擔任軟體工程師,負責企業內部軟體開發&#xf…

【iOS】Runtime

文章目录 前言一、Runtime简介二、NSObject库起源isaisa_t结构体cache_t的具体实现class_data_bits_t的具体实现 三、[self class] 与 [super class]四、消息发送与转发五、Runtime应用场景 前言 之前分part学习了Runtime的内容,但是没有系统的总结,这篇…

如何安装“Whistle客户端”在Windows系统?

一、下载 https://github.com/avwo/whistle-client?tabreadme-ov-file 二、安装 按照正常的应用程序进行安装 三、安装根证书 1、 2、下载证书后,双击证书,根据指引安装证书。证书安装过程,要确保证书存储到受信任的根证书颁发机构下。重…

指纹考勤系统

目录 1.课题研究目的和内容 1.1 课题研究目的 1.2 课题研究内容 2.系统总体方案设计及功能模块介绍 2.1总体方案设计 2.2 ATK-301模块介绍 2.3 TFTLCD显示功能模块介绍 2.4 蜂鸣器报警功能模块介绍 2.5 时钟模块介绍 3.系统硬件设计与实现 3.1 系统硬件电…

深度解析淘宝API接口:功能、限制与最佳实践

在当今日益繁荣的电商领域,淘宝作为中国最大的电子商务平台之一,其API接口为开发者提供了丰富的功能和数据资源。本文将深入解析淘宝API接口的功能、限制,并分享一些最佳实践,帮助开发者更好地理解和使用这些接口。 一、淘宝API接…

迎七一党史知识竞赛答题怎么做

迎七一党史知识竞赛答题,不仅是对于党史知识的检验,更是对于参赛者学习态度和综合能力的考量。在参与这类竞赛时,我们需要做好充分的准备,掌握一定的答题技巧,才能取得好的成绩。 首先,我们要深入了解竞赛…

Exception异常机制详细讲解

目录 一、异常1.1 什么是异常1.2 异常机制的作用1.3 常见的异常2.3 异常的分类1. Error2. Exception① 运行时异常② 编译期异常总结: 二、异常的处理2.1 抛出异常3.1 抛出异常语法3.2 试图捕获异常3.3 捕获异常与抛出异常的区别1. 抛出异常2.捕获异常 三、finally四…

# 全面解剖 消息中间件 RocketMQ-(5)

全面解剖 消息中间件 RocketMQ-(5) 一、RocketMQ :过滤消息的两种方式 1、Tag 过滤 在大多数情况下,TAG 是一个简单而有用的设计,其可以来选择您想要的消息。 例如: DefaultMoPushconsumer consumer new DefaultM…

新项目来了,JDK 17和JDK 21 该如何选择?

博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典!《IDEA开发秘籍》 — 提升你的IDEA技能!《100天精通鸿蒙》 …

FPGA Verilog模块化设计入门篇一

随着电子技术的快速发展,现场可编程门阵列(FPGA)已成为现代电子系统设计中不可或缺的一部分。FPGA的灵活性、可重构性和高性能使得它成为处理复杂算法、加速数据处理和实现特定功能的理想选择。然而,随着系统复杂性的增加&#xf…

抢拍寄售模式:引领行业潮流的新商业引擎

在如今竞争激烈的市场中,企业的成功不仅依赖于产品和服务的质量,更在于能否把握市场趋势,采用创新的商业模式来推动增长。今天,我将详细介绍一种新兴的商业模式——抢拍寄售模式。这种模式以其独特的业务流程和逻辑,正…

让企业自己掌握数据主权,可道云teamOS让企业数据私有化不再是难题,让企业数据更安全、更可控

越来越多的企业开始意识到,仅仅依赖公共云存储服务可能无法满足其对于数据安全性的高标准要求。 毕竟每年都会有不同程度的数据泄露问题爆出,导致大家在使用企业网盘的时候也总是惴惴不安。一旦数据泄露或被非法获取,企业将面临巨大的经济损…

github将默认分支main改为master

github将默认分支main改为master 1.进入github,点击setting 2.在setting中,选择Respositories,更新默认分支为master 3.选择要更新的项目,在项目中选择setting->general->切换默认分支

PPT设置为本框的默认格式以及固定文本框

调整文本框固定位置 双击文本框之后勾选如下三个位置 设置文本框为默认 在调整好文本框的基本性质后,设置为默认即可

【2024PythonPycharm详细安装教程】

1.打开官网 https://www.python.org/ downloads——>Windows 2.找到 Download Windows installer (64-bit) 下载 3.下载完成双击安装包 勾选Add python.exe to PATH(自动配置系统变量) 点击Install Now(默认安装) 然后看到安装成功&#xff0…

C# 校验Json格式

错误json:错误值 -2146.379 [{"Key": "surface_heights_average","Value": "-2122.739nm","Description": "surface_heights_average"}, {"Key": "surface_heights_max","V…

python语句执行不了

文章目录 问题解决方案小结 问题 执行命令 python install -r .\requirements.txt出现问题如下: D:\soft\Python310\python.exe: cant open file G:\\Area\\C\\Fay\\install: [Errno 2] No such file or directory (.venv) PS G:\Area\C\Fay> pip install -r .…

微软AI PC革命Windows,游戏竟带头开挂

在购物节到来之际,各个厂家都摩拳擦掌,除了手机那边搞得热火朝天,当然电脑这边也没闲着。 微软就趁着 520 这味儿,召开了自己的 Build 2024 开发者大会,同时还发布了最新一代的 Surface Pro 和 Surface Laptop&#xf…