CAN 总线终端电阻的作用?为什么是 120Ω?为什么是 0.25W?

转载自https://zhuanlan.zhihu.com/p/456959022 部分修改

CAN 总线终端电阻,一般来说都是 120 欧姆,实际上在设计的时候,也是两个 60 欧姆的电阻串起来,而总线上一般有两个 120Ω的节点,基本上稍微知道点 CAN 总线的人都知道这个道理。

终端电阻的作用

CAN 总线终端电阻的作用有 3 个:

1、提高抗干扰能力,让高频低能量的信号迅速走掉

2、确保总线快速进入隐性状态,让寄生电容的能量更快走掉;

3、提高信号质量,放置在总线的两端,让反射能量降低。

一、提高抗干扰能力

CAN 总线有 “显性” 和“隐性”两种状态,“显性”代表 “0”,“隐性” 代表“1”,由 CAN 收发器决定。下图是一个 CAN 收发器的典型内部结构图,CANH、CANL 连接总线。

总线显性时,收发器内部 Q1、Q2 导通,CANH、CANL 之间产生压差;隐性时,Q1、Q2 截止,CANH、CANL 处于无源状态,压差为 0。

总线若无负载,隐性时差分电阻阻值很大,内部的 MOS 管属于高阻态,外部的干扰只需要极小的能量即可令总线进入显性(一般的收发器显性门限最小电压仅 500mV)。这个时候如果有差模干扰过来,总线上就会有明显的波动,而这些波动没有地方能够吸收掉他们,就会在总线上创造一个显性位出来。所以为提升总线隐性时的抗干扰能力,可以增加一个差分负载电阻,且阻值尽可能小,以杜绝大部分噪声能量的影响。然而,为了避免需要过大的电流总线才能进入显性,阻值也不能过小。

二、确保快速进入隐性状态

在显性状态期间,总线的寄生电容会被充电,而在恢复到隐性状态时,这些电容需要放电。如果 CANH、CANL 之间没有放置任何阻性负载,电容只能通过收发器内部的差分电阻放电,这个阻抗是比较大的,按照 RC 滤波电路的特性,放电时间就会明显比较长。我们在收发器的 CANH、CANL 之间加入一个 220PF 的电容进行模拟试验,位速率为 500kbit/s,波形如图,这个波形的下降沿就是比较长的状态。

为了让总线寄生电容快速放电,确保总线快速进入隐性状态,需要在 CANH、CANL 之间放置一个负载电阻。增加一个 60Ω的电阻后,波形如图,从图中看出,显性恢复到隐性的时间缩减到 128nS,与显性建立时间相当。

三、提高信号质量

信号在较高的转换速率情况下,信号边沿能量遇到阻抗不匹配时,会产生信号反射;传输线缆横截面的几何结构发生变化,线缆的特征阻抗会随之变化,也会造成反射。

能量发生反射时,导致反射的波形与原来的波形进行叠加,就会产生振铃。

在总线线缆的末端,阻抗急剧变化导致信号边沿能量反射,总线信号上会产生振铃,若振铃幅度过大,就会影响通信质量。在线缆末端增加一个与线缆特征阻抗一致的终端电阻,可以将这部分能量吸收,避免振铃的产生。

别人进行了一个模拟试验(图片都是我抄过来的),位速率为 1Mbit/s,收发器 CANH、CANL 接一根 10m 左右的双绞线,收发器端接 120Ω电阻保证隐性转换时间,末端不加负载。末端信号波形如图所示,信号上升沿出现了振铃。

若双绞线末端增加一个 120Ω的电阻,末端信号波形明显改善,振铃消失。

一般在直线型拓扑中,线缆两端即是发送端,也是接收端,故线缆两端需各加一个终端电阻。

而在实际应用过程中,CAN 总线一般都不是完美的总线式的设计,很多时候是总线型和星型的混合结构,这个时候一般都将 CAN 终端电阻布置在线束最远的两端,来尽量的模拟 CAN 总线的标准结构。

为什么选 120Ω?

什么是阻抗?在电学中,常把对电路中电流所起的阻碍作用叫做阻抗。阻抗单位为欧姆,常用 Z 表示,是一个复数 Z= R+i(ωL–1/(ωC))。具体说来阻抗可分为两个部分,电阻(实部)和电抗(虚部)。其中电抗又包括容抗和感抗,由电容引起的电流阻碍称为容抗,由电感引起的电流阻碍称为感抗。这里的阻抗是指 Z 的模。

任何一根线缆的特征阻抗都可以通过实验的方式得出。线缆的一端接方波发生器(这里指的不一定是信号发生器,因为信号发生器的功率很低,且阻抗一般默认50Ω。可以使用门电路,或MCU的IO),另一端接一个可调电阻,并通过示波器观察电阻上的波形。调整电阻阻值的大小,直到电阻上的信号是一个良好的无振铃的方波,此时的电阻值可以认为与线缆的特征阻抗一致。

采用两根汽车使用的典型线缆,将它们扭制成双绞线,就可根据上述方法得到特征阻抗大约为 120Ω,这也是 CAN 标准推荐的终端电阻阻值,所以这个 120Ω是测出来的,不是算出来的,都是根据实际的线束特性进行计算得到的。当然在 ISO 11898-2 这个标准里面也是有定义的。

为什么功率还要选 0.25W?


这个就要结合一些故障状态也计算,汽车 ECU 的所有接口都需要考虑短路到电源和短路到地的情况,所以我们也需要考虑 CAN 总线的节点短路到电源的情况,根据标准需要考虑短路到 18V 的情况,假设 CANH 短路到 18V,电流会通过终端电阻流到 CANL 上,而 CANL 内部由于限流的原因,最大注入电流为 50mA(TJA1145 的规格书上标注),这时候 120Ω电阻的功率就是 50mA50mA120Ω=0.3W。考虑到高温情况下的降额,终端电阻的功率就是 0.5W。转载文章代表原作者观点,侵删 。

posted @ 2022-01-26 10:22  不明白就去明白  阅读(2333)  评论(0编辑  收藏  举报