如图1所示,在CAN总线的实际应用中,需要在总线的两端连接一个120Ω的电阻。那么,使用120Ω电阻的依据是什么呢?

图 1
下面我们以TJA1044的内部结构图为例进行分析。

图 2
CAN总线的特性是显性状态代表0,隐性状态代表1。当总线处于隐性状态时,TJA1044内部的上下晶体管Q1和Q2均处于截止状态,CANH和CANL引脚处于非激活状态,电压差为0V。当总线处于显性状态时,TJA1044内部的上下晶体管Q1和Q2均处于导通状态,CANH和CANL引脚之间产生电压差。如果总线上没有负载且处于隐性状态,则总线的差分电阻会非常大,即使是极小的外部能量也会导致总线变为显性状态。这主要是因为典型收发器中显性状态的最小阈值电压仅为500mV左右。因此,为了提高总线的抗干扰能力,需要一个终端电阻。但是,该电阻的阻值应尽可能低(同时也要避免过大的电流)。
此外,总线上的寄生电容也必须考虑在内。当总线处于主导状态时,电容充电;当总线处于隐蔽状态时,电容放电。如果总线上没有任何并联电阻,则只能通过两端的收发器放电。这会影响两种状态(隐蔽状态和主导状态)之间的转换时间,导致波形异常(爬升),如图 3 所示。当信号在高速传输路径中遇到阻抗不连续时,会引起信号反射,我们称之为阻抗不连续。添加终端电阻可以消除或减少这些信号反射的影响。终端电阻吸收信号能量,防止其在总线上扩散。那么,为什么是 120Ω 呢?事实上,ISO 11898-2 标准明确规定,120Ω 是通过大量实验测试确定的最合理的电阻值。
图 3
如果要验证实际项目中需要多大的母线端电阻,可以使用下图 4 所示的方法进行测试。
图 4
将一个可调电阻并联到总线上,并调节其阻值,直到方波波形保持稳定无失真。选择终端电阻功率时,必须考虑接口的短路情况。这意味着,如果发生短路,短路电流将直接从CANH流向CANL。然而,典型的CAN收发器所能承受的电流只有几十毫安(由于收发器内部的限流措施)。例如,TJA1044只能承受50毫安的电流。根据公式P = I² * R,我们得到50 mA * 50 mA * 120 Ω = 0.3 W。因此,电阻功率选择为0.25 W,这是常见的1206封装的功率。