CAN总线之总线逻辑值

本文详细介绍了CAN总线的显性和隐性逻辑电平,以及高速CAN和低速CAN的电平标准。CAN总线的类型包括高速CAN、容错CAN和单线CAN,其中高速CAN为闭环总线,低速CAN为开环总线。CAN信号的传输过程中,发送方通过改变总线电平发送信息,接收方则通过监听总线电平接收数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.显性和隐性

2.CAN总线类型

3.CAN标准之总线电平

4.CAN信号传输


1.显性和隐性

1.1.CAN总线上的数据位 

CAN总线上的数据位(又称CAN总线位数值)采用具有两种互补的逻辑值,即显性隐性。 

  • 显性:又称为显性等级或显性电平,用逻辑0表示;
  • 隐性:又称为隐性等级或隐性电平,用逻辑1表示;

以上这两个又称为CAN总线中逻辑电平

CAN总线上的CAN信号使用差分电压传送,两条信号线被称为CAN_HCAN_L

1.2.差分电压

差分电压,其实就是CAN_HCAN_L之间的电位差,记V_{diff}

 

 上面的CAN总线位电平其实就是CAN总线位数值(逻辑值“0”或逻辑值“1”)对应CAN总线的显性(电平)和隐性(电平),而显性电平和隐性电平又是由两根信号线CAN_H和CAN_L中的电平所决定。

2.CAN总线类型

CAN总线类型分别是高速CAN容错CAN(也就是低速CAN)单线CAN

注意:单线CAN其实就是CAN的单总线协议,这种CAN总线协议应用场景非常少。

2.1.CAN总线起源 

  • 1986年Bosch在SAE大会上提出CAN总线概念
  • 在1987年Intel就推出了第一片CAN控制器芯片82526,由此点亮CAN总线发展的星星之火。
  • 在1993年CAN国际标准ISO11898/ISO11519发布

ISO11898是高速CAN的标准。
注意:起初,高速CAN数据链路层和物理层都是在ISO11898中,后来就把ISO11898拆分ISO11898-1(只涉及高速CAN数据链路层)和ISO11898-2(只涉及高速CAN物理层)。
ISO11519是低速CAN的标准。
注意:在2006年,ISO11898-3已将ISO11519-2代替,所以我们查低速CAN的标准时,我们不用看ISO11519,可以直接看ISO11898-3。

在某一CAN总线中,显性电平和隐性电平固定在一个范围内,但是不同的CAN类型,显性电平和隐性电平的范围是不同的,

如下图:

  • 高速CAN电平

  • 容错(低速)CAN电平

  • 单线CAN电平

不同类型的CAN总线,显隐性对应CAN_H和CAN_L的电平信号是不一样的。

3.CAN标准之总线电平

  • ISO11898 定义了高速 CAN 通信速率在 125 kbps~1 Mbps 范围,高速CAN属于闭环总线;
  • ISO11519 定义了低速 CAN 通信速率在 10~125 kbps 范围,低速CAN属于开环总线;

为什么说高速CAN是闭环总线?

我们可以根据高速CAN总线的拓扑结构直观看出CAN_H和CAN_L两条信号线通过两个120Ω的终端电阻围成的闭环,所以称为闭环总线

 为什么说低速CAN是开环总线?

我们可以根据低速CAN总线的拓扑结构直观看出CAN_H和CAN_L两条信号线是非闭合的环路,所以称为开环总线

低速CAN总线和高速CAN总线在总线拓扑中的混合使用:

物理层ISO11898(高速CAN)ISO11519-2(低速CAN)
通信速度最高1Mbps最高125kbps
总线最大长度40m/1Mbps1km/40kbps
总线拓扑隐性显性隐性显性
MinNomMaxMinNomMaxMinNomMaxMinNomMax
CAN_H(V)2.002.503.002.753.504.501.601.751.903.854.005.00
CAN_L(V)2.002.503.000.501.502.253.103.253.400.001.001.15

电位差

(H-L)(V)

-0.500.051.52.03.0-0.3-1.5-0.33.00-

上表中的Nom表示基准值
注意:上面粉色区域都是显隐性的电位差的范围,这个范围值是标准规定的。根据这个显隐性电位差的范围,如果一个CAN_H是一个最大值或最小值,那么CAN_L就不可能是满范围,也就是受到CAN_H的限制,使电位差显隐性在这个固定范围(粉色最大和最小),所以这个显隐性信号按照这个标准才是准的。

  • 在CAN总线上,逻辑“0”和“1”之间显著的电压差是通信可靠的保证
    高速CAN总线电平:
    显性:CAN_H =3.5V,CAN_L=1.5V,电压差为2V为逻辑“0”
    隐性:CAN_H =2.5V,CAN_L=2.5V,电压差为0V为逻辑“1”
    低速CAN总线电平:
    显性:CAN_H =4V,CAN_L=1V,电压差为3V为逻辑“0”
    隐性:CAN_H =1.75V,CAN_L=3.25V,电压差为-1.5V为逻辑“1”
  • 高速CAN和低速CAN的平均电压都是2.5V

4.CAN信号传输

  • CAN信号的发送:
    CAN控制器将从CPU传来的信号转换成逻辑电平(即逻辑0-显性电平、逻辑1-隐性电平),这个逻辑电平是CAN发送器和CAN控制器之前所熟知的协定,CAN收发器接收到逻辑电平之后,再将其转换为差分信号输出到CAN总线上。

  • CAN信号的接收:
    CAN接收器将CAN_H 和 CAN_L 线上传来的差分电平转换为逻辑电平输出到CAN控制器,CAN控制器再把该逻辑电平转化为相应的信号发送到CPU上。



    以上总结来说:
    1、发送方通过使总线电平发生变化,将其信息传递到CAN总线上
    2、接收方通过监听总线电平,将总线上的消息读入自己的接收器。

    以上就是根据某些大佬的经验总结出来CAN总线中总线逻辑值的相关学习知识,已经解决了我的疑惑,看看是否对大家有一定帮助!!!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

心骗小白话

和我一起成长吧

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

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

打赏作者

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

抵扣说明:

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

余额充值