汽车CAN总线基础介绍

1、 什么是CAN?

CAN是Controller Area Network缩写,中文名称控制器局域网络。从名称就可以看出来,CAN是一种控制器之间通讯的现场总线。CAN总线最早应用于汽车工业,由德国BOSCH提出。由于消费者对汽车功能需求的不断增加,汽车中电子器件不断增加,造成各控制器之间通讯信号接线方式复杂,因此设计了一个单一的网络总线,整车的所有控制器都可以挂在这个网络上。
在这里插入图片描述
2、 CAN总线物理层

下图为比较典型的网络拓扑
在这里插入图片描述
CAN总线的物理层传输介质可以为双绞线、光纤、同轴电缆等。主机厂一般使用双绞线,在双绞线上传输的信号形式为差分信号,差分信号即大小相等跳变方向相反的信号。差分信号的主要优点为传输稳定,抗干扰能力强。因为两条信号线一同走线,干扰一般会同时等值的加到两条线上,到了接收端进行差分运算时就可以消除干扰影响。

双绞线的一般要求:

A、 阻抗:120Ω,5ns/m延时;

B、 绞距:1m 33绞至50绞;

C、 线经:0.35mm²至0.5mm²

与光从一种介质进入另一种介质会发生反射类似,对于高频信号,当阻抗不连续时,会引发信号的反射,反射波会干扰原信号,为了消除这种反射会在网络的终端增加一颗与线束阻抗相同的电阻,另因为信号的传递是双向的,因此在另一端也需增加电阻。终端电阻阻值一般选用120Ω。

3、CAN总线工作原理

CAN总线的两条信号线分别为CAN_H及CAN_L。总线当传输数据时,隐性电平(逻辑1)CAN_H及CAN_L电压均为2.5V,电压差为0V;显性电平(逻辑0)CAN_H为3.5V,CAN_L为1.5V,电压差为2V;
在这里插入图片描述
0和1的不同组合就组成了CAN总线中的一条条报文,对于报文帧的格式主要有两种:标准帧与数据帧,两种形式之间的区别如下图所示:标准帧的仲裁域有11位,扩展帧的仲裁域有29位。扩展帧能够扩展更多节点,与标准帧主要区别是ID的数据。扩展帧主要应用于卡车、工程车、商务车,乘用车一般使用标准帧。
在这里插入图片描述
对于CAN总线上的各个节点,都是可以向网络上发送报文的,但如果所有节点同时向总线发送报文,就会造成总线混乱。因此CAN总线采用了一种类似“会议”的机制,当两个人同时准备发言的时候,需要先进行比较,优先级高的先说话,优先级低的等会再说。确保在同一个时间段只有一个节点发送报文,其他节点根据需要选择性接收报文。关系如下:
在这里插入图片描述
在这里插入图片描述
比较报文“优先级”高低使用的就是每帧报文中仲裁场的ID,对于CAN总线上的节点ID都是唯一的,当进行比较是同一位逻辑0高于逻辑1,两个节点从第一位开始对ID进行比较,第一位相同比较下一位,第一位不同逻辑0的节点胜出开始发送报文,仲裁失败的节点暂停发送报文,等待下一次的总线空闲重新发送,以此类推。

4、对于总线传输速率的思考
CAN总线传输速率与总线长度有关,越长最大传输速率越低。当总线长度为40m时,最大传输速率为1Mbit/s;总线长度为1Km时,最大传输速率为50Kbit/s。
CAN总线采用应答机制,一个节点的一帧报文在接近发送完成的时候会有个应答场(ACK场),ACK场由两位逻辑1组成,在ACK场的ACK区域,收到此条报文的节点会在此时发送逻辑0,逻辑0(显性电平)会覆盖逻辑1(隐形电平),发送节点检测到逻辑0就知道已经发送成功。

数据在双绞线上传输存在延时,延迟时间为5ns/m(典型值,上文中有提到)。当总线长度为40m,延迟时间40m*5ns/m=200ns,因为信号传输是双向的,发送节点发送信号,接收节点接收到之后发送逻辑0给发送节点,因此线的延时时间为400ns,同时考虑到信号在ECU内部处理存在延时,各ECU晶振的频率存在差异,会造延迟时间>400ns。延迟的时间就限制了CAN总线的传输速率,总线的长度越长,传输速率越低。

5、报文的发送类形

对于报文的发送类型,一般常用的有:周期型、事件型、混合型
周期型:节点报文按照一定周期发送,当事件变化触发其状态信号变化,发送报文内容发生变化。例如:ECU状态信号
在这里插入图片描述
事件性:当某一事件触发,会连续发送1帧或多帧报文。例如:开关信号
在这里插入图片描述
混合型:当某一事件触发,其周期发生变化。
在这里插入图片描述
6、路由形式

对于同一条CAN网络上的ECU可以彼此接收到对方发出的报文,然而对于不在同一条网络上的ECU,如何实现接收对方发出的报文?这时就需要使用路由实现,路由的方式有两种基本形式:报文路由、信号路由

在这里插入图片描述
报文路由:把一条报文完整的从一条网络传输到另一条网络,包括有用的信号和无用的信号。
在这里插入图片描述
信号路由:只转发目标网络需要的信号。
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Net蚂蚁代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值