CAN通信(一)——认识CAN总线[通俗易懂]

CAN总线通俗易懂CAN总线背景CAN总线是什么网络拓扑节点、报文、信号CAN总线背景作为并非通信专业的土鳖汽车工程师,CAN通信是必须掌握的,但是,记得刚开始上来一看什么定义(什么串行数据通信协议,什么物理层和数据链路层功能,什么帧处理,位填充。。。刚学的时候确实一脸懵)。所以,我只从汽车工程师的角度讲讲我能理解和用得到的CAN通信,才疏学浅,请各位指教!关于OSI模型、物理层、数据链路层,高低电平、数据帧。。等等等,请自行查看如下链接:链接:https://blog.csdn.net/kgc

大家好,又见面了,我是你们的朋友全栈君。

CAN通信(一)——认识CAN总线

CAN总线

背景

作为并非通信专业的汽车工程师,汽车CAN通信是必须掌握的,但是,记得刚开始上来一看什么定义(什么串行数据通信协议,什么物理层和数据链路层功能,什么帧处理,位填充。。。刚学的时候确实一脸懵)。所以,我只从汽车工程师的角度讲讲我能理解和用得到的CAN通信,才疏学浅,请各位指教!

关于OSI模型、物理层、数据链路层,高低电平、数据帧。。等等等,请自行查看如下链接:
链接:
https://blog.csdn.net/kgcjie/article/details/78208720.

CAN总线是什么

CAN总线,并不是他很能,只是一个缩写
CAN:Controller Area Network。控制器局域网络总线
绝大多数汽车制造厂商采用CAN总线来实现汽车内部控制系统之间的数据通信,CAN总线也叫CAN BUS

BUS?恩,这不是公交的意思么,没错,公共汽车是可以运输大量的乘客的,CAN通信也就可以传输大量的信号。下边这个图片很形象
在这里插入图片描述
简单的说,CAN总线就是用于传输数据的通信协议。

传统汽车线束链接:
在这里插入图片描述
缺点:
1、需要大量的信号传输线
2、针脚数增加
3、线路复杂
想想:
线束增加了这么多,重量大了,生产成本高了,主机厂能不心疼么,而且故障率也高。

车辆CAN总线通讯
在这里插入图片描述
这个CAN总线图是不是和BUS一样额

网络拓扑

在这里插入图片描述
网关是整个CAN网络的核心, 控制着整车几条CAN总线的信号转发与处理,示意图只展示了其中的两条。
发动机、变速器、ESP属于高速CAN,因为实时性比较强
仪表、灯光、车窗属于低速CAN,实时性相对较低

节点、报文、信号

如网络拓扑图显示:
节点:就是对应发动机、变速器、仪表、车窗等
报文:节点之间相互传输信息的时候是通过发送报文来传输信息,多少毫秒发送一次,也就是报文的发送周期
信号:信号属于报文,报文中含多个信号
为通俗易懂,采用如下比喻:

节点:对应站牌,接收和发送乘客
报文:对应每几分钟过来的公交车,几分钟就是报文的发送周期,当然实际车的报文通常是毫秒级的
信号:公交车里边的乘客

这个比喻和CAN总线的信号传输一样,所有的信息都在总线上(公交上所有的乘客信息),但并不是所有的节点都接收这个信息(乘客选择下车的站牌)。
当然这里边是乘客选择了这个站牌,实际的CAN通信是节点选择接收了这信息。

下一节介绍下CAN通信的信号矩阵。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128026.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月10日 下午11:40
下一篇 2022年4月11日 上午6:00


相关推荐

  • iPhone屏幕尺寸、分辨率及适配

    从初代iPhone3GS到现如今的iPhone6(+),屏幕尺寸、分辨率、像素密度都在在不断增大。如何适配不同的屏幕尺寸,使UI更加协调美观,这给iPhone/iOS应用开发者带来了挑战。本文结合个人在iOSUI开发和适配方面的粗浅经验,对常用屏幕适配相关因素做个梳理盘点,以备日后查阅。

    2022年4月7日
    228
  • 相机标定(一)-原理及内参、外参

    相机标定(一)-原理及内参、外参在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数的过程就称之为相机标定(或摄像机标定)。无论是在图像测量或者机器视觉应用中,相机参数的标定都是非常关键的环节,其标定结果的精度及算法的稳定性直接影响相机工作产生结果的准确性。…

    2022年5月28日
    48
  • 使用Ubuntu搭建Web服务器

    使用Ubuntu搭建Web服务器Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源。Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app),更重要的是容器性能开销极低。总而言之,Docker相当于在你的电脑上建了一个虚拟机…

    2022年5月28日
    32
  • 数学开区间和闭区间的区别_数学封闭区间什么意思

    数学开区间和闭区间的区别_数学封闭区间什么意思       开区间用(a,b)来表示,闭区间用[a,b]来表示。闭区间包括了两个端点a和b,而开区间不包含两个端点a和b。      下面这个游戏是我以前的老师告诉我的。游戏的规则是:两个人分别在开区间(a,b)内取一个数,两个人取的数不许相同,谁取的数大,那么谁赢。这个游戏显然是谁先取谁输!具体一点,假设是在(0,1)这个区间来玩这个游戏。第一个人取的是0.9另一个只要取0.91就可以

    2025年6月8日
    7
  • 离散数学总复习精华版(最全 最简单易懂)已完结

    离散数学总复习精华版(最全 最简单易懂)已完结离散数学期末总复习精华版P1命题逻辑的基本概念虽然是不确定但是可以是命题就是无法判断真假优先级P2命题逻辑等值演算第一种方法:真值表求第二种用等值演算求P3命题逻辑推理理论下面给出例题后面的可以写成前提引入T12下面给出反证法附加前提证明:…………

    2022年6月18日
    29
  • linux平均负载什么意思_linux服务器负载高

    linux平均负载什么意思_linux服务器负载高1,Linux系统的平均负载是什么?特定时间间隔内运行队列中的平均进程数,好象还不够明白:就是进程队列的长度,有多少个进程在排队等待运行2,什么是”进程队列”?一个进程满足以下条件就会位于进程队列中1,它没有在等待I/O操作的结果2,它没有主动进入等待状态(即没有调用wait)3,它没有被停止3,如何查看平均负载?最简单的命令是uptime例子:[www.linuxidc.com@localho…

    2025年9月7日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号