RS485总线相信对大家来说都不陌生,我也使用了很多年,熟知其电路的画法、软件程序的设计方法,并积累了一些在工程上实际应用的经验。但总感觉自己附在表面上,“为什么要加120欧的匹配电阻?”、 “匹配电阻要加在哪里?”、“为什么要加偏置电阻?”,“偏置电阻多少才合适”,“如何才能正确通过EMC测试”等等这些问题已经困扰了我很久,经验是工程中反复实验得来的,现在该是沉下心来,弥补自己理论的时候了,所以特写此文。本文希望能够从一个全新的角度阐述RS485,在不涉及过多复杂的数学公式的前提下,把RS485的理论和经验结合起来,一求强化自己的理解,二求能够和大家进行技术共享和交流。
说起RS485,我们首先需要考虑的是其传输介质:双绞线,本文就从传输线的特性阻抗开始说起。
1、 传输线
传输线是由两条具有一定长度的组成的信号通讯回路,如下图所示。一条标记为信号路径,另一条标记为返回路径。我们在设计电路时,希望:a、返回电流是要紧靠信号电流;b、高频时信号路径和返回路径的回路电感要最小化;c、只要情况允许,返回路径会尽量靠近信号路径。当两条线是一样时,如RS485使用的双绞线,信号路径与返回路径就没有严格的区分了。我们可以指定任意一条为信号路径,而另一条为返回路径。如果导线上任何一处的横截面相同,还是我们所说的双绞线,我们就称这种传输线为均匀传输线(注1)。进一步,如果两条导线的形状和大小都一样,还是我们所说的双绞线,我们就称这种传输线为对称传输线。好了,我们现在应该知道了RS485上使用的双绞线应该为对称均匀传输线,也可以称其为对称可控阻抗传输线(注1)。
2、传输线的瞬态阻抗
考虑下图,我们可以把传输线看作(不是特效)由一排小电容组成的模型,其值就是上面的小人走1步 的电容量。
通过电容模型,我们可以计算出传输线上的电流。可见导线上的电流仅与传输线上单位长度的电容量,信号的传播速度以及信号的电压有关。所以,在传输线上每前进一步时,信号受到的阻抗就像电阻性负载一样。
从这个关系式,我们可以计算出信号沿传输线传播时受到的瞬态阻抗。瞬态阻抗等于施加的电压与流过器件的电流的比值:
可以看出只要传输线的横截面和材料特性这两个参数保持不变,信号受到的瞬态阻抗就是一个常。由于信号的速度取决于材料特性,我们可以得出传输线单位长度电容和瞬态阻抗的关系。例如,若介电常数为4,单位长度电容为3.3
皮法/in,则传输线的瞬态阻抗为:
3、特性阻抗
对于均匀传输线,当信号在上面传播时,在任何一处受到的瞬态阻抗都是相同的。在瞬态阻抗不变时,我们将其称为特性阻抗。特性阻抗在数值上与均匀传输线的瞬态阻抗相等,它是传输线的固有属性,且仅与材料特性、介电常数和单位长度电容量有关,而与传输线长度无关。公式为:
传输线的特性阻抗与两导线间的单位长度电容成反比关系。如果我们增加两导线的宽度,就增加了单位长度的电容。如果增加两导线间的距离,则单位长度的电容就减小。
下面给出几种常见传输线的特性阻抗:
RG174电缆:50欧姆
RG58电缆:52欧姆
RG59电缆:75欧姆
RG62电缆:93欧姆
TV Antenna(电视天线):300欧姆
Cable TV(有线电视):73欧姆
Twisted pairs(双绞线):100-120欧姆
这就分析出了RS485使用的双绞线是一种对称均匀传输线,它具有120欧姆的特性阻抗。
4、特性阻抗的形象理解:传输线的输入阻抗
假设我们用欧姆表测量末端开路传输线的特性阻抗,根据常识我们可以判断其显示的值是无穷大。如果我们考虑这条传输线无穷长,信号在传输线上传播是有时间的,当信号还没有返回来时,我们测到的阻值应该是多少呢?答案就是传输线的特性阻抗。
所以可以这样定义传输线的输入阻抗:从传输线一端看进去的阻抗是随时间而变化的。在信号往返时间之内,所测量到的阻抗就是特性阻抗。如果等待时间足够长,测量到的阻抗将会是开路。
所以当信号频率提高时,特性阻抗就显现出来,对于高速驱动器而言,当驱动一条传输线时,在往返时间内,它受到的输入阻抗等效为一个纯电阻。
5、传输线的驱动
高速驱动器驱动传输线时,传输线的输入阻抗在往返时间内表现为电阻,大小等于特性阻抗。如图所示,建立驱动器和传输线的等效电路模型,计算加到传输线上的电压。