各位工程师想必都知道终端电阻的作用是消除信号反射,但其实并不是所有情况都需要终端电阻,有时终端电阻反而会影响信号质量。本篇文章为大家深度解析CAN/RS-485总线的终端电阻设置。
如果我们查询百度百科,终端电阻的档案似乎十分清白:
仿佛在通讯链路的首末两端加上这样一个法宝,即可避免信号的反射,使信号的传播更为顺畅。这样说虽然没有错误,但仍有些细枝末节没能捋出头绪。下面让我们来看看CAN总线和485总线中终端电阻的情况如何?
一 CAN总线
CAN总线中,终端电阻是必不可少的。它存在的意义主要包括两点:
可以确保电平快速进入隐性状态;
提升信号质量。
1、确保电平快速进入隐性状态
在显性状态期间,总线的寄生电容会被充电,而在恢复到隐性状态时,这些电容需要放电。如果CANH、CANL之间没有放置任何阻性负载,电容只能通过收发器内部的差分电阻放电。我们在收发器的CANH、CANL之间加入一个220PF的电容进行模拟试验,位速率为500kbit/s,波形如下图所示。
CAN总线 220pf无终端电阻
CAN总线 220pf增加终端电阻
2、提高信号质量
信号在较高的转换速率情况下,信号边沿能量遇到阻抗不匹配时,会产生信号反射;传输线缆横截面的几何结构发生变化,线缆的特征阻抗会随之变化,也会造成反射。
在总线线缆的末端,阻抗急剧变化导致信号边沿能量反射,总线信号上会产生振铃,若振铃幅度过大,就会影响通信质量。在线缆末端增加一个与线缆特征阻抗一致的终端电阻,可以将这部分能量吸收,避免振铃的产生,如下图所示。
CAN总线无终端电阻
CAN总线增加终端电阻
二 485总线
1、RS-485总线增加终端电阻好处
485总线设置终端电阻主要是为了用来抑制信号的反射。
提高信号质量组建RS-485总线网络时,通常使用特性阻抗为120Ω的屏蔽双绞线,由于RS-485收发器输入阻抗一般较高(例如RSM485ECHT输入阻抗为96kΩ,最多可连接256个节点),在信号传输到总线末端时会由于受到的瞬时阻抗发生突变(以RSM485ECHT为例,阻抗由120Ω变为96kΩ),导致信号发生反射,影响信号的质量。RSM485ECHT在1200m,500kbps通信速率的情况下不加终端电阻和加终端电阻的波形如下图所示,终端电阻明显改善了信号的质量。
RSM485ECHT 1200m 500kbps不加终端电阻
RSM485ECHT 1200m 500kbps 加终端电阻