485通讯电路设计分析.docx
《485通讯电路设计分析.docx》由会员分享,可在线阅读,更多相关《485通讯电路设计分析.docx(8页珍藏版)》请在冰豆网上搜索。
485通讯电路设计分析
485通讯电路设计分析
1.RS-485由来
RS-485标准是由两个行业协会于1983年共同制订合开发的,即EIA-电子工业协会和TIA-通讯工业协会。
EIA开始时在它所有的标准前加上“RS”前缀(推荐标准Recommendedstandard的缩写)。
这个名称一直延用至今,现在EIA-TIA已正式用“EIA/TIA”取代“RS”以明确其来源。
修订后命名为TIA/EIA-485-A。
不过我们还是习惯地称之为RS-485。
RS-485由RS-422发展而来。
两者是工业应用中最成功的标准。
而RS-422是一个差分标准,是为了弥补RS-232的不足提出来的,改进了RS-232通讯距离短和速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到了10Mbps,在速率低于1000Kbps时传输距离延长到4000英尺,并且允许在一条平衡线上连接最多10个接收器,可以说RS-422是一种单机发送、多机接收的单向传输规范。
RS-485是在RS-422的基础上,为了扩展应用范围和通讯能力,增加了多点、双向通信能力,也就是说,允许多个发送器连接到同一条总线上,同时,增加了发送器的驱动能力和通讯冲突的保护特性,通过差分传输扩展总线的共模范围。
RS-485满足了所有的RS-422规范,但反之则不成立。
2.RS-485规范
RS-485实质上是一个电气接口规范,它只规定了平衡驱动器合接收器的电特性,而没有规定插件、传输电缆与及通信协议。
只是对应于七层模型中的物理层。
3.RS-485的接口规范特点:
●平衡传输、差动工作模式●多点通信
●驱动器带载最小输入电压:
±1.5V●驱动器带载最大输入电压:
±5V
●最大输出短路电流:
250mA●驱动器输出阻抗:
54Ω
●接收器输入门限:
±200mV●接收器最小输入阻抗:
12KΩ
●-7V至+12V总线共模范围●最大输入电流1.0mA/-0.8mA(12Vin/-7Vin)
●接收器输出逻辑高:
>200mV●接收器输出逻辑低:
<200mV
●最大总线负载:
32个单位负载●允许收发器数目:
32Tx、32Rx
●最大传输速率:
10Mbps●最大电缆长度:
4000英尺(约1.2千米)
RS-485标准定义了一个基于单对平衡线的多点、双向(半双工)的通讯链路,提供了高噪声抑制、高的传输速率、长传输距离、宽共模范围和低成本的通信平台。
4.RS-485可靠性设计问题
4.1RS-485网络连接和节点配置
事实上,虽然RS-485规范的定义里只定义了一个双线通讯链路,但是在实际使用中,我们可以利用一条或者两条这样的链路来建立实用的通讯网络,也就是说,RS-485可以很好的支持半双工和全双工的通讯模式。
一般的,对于一条这样的链路,网络的拓扑结构采用终端匹配的总线型结构。
而不支持常见的星型或者环形结构。
485总线的网络配置实际上对通讯的可靠性是影响巨大的,特别是在通信距离的延长和通信数据传送速率或者说通信所用波特率的提高之后,不良影响会越来越严重。
以下
(1)、
(2)、(3)是一些常见的错误的连接方案,其中的小圆圈代表一个接收/发
图1常见错误连接及改正方案
送器单元。
连线表示连接总线的电缆,一般我们采用屏蔽双绞线作为这个连接介质。
在(4)、(5)、(6)里,我给出了对应于
(1)、
(2)、(3)的连接改正方案。
(1)、
(2)、(3)连接方案,虽然在某些情况下,比如很短的距离,对通信速率要求不高,可以采用低速率,而且收发单元也很少等场合,可能可以实现通信。
但一旦这些方案用于通信距离长,和通信速率要求高的现场,就可能出现不能通信。
主要的原因就是信号在各个支路会发生信号反射,和原信号叠加,造成了信号的不稳定性。
另外,由电磁学理论我们知道,反射还可能发生在线路阻抗不连续或者起伏较大的地方,比如不同线路段采用了不同的电缆,某个段连接了很多收发器而另一段却很少,又或者某收发单元到主干总线的连线太长,都可能出现阻抗的不连续,发生信号反射。
总线的配置还涉及到连接的收发器数目问题,RS-485总线没有给出一个允许连接的收发器数目的标准规定,但是规定了最大的总线负载容量,那就是最多接32个单位负载,每个单位负载的最大输入电流是1.0mA/-0.8mA,也就是相当于12KΩ。
这就给接口芯片一个扩充收发器的可能性,器件生产商通过增大收发器的输入电阻从而达到增加节点数的目的。
我们目前用到的MAX3082就将节点数扩展到64个;
4.2总线匹配和节点引出线
为了解决总线上的发射和干扰,有时候就需要对总线进行终端匹配,由于RS-485一般是用UART(UniversalAsynchronousReceiver/Transmitter通用异步接收/传送器)方式进行通讯,而UART是在每个数据的中点采样数据的,只要反射信号在采样开始时已经衰减到可以忽略,那就不用考虑总线匹配问题。
总线匹配问题和数据传输速率、电缆长度、与及信号转换速率等都有关系,判断在什么样的情况下需要加匹配有一个经验性的原则:
当信号的转换时间(上升或者下降时间)超过电信号沿总线单向传输所需的时间的3倍以上时就可以不加匹配。
当要求考虑匹配时,一般的我们采用在总线两端各接一个阻值等于电缆特性阻抗的电阻,例如双绞线的这个特性阻抗是100Ω至120Ω之间。
这个电阻就可以选择在这个访问范围,如图2(a)。
另外还可以用RC匹配,如图2(b);或者使用一种加二极管的方案,
如图2(c)。
这几种方案都有不同的特点:
(a)有一个缺点,即匹配电阻要消耗电流,不适用于那些需要低功耗的系统。
(b)的RC网络很省电,但C值很难确定,要在功耗和匹配效率间折衷考虑。
另外这种方法对信号的质量也产生破坏。
(c)实际上没真正实现匹配,但利用了二极管的钳位作用削弱了反射,改善了信号质量,而且节能效果很好。
在上面已经提了一下,在节点支路最容易产生反射,其中节点引出线是个最大的影响因素,在图1中我们也看到,其错误连接就是因为节点的引出线太长了。
几乎可以比拟主干线。
事实上,一个485系统可以允许的引出线长度和信号的转换时间、数据速率很有关系,有个经验公式可以粗略计算这个最大长度:
Lmax=(trise×0.2m/ns)/10(trise可以是上升或者下降时间)
在设计中我们选择了MAX3085/3082作为接口芯片,对应于它们的250ns的上升/下降时间,
节点单元(分机)的最大引出线由上式算得约为5米。
4.3失效保护(Fail-safe)
RS-485标准规定接收器门限为±200mV。
这样能够提供较高的噪声抑制能力。
但是,也会有一个问题:
当总线上的信号处于-200mV~+200mV之间时,接收器接收到的信号状态无法确定,注意到UART是以一个“0”电位作为起始位开始一个数据帧的传递的,所以这个不定态可能会使UART错误的接收一些数据,从而导致系统进行错误动作。
这个问题是不容忽视的,特别是对于实时性要求很高和控制要求高的场合,误操作的后果是很严重的。
而当系统总线空闲、开路、或者短路时都有可能出现两线电压低于200mV
的情况。
故必须采用有效的措施来避免接收器处于不定态。
传统的做法是给总线加偏置电阻。
这样在空闲或者开路是把总线偏置到一个确定态。
但是这种方法不能解决总线短路问题。
在我们设计过程中,考虑了这个问题,采用的MAX3082芯片是有失效保护的,而目前MAXIM公司的MAX485,MAX487等芯片就不具有这个功能。
它采用的方法很巧妙,也是现在解决这个问题的最好方法:
将接收门限移到-200mV/-50mV,这样就解决了在总线短路下的失效问题。
因为这样规定的门限,对于大于-50mV我们就确定为“1”态,对于短路状态下的“0V”当然就是确定的“1”态。
(这是MAXIM专门设计这款芯片的工程师告诉我们的)。
4.4总线接地问题
对于电子系统的设计。
我们知道电源和接地问题是一个非常关键的问题,如果处理不好,经常导致不能稳定的工作甚至危及系统安全。
对于一个可靠的RS-485系统也是这样。
因为在RS-485的规范中只是强调了用两根双绞线实现系统的通讯线路A(+)和B(-),受此影响。
一个错误的观点是认为RS-485链路不需要信号地,只要把A和B线路用两个双绞线连起来就行了,因为RS-485接口是用差分方式传输信号的,并不需要相对于某个参照地来检测信号,系统只需要检测两线间的电位差就可以了。
无可否认在某些情况下这是可以工作的,但是也给系统留下了很大的隐患。
因此我们要求所有的485通讯电路连接线都采用屏蔽线就是这个道理。
一个问题就是共模干扰,注意到收发器只有在共模电压不超过一定的范围(-7V~+12V)
条件下才能正常工作,所以当共模电压超出这个范围时通讯的可靠性就受到考验了。
严重的话还可能烧毁接口。
图3共模干扰模型VCM=Vos+VGPD
如图3给出的模型,发送器A对发送器B发数据时,A输出的共模电压为Vos,如果A、B是不共地的话。
那么就可能存在地电位差VGPD。
那么接收器B输入的共模电压就会达到VCM=Vos+VGPD。
RS-485标准规定Vos≤3V,但是注意到VGPD可能会有很大的幅度(甚至几十伏特)且可能伴有强的干扰信号,这样B接收端输入VCM就有可能超出正常范围,在信号线上引入干扰电流,影响通信甚至烧毁电缆。
除了共模干扰,还有一个就是电磁辐射(EMI)对总线的影响,驱动器输出信号中的共模部分需要一个返回通路,如果系统没有接地的回路,共模信号没有一个低阻的回路,就会以电磁辐射的方式返回源端,整个总线就像一个长天线一样向外辐射电磁波。
这样造成的信号损失和信息泄漏是很严重的。
的。
当然,以上所述的各种情况都是在低频率的情况下适用,如果是高频瞬态干扰就不能这样考虑了。
因为引线有电感,这个接地回路对瞬态干扰等于开路,瞬态干扰的产生我们可以想象得到,系统周边的别的大功率感性器件,如电机、变压器、继电器等等,甚至最平常的就是闪电了。
采用的措施可以类似图4中的(4)的电气隔离方法。
或者用放电管等瞬态抑制器件,总之最终目的就是将瞬态放出的能量引到大地上去。
4.5静电放电保护(ESD)
对于一个工作在实际的环境中的系统,所受到的外界影响是多种多样的,静电放电(ElectrostaticDischarge)就是一个很关键的问题。
国际工业标准规定的静电放电有关规定
主要有:
IEC(1000-4-2)规定:
±15KV气隙放电;±8KV接触放电;±15KV人体模型
IEC(1000-4-4)规定:
±4KV电快速瞬变(鉴定中)
放电现象是很普遍存在的,上面给出的人体模型等就给出了一个标准。
这些都会损坏总线收发器的端口,从而破坏通信。
对于设计RS-485总线系统而已,可以通过选择提供了ESD保护的芯片来解决。
如目前我们使用的MAX3082ECSA,其中的E就是代表有静电保护功能的型号。