一张图看懂CAN总线的原理
图1 CAN通信原理
参考上图,简单来说CAN总线就如两根黄线,通信的原理就好比开一个电话会议,大家都同时拨进来,然后有各种不同的状态,比如:一个人说话,其他人听;或者多个人同时想发言,但也会让其中一个人先说,其他人听;还有一个人要求另一个人来说;还有些掉线了,卡顿了等等。
为了确保每次电话会议针对上述情况正确有效地进行,我们需要一些每个人都应该遵守的规则或协议。CAN总线通信与这种电话会议形式既有相似之处,也有不同之处。那究竟什么是CAN总线通信?
CAN总线架构简介
CAN总线是一种用于不同控制单元之间数据传输的导线。CAN总线协议是ISO国际标准化的串行通信协议,由两个系列组成:ISO-11898和ISO-11519。其定义有:
ISO-11898 定义了通信速率为 125 Kbps ~1Mbps 的高速 CAN 通信标准,属于闭环总线,传输速率可达1Mbps,总线长度≤ 40米,如图2。
ISO11519 定义了通信速率为 10~125 Kbps 的低速 CAN 通信标准,属于开环总线,传输速率为40kbps时,总线长度可达1000米,如图2。
图2
CAN的应用
CAN总线会有终端电阻,一般来说都是120欧姆,实际上在设计的时候,也是两个60欧姆的电阻串起来的,而总线上一般有两个120欧姆的节点。终端电阻的作用有三个:
①提高干扰防护能力,快速消除高频低能量信号。
②确保总线快速进入隐藏状态,这样寄生电容器的能量可以更快地耗散。
③通过将它们放置在总线两端以减少反射能量来提高信号质量。
图3
电信号的传输是通过区分高电压和低电压来进行的,就像CAN通信一样。CAN总线的两条信号线是CAN高(CAN_H)和CAN低(CAN_L)。关于CAN的逻辑0和逻辑1以及CAN总线的显式和隐式方面,编制了以下图表,以使每个人都能清楚地理解。
如下图 4 所示:
图4
注1:在实际开发中,两条线路的电压都以默认值波动,这也是使用差动传输减少误差和噪声干扰的优点;
注2:CAN总线采用“线路和”规则进行总线套利,即如果同时发送多个CAN信号,有些发送1,有些发送0,只要有0,则当前总线为0(1&0=0)。因此,总线上的显式平面由逻辑“0”表示,而隐式平面则由逻辑“1”表示;
虽然差分信号有较好的抗干扰能力,但是长距离信号传输时,我们通常会采用双绞线进行数据传输,以此来从物理上减弱噪声对信号传输过程中的耦合。
图 5 消除电容耦合
图 6 消除电感耦合
图 7 消除对外界的干扰
CAN信号传输
上述的电位差(差分电平)与逻辑电平是通过CAN收发器实现的。在传输过程中,CAN控制器将CPU传输的信号转换为逻辑电平。CAN收发器接收到逻辑电平后,将其转换为差分电平并输出到CAN总线。
图9 CAN信号发送
在接收过程中,CAN收发器发送CAN_H和CAN_L线路上传输的差电平被转换为逻辑电平并输出到CAN控制器,然后CAN控制器将逻辑电平转换为相应的信号并发送到CPU。
图10 CAN信号接收
简单地说,这意味着变送器通过CAN收发器改变总线电平,并将其信息传输到CAN总线。接收器通过监测总线电平将总线上的信息读取到自己的CAN收发器中。
如上所示,CAN总线有两种架构,两种形式的CAN信号,以及发送和接收CAN信号的两个过程。
-
-
CAN
+关注
关注
57文章
2714浏览量
463322 -
通信
+关注
关注
18文章
5968浏览量
135829 -
信号
+关注
关注
11文章
2778浏览量
76601
原文标题:快速了解CAN通讯原理及应用
文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论