CAN总线系列一:初识CAN总线

CAN协议简介

CAN是控制器局域网络(Controller Area Network)的简称,它是由研发和生产汽车电子产品著称的德国BOSCH公司开发的,并最终成为国际标准(ISO11519),是国际上应用最广泛的现场总线之一。

一、总线特点不分主从,半双工

1、多主通信CAN总线的端点没有地址(除非自己在帧里定义地址),CAN总线通信不用地址,用标识符CAN总线采用了一个11位或29位的标识符来识别不同的数据帧,ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级,不是单独的谁发给谁,而是,你总是发送给整个网络。然后每个节点都有过滤器,对网络上的传播的帧的标识符进行过滤自己想要什么样的帧,可以设置自己的过滤器,接收相关的帧信息如果两个节点同时发送怎么办?这个不用我们担心,CAN控制器会自己仲裁,让高优先级的帧先发CAN可以传输0到8字节的数据。CAN总线具有较好的实时性能,可以在网络中实现精确的时间同步,适用于实时控制系统。

2、采用无破坏性的基于优先级的逐位仲裁,标识符越小,优先级越高。若两个节点同时向网络上传送数据,优先级高的报文获得总线访问权,优先级低的报文会在下一个总线周期自动重发。

3、可以采用点对点、点对多及全局广播等传送方式收发数据。

4、直接通信距离最远可达10km(速率5kb/s以下)。

5、通信速率最高可达1Mb/s(此时距离最长40m)。

6、节点数实际可达110个。

7、每帧信息都有CRC校验及其他检错措施,数据出错率极低。

8、通信介质可采用双绞线、同轴电缆和光导纤维,一般采用廉价的双绞线即可,无特殊要求。 9、节点在错误严重的情况下,具有自动关闭总线的功能,以切断它与总线的联系,使总线上的其他操作不受影响。

二、CAN物理层

与I2C、 SPI等具有时钟信号的同步通讯方式不同, CAN通讯并不是以时钟信号来进行同步的,它是一种异步通讯,只具有CAN_High和CAN_Low两条信号线,共同构成一组差分信号线,以差分信号的形式进行通讯。CAN总线由显性电平隐性电平,执行的是线”与“逻辑即只要总线上有一个节点发送显性电平,则总线为显性电平(即逻辑0),只有总线上发送的所有电平都为隐性时,总线才为隐性电平(即逻辑1)

CAN物理层的形式主要分为闭环总线及开环总线网络两种,一个适合于高速通讯(闭环),一个适合于远距离通讯(开环)

1、闭环总线网络

CAN闭环通讯网络是一种遵循ISO11898标准的高速、 短距离网络, 它的总线最大长度为40m,通信速度最高为1Mbps,总线的两端各要求有一个“120欧”的电阻。

2、开环总线网络

CAN开环总线网络是遵循ISO11519-2标准的低速、远距离网络, 它的最大传输距离为1km,最高通讯速率为125kbps,两根总线是独立的、不形成闭环,要求每根总线上各串联有一个“2.2千欧”的电阻。

三、帧的种类

通信是通过以下 5 种类型的帧进行的。

• 数据帧

• 遥控帧

• 错误帧

• 过载帧

• 帧间隔

另外, 数据帧和遥控帧有标准格式和扩展格式两种格式。 标准格式有 11 个位的标识符(Identifier: 以下称 ID) ,扩展格式有 29 个位的 ID。各种帧的用途如表 7 所示,各种帧的构成如图 11~图 15 所示。

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

排序大乱炖

目录 一:插入排序 1.1直接插入排序 1.2希尔排序 二:选择排序 2.1选择排序 2.2堆排序 三:交换排序 3.1冒泡排序 3.2快速排序 3.2.1Hoare版本 3.2.2双指针法 3.2.3非递归 一:插入排序 1.1直接插入排序 直接插入排序…

第P1周:实现mnist手写数字识别

>- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客** >- **🍖 原作者:[K同学啊 | 接辅导、项目定制](https://mtyjkh.blog.csdn.net/)** 目录 一、前言 二、我…

基于springboot实现网上超市管理系统项目【项目源码+论文说明】

基于springboot实现网上超市管理系统演示 摘要 网络技术和计算机技术发展至今,已经拥有了深厚的理论基础,并在现实中进行了充分运用,尤其是基于计算机运行的软件更是受到各界的关注。加上现在人们已经步入信息时代,所以对于信息的…

从零开始的软件开发实战:互联网医院APP搭建详解

今天,笔者将以“从零开始的软件开发实战:互联网医院APP搭建详解”为主题,深入探讨互联网医院APP的开发过程和关键技术。 第一步:需求分析和规划 互联网医院APP的主要功能包括在线挂号、医生预约、医疗咨询、健康档案管理等。我们…

Java学习九—常用包(类)之java.util包

一、关于java.util包 1.1简介 java.util​ 包是Java标准类库中的一个非常重要的组成部分,它提供了一系列对程序开发非常有用的类和接口。这个包主要包含集合框架、日期时间类、事件模型、随机数生成器以及其他实用工具类。 1.2常用类及接口 集合框架 - 集合框架是…

Reasoning on Graphs: Faithful and Interpretable Large Language Model Reasonin

摘要 大型语言模型(llm)在复杂任务中表现出令人印象深刻的推理能力。然而,他们在推理过程中缺乏最新的知识和经验幻觉,这可能导致不正确的推理过程,降低他们的表现和可信度。知识图谱(Knowledge graphs, KGs)以结构化的形式捕获了大量的事实…

从AutoCAD切换到DraftSight,您需要了解的信息

如果您正在使用其他二维软件进行设计,那么切换到DraftSight是很容易的,DraftSight具有您熟悉的界面和命令,同时还可以定制软件界面以符合您的使用习惯。 关于DraftSight DraftSight利用强大的2D绘图和3D建模功能,优化你的设计流…

PowerBI加权计算权重

1.打开主页,点击快速度量值 2.计算里面 选择计算:每个类别的加权平均值 3.就是添加数据,基值(就是你要计算的值)粗细(就是你要用那个值计算权重)类别(就是你是要乘以那个类别&#x…

C#手术麻醉信息系统全套商业源码,自主版权,支持二次开发 医院手麻系统源码

手术麻醉信息系统是HIS产品的中的一个组成部分,主要应用于医院的麻醉科,属于电子病历类产品。医院麻醉监护的功能覆盖整个手术与麻醉的全过程,包括手术申请与排班、审批、安排、术前、术中和术后的信息管理提供支持。 手术麻醉信息系统可与EM…

FPGA结构与片上资源

文章目录 0.总览1.可配置逻辑块CLB1.1 6输入查找表(LUT6)1.2 选择器(MUX)1.3 进位链(Carry Chain)1.4 触发器(Flip-Flop) 2.可编程I/O单元2.1 I/O物理级2.2 I/O逻辑级 3.布线资源4.其…

NineData与StarRocks商业化运营公司镜舟科技完成产品兼容认证

近日,镜舟科技与NineData完成产品兼容测试。在经过联合测试后,镜舟科技旗下产品与NineData云原生智能数据管理平台完全兼容,整体运行高效稳定。 镜舟科技致力于帮助中国企业构建卓越的数据分析系统,打造独具竞争力的“数据护城河”…

Word邮件合并

Word邮件合并功能可以解决在Word中批量填写内容的需求,当需要大量格式相同,只修改少数相关内容时,例如利用Word制作工资条,通知函,奖状等等,同时操作也非常简单灵活。下面通过例子来说明邮件合并的使用方法…