问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

如何理解CAN的显隐性电平

创作时间:
作者:
@小白创作中心

如何理解CAN的显隐性电平

引用
CSDN
1.
https://blog.csdn.net/weixin_43199439/article/details/141002890

CAN(Controller Area Network)总线是一种广泛应用于汽车电子和工业控制领域的串行通信协议。它通过差分信号在两条线路上进行数据传输,使用显性电平和隐性电平来表示逻辑0和逻辑1。本文将详细解释这两种电平的概念及其在实际通信中的应用。

在CAN(Controller Area Network)总线通信中,数据传输是通过差分信号在两条线路上进行的。为了理解CAN总线如何通过两根线表示逻辑0和逻辑1,我们需要了解隐性电平和显性电平的概念,以及CAN收发器的作用。

隐性电平与显性电平

  1. 隐性电平(Recessive Level) :

    • 定义 : 在CAN总线中,隐性电平指的是CANH(CAN High)和CANL(CAN Low)之间的电压差为0V。
    • 实际电压范围 : -0.5V 到 0.05V。
    • 逻辑含义 : 代表逻辑1。
    • 记忆法 : 你可以记住“隐性”代表逻辑1,因为当CAN总线上的电压差几乎为零时,我们把它称为隐性电平(隐形的电压差,逻辑1)。
  2. 显性电平(Dominant Level) :

    • 定义 : 在CAN总线中,显性电平指的是CANH和CANL之间的电压差为2V。
    • 实际电压范围 : 1.5V 到 3V。
    • 逻辑含义 : 代表逻辑0。
    • 记忆法 : “显性”代表逻辑0,因为在这种情况下,电压差非常明显,电压差为2V(显著的电压差,逻辑0)。

差分信号的表示方法

CAN总线使用差分信号来提高抗干扰能力和通信稳定性。差分信号是通过两根线路(CANH和CANL)来表示数据的状态:

  1. 隐性电平(逻辑1) :

    • 电压状态 : CANH和CANL的电压几乎相同,即电压差接近0V。
    • 电压范围 : CANH和CANL都在接近0V,范围大约是-0.5V到0.05V。
  2. 显性电平(逻辑0) :

    • 电压状态 : CANH和CANL之间的电压差为2V,即CANH的电压比CANL高2V。
    • 电压范围 : CANH的电压在1.5V到3V之间,CANL的电压在0V到1.5V之间。

CAN收发器的作用

CAN收发器 的主要作用是将逻辑电平转换为适合CAN总线的差分信号:

  1. 数据发送 : 当芯片需要发送数据时,CAN收发器将数据转换为差分信号。在发送逻辑0(显性电平)时,收发器确保CANH和CANL之间有一个2V的电压差;在发送逻辑1(隐性电平)时,收发器确保两条线的电压差几乎为0V。

  2. 数据接收 : 当CAN总线接收到信号时,CAN收发器将差分信号转换为逻辑电平,然后传递给接收芯片进行处理。

总结

  • 隐性电平 (逻辑1)和 显性电平 (逻辑0)是通过CAN总线上的电压差来表示的。
  • 隐性电平 时CANH和CANL电压几乎相同,电压差接近0V。
  • 显性电平 时CANH和CANL电压差为2V,CANH的电压高于CANL的电压。
  • CAN收发器 的作用是将逻辑电平转换为适合CAN总线的差分信号,确保数据在总线上的正确传输。

让我们通过一个具体的例子来说明CAN总线如何使用隐性电平和显性电平来传输数据。

例子:传输数据的过程

假设我们有一个汽车控制系统,里面有多个控制单元,比如发动机控制单元(ECU)、刹车控制单元和车身控制单元。它们需要通过CAN总线互相通信。以下是一个传输逻辑0和逻辑1的具体过程:

1. 发送逻辑0(显性电平)
  • 情景 : 发动机控制单元(ECU)需要告诉刹车控制单元,当前刹车状态为“激活”。
  • 电压状态 :
*    **CANH** : 2.5V(比如在1.5V到3V的范围内)
*    **CANL** : 0.5V(因此电压差为2V)
  • 说明 : 在这个情况下,CAN收发器将CANH电压设定在高电平(2.5V),同时将CANL电压设定在低电平(0.5V),形成显性电平,代表逻辑0。
2. 发送逻辑1(隐性电平)
  • 情景 : 发动机控制单元(ECU)现在需要发送一个无关紧要的状态更新,比如当前不需要进行任何操作。
  • 电压状态 :
*    **CANH** : 0V(或接近0V)
*    **CANL** : 0V(或接近0V)
  • 说明 : 在这个情况下,CAN收发器将CANH和CANL的电压都调整到接近0V,从而形成隐性电平,代表逻辑1。这意味着网络中没有紧急数据传输。

具体的电压变化示意

发送逻辑0的过程:
发送逻辑0
    CANH:  |--- 2.5V ---|
    CANL:  |--- 0.5V ---|
           ---
          电压差: 2V
发送逻辑1的过程:
发送逻辑1
    CANH:  |--- 0V ---|
    CANL:  |--- 0V ---|
           ---
          电压差: 0V

总结

通过这个例子,我们可以看到:

  • 逻辑0 是通过将CANH设为高电压(2.5V),将CANL设为低电压(0.5V)来实现的,形成了一个明显的电压差(显性电平)。
  • 逻辑1 则是通过将两条线的电压都设为接近0V来实现的,形成了电压差接近于0V(隐性电平)。

这样,汽车控制系统的不同模块就可以通过CAN总线有效地传输它们之间的数据。希望这个例子能帮助你更好地理解CAN总线的工作原理!

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号