车载开发学习——CAN总线

CAN总线又称为汽车总线,全程为“控制器局域网(Controller Area Network)”,即区域网络控制器,它将区域内的单一控制单元以某种形式连接在一起,形成一个系统。在这个系统内,大家以一种大家都认可的“语言”来交流沟通,这种“语言”便是数据传输协议。CAN总线最早是由德国Bosch公司和Inter公司合作开发,目的就是为了解决汽车上众多电子控制单元之间数据的传输问题,它是数据交换的一种串行通讯协议。

为什么使用CAN?

汽车工业蓬勃发展,汽车的电子控制单元逐渐增多。各电控单元之间的信号交换导致汽车线束的级数增加,复杂粗大的线束与汽车有限的布线空间之间矛盾越来越突出,繁多的线束导致电气系统可靠性下降,同时增加了重量。

CAN总线将汽车内部各电控单元之间连接成一个局域网络,实现了信息的共享,大大减少了汽车的线束,如下面的示意图:

比如上图中,每个部分的多个器件都挂载在CAN总线上(一个CAN总线上的所有器件通讯速率必须相同),各个部分再汇集到网关,由网关分配实现各个不同速率的部分之间通讯,这样就很方便轻松实现了对汽车整体电控部分的检测与控制。

子控制单元之间数据的传输问题,它是数据交换的一种串行通讯协议。

CAN总线应用实例

既然这是一个系统,那么这个系统是如何构成的呢?CAN总线主要由导线、控制器、收发器和终端电阻四部分组成。其中导线为由两根普通铜导线绞在一起的双绞线;收发器负责接受和发送网络上共享的信息;控制器的作用是对收到和发送的信号进行翻译;电阻是阻止CAN总线信号产生对变化电压的反射,当电阻出现故障,控制单元的信号将会是无效。

CAN协议及组成

CAN协议经过ISO标准化后有两个标准ISO11898标准和IS011519-2标准。其中ISO11898是针对通信速率为125Kbps~1Mbps的高速通信标准(闭环),而IS011519-2是针对通信速率为125Kbps以下的低速通信标准(开环)。

Kbps:总线的通信速率,指的是位速率。或称为比特率(和波特率不是一回事),表示的是:单位时间内,通信线路上传输的二进制位的数量,其基本单位是 bps 或者 b/s (bit per second)。

CAN的组成一般有两种方式:

  • 1:CPU与CAN控制器集成到一起、再外接CAN收发器;
  • 2:另一种是CPU与CAN控制器分开的,使用的时候需要配置CAN接口电路,比较麻烦。

STM32中就是采用第一种方式,将CAN接口集成在芯片内,使用的时候再外接CAN收发器(顾名思义,可发送,可接收),常用的有TJA1050或者82C250。

CAN收发器是用于TTL电平与差分电压信号相互转换的,

  • TTL电平即单片机引脚直接提供的电平,逻辑0代表低电平,逻辑1代表高电平;
  • 而差分电压信号则为固定的电压值。

2. CAN通信过程

以ISO11898 标准的高速、短距离闭环网络为例,总线最大长度为 40m,通信速度最高为 1Mbps。在 CAN 总线的起止端有一个 120Ω的终端电阻,是用来来做阻抗匹配,以减少回波反射。

CAN总线技术原理

汽车上能采用CAN总线技术,那么CAN总线技术有哪些特点呢?

  • 整体结构特点

CAN为多主工作方式,即每个节点均可以主动发送信息,没有主从之分。这个网络上的任意节点都可以在任意时刻主动的向网络上的其它节点发送信息,完全的自主独立。

  • 信息内容分等级

CAN网络上的信息分为不同的优先级,可以满足汽车上不同操作的实时要求。高优先级的信息最快可以在134微秒内送达。

  • 非破坏性仲裁技术

当多个节点向总线发送信息时,优先级低的节点会主动退出发送,优先级高的节点的信息可以不受影响的继续传输。

  • 报文滤波实现信息传递

通过报文滤波就可以实现点对点、一点对多点及全局广播等几种方式实现数据的传输和接受,不需要专门的协调调度。

  • 传输介质

CAN的通信介质为双绞线、同轴电缆或光纤,可选择性多。

本文主要是简单介绍了车载开发技术中的CAN总线板块,有关车载开发技术还有许多需要深入学习的。这里文章写得比较笼统,更多详细内容可以参考《车载开发手册》点击可以查看详细内容。

基于以上特点,CAN总线有系统数据稳定可靠、线间干扰小、抗干扰能力强等特点,同时CAN总线专为汽车量身定做,可以承受住汽车上恶劣的工作环境,比如点火线圈点火时产生的强大的反充电压、汽车发动机机仓内100℃左右的高温等恶劣工况。

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

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

相关文章

Netty系列教程之NIO基础知识

近30集的孙哥视频课程,看完一集整理一集来的,内容有点多,请大家放心食用~ 1. 网络通讯的演变 1.1 多线程版网络通讯 在传统的开发模式中,客户端发起一个 HTTP 请求的过程就是建立一个 socket 通信的过程,服务端在建立…

VR全景图片如何拍摄制作,拍摄制作过程中要注意什么?

引言: VR全景图片就是通过专业的相机设备捕捉到的一个空间的高清图像,再经过专业工具进行拼合,呈现出一种环绕式的视觉效果。想象一下,当你站在一个完全真实的环境中,可以自由地转动视角,看到四周的景色&a…

高数定理集合啦

haha~ 最近在准备数学竞赛,好久没有发布笔记啦,今天就来一波高数里常用的定理吧,不全面的话后续会更新哒~ 费马定理:对于一个函数的局部极值点,如果导数存在,那么导数在该点处必须为零,即 f(x)0…

SQL数据库管理工具RazorSQL mac中文版特点与功能

RazorSQL mac是一款功能强大的SQL数据库管理工具,它支持多种数据库,包括MySQL、Oracle、Microsoft SQL Server、SQLite、PostgreSQL等。 RazorSQL mac 软件特点和功能 多种数据库支持:RazorSQL支持多种数据库,用户可以通过一个工…

基于R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习高级应用

查看原文>>>【案例教程】基于R语言的Meta分析【全流程、不确定性分析】方法与Meta机器学习高级应用 Meta分析是针对某一科研问题,根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法,对来源不同的研究成果进行收集、合并及定量统计分析…

安装Elasticsearch步骤(包含遇到的问题及解决方案)

注:笔者是在centos云服务器环境下安装的Elasticsearch 目录 1.安装前准备 2.下载Elasticsearch 3.启动Elasticsearch 非常容易出问题 第一次运行时,可能出现如下错误: 一、内存不足原因启动失败 二、使用root用户启动问题 三、启动ES自…

uniapp使用uQRCode绘制二维码,下载到本地,调起微信扫一扫二维码核销

1.效果 2.在utils文件夹下创建uqrcode.js // uqrcode.js //--------------------------------------------------------------------- // github https://github.com/Sansnn/uQRCode //---------------------------------------------------------------------let uQRCode {…

第二证券:A股三季报披露全面启动 多领域上市公司业绩表现亮点纷呈

A股上市公司三季报宣告全面发动。Wind数据闪现,到10月17日记者发稿,来自沪深北三大交易所近80家上市公司首要晒出了最新运营效果体现的“效果单”。本周,相关财报宣告家数也将增至270家左右。与此同时,10月以来,亦有不…

怎么把图片改成jpg格式?

怎么把图片改成jpg格式?大家都知道,随着计算机被发明到现在已经存在了很多年,在这么多的的技术发展过程中,也形成了种类非常多的图片文件格式,例如平时我们能接触到的图片格式有jpg、png、gif、bmp、heic、tiff、jfif、…

vcpkg manifest 的使用

最近项目上要使用 CMakeLists 管理,由于 Windows 版本有依赖到 vcpkg 提供的库,所以需要使用 vcpkg manifest 来统一设置库的版本,方便后续维护 推荐一个文章,介绍的可以说是非常全面了 VCPKG 特性 - Versioning 不过里面也有一些…

C++标准库算法整理

目录 1、数值操作 1.1、std::accumulate 1.2、std::inner_product 1.3、std::partial_sum 1.4、std::exclusive_scan 1.5、std::inclusive_scan 1.6、std::reduce 2、相邻元素 2.1、std::adjacent_difference 2.2、std::adjacent_find 2.3、std::unique 2.4、std::u…

Apache HTTPD 换行解析漏洞(CVE-2017-15715)

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在 一个解析漏洞,在解析PHP时,1.php\x0a将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。 影响范围 apache :2.4.0~2.…

易点易动设备管理系统帮助生产企业提升设备巡检效率

在现代制造业中,设备的正常运行对于生产企业的成功至关重要。然而,设备巡检是确保设备安全性和可靠性的关键环节,但却常常耗费大量时间和资源。为了解决这个问题,许多企业采用了现代化的设备管理系统,其中易点易动设备…

山西电力市场日前价格预测【2023-10-19】

日前价格预测 预测说明: 如上图所示,预测明日(2023-10-19)山西电力市场全天平均日前电价为210.83元/MWh。其中,最高日前电价为337.00元/MWh,预计出现在18: 30。最低日前电价为0.00元/MWh,预计出…

在Maven中配置代理服务器的详细教程

在Maven中配置代理服务器的详细教程如下: 首先,确保您已经安装了Maven。创建一个新的Maven项目。在命令行中输入以下命令: mvn archetype:generate -DgroupIdcom.example -DartifactIdmy-app -DarchetypeArtifactIdmaven-archetype-quickst…

【数据结构】Java对象的比较

作者主页:paper jie_博客 本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 本文录入于《JAVA数据结构》专栏,本专栏是针对于大学生,编程小白精心打造的。笔者用重金(时间和精力…

Spring framework Day21:Spring AOP 注解结合配置类示例

前言 Spring AOP是一种强大的面向切面编程工具,它能够帮助我们更好地处理与核心业务逻辑无关的横切关注点。通过使用注解和配置类的方式,我们可以更加简洁和灵活地实现AOP。 本文将以一个示例来介绍如何结合注解和配置类来使用Spring AOP。通过这个示例…

Windows 钉钉多开 dingtalkRC版

亲测可用 下载链接: https://dtapp-pub.dingtalk.com/dingtalk-desktop/win_installer/RC/DingTalk_v6.5.20-RC.7229101.exe

Redis消息队列

Redis是一个支持消息队列功能的内存数据库,可以作为消息队列系统使用。 基于List结构模拟消息队列 消息队列(Message Queue),字面意思就是存放消息的队列。而Redis的list数据结构是一个双向链表,很容易模拟出队列效果…

徐建鸿:深耕中医康养的“托钵行者”

为什么是“庄人堂”?杭州“庄人堂”医药科技公司董事长徐建鸿很乐意和别人分享这个名称的由来,一方面是庄子首先提出“养生”这个概念,接近上工治未病的上医,取名“庄人堂”代表庄子门生,向古哲先贤致敬!另…