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

2022-07-26 08:40:01 浏览数 (1)

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

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

  • 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.cn/128026.html原文链接:https://javaforall.cn

0 人点赞