485总线技术.docx

上传人:b****7 文档编号:11024449 上传时间:2023-02-24 格式:DOCX 页数:8 大小:40.17KB
下载 相关 举报
485总线技术.docx_第1页
第1页 / 共8页
485总线技术.docx_第2页
第2页 / 共8页
485总线技术.docx_第3页
第3页 / 共8页
485总线技术.docx_第4页
第4页 / 共8页
485总线技术.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

485总线技术.docx

《485总线技术.docx》由会员分享,可在线阅读,更多相关《485总线技术.docx(8页珍藏版)》请在冰豆网上搜索。

485总线技术.docx

485总线技术

485总线技术

当前自动控制系统中常用的网络,如现场总线CAN、Profibus、INTERBUS-S以及ARCNet的物理层都是基于RS-485的总线进行总结和研究。

一、EIARS-485标准

在自动化领域,随着分布式控制系统的发展,迫切需要一种总线能适合远距离的数字通信。

在RS-422标准的基础上,EIA研究出了一种支持多节点、远距离和接收高灵敏度的RS-485总线标准。

RS-485标准采有用平衡式发送,差分式接收的数据收发器来驱动总线,具体规格要求:

接收器的输入电阻RIN≥12kΩ

驱动器能输出±7V的共模电压

输入端的电容≤50pF

在节点数为32个,配置了120Ω的终端电阻的情况下,驱动器至少还能输出电压1.5V(终端电阻的大小与所用双绞线的参数有关)

接收器的输入灵敏度为200mV(即(V+)-(V-)≥0.2V,表示信号“0”;(V+)-(V-)≤-0.2V,表示信号“1”)

因为RS-485的远距离、多节点(32个)以及传输线成本低的特性,使得EIARS-485成为工业应用中数据传输的首选标准。

影响RS-485总线通讯速度和通信可靠性的三个因素

1、在通信电缆中的信号反射

在通信过程中,有两种信号因导致信号反射:

阻抗不连续和阻抗不匹配。

阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射,如图1所示。

这种信号反射的原理,与光从一种媒质进入另一种媒质要引起反射是相似的。

消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻,使电缆的阻抗连续。

由于信号在电缆上的传输是双向的,因此,在通讯电缆的另一端可跨接一个同样大小的终端电阻。

从理论上分析,在传输电缆的末端只要跨接了与电缆特性阻抗相匹配的终端电阻,就再也不会出现信号反射现象。

但是,在实现应用中,由于传输电缆的特性阻抗与通讯波特率等应用环境有关,特性阻抗不可能与终端电阻完全相等,因此或多或少的信号反射还会存在。

引起信号反射的另个原因是数据收发器与传输电缆之间的阻抗不匹配。

这种原因引起的反射,主要表现在通讯线路处在空闲方式时,整个网络数据混乱。

信号反射对数据传输的影响,归根结底是因为反射信号触发了接收器输入端的比较器,使接收器收到了错误的信号,导致CRC校验错误或整个数据帧错误。

在信号分析,衡量反射信号强度的参数是RAF(RefectionAttenuationFactor反射衰减因子)。

它的计算公式如式

(1)。

RAF=20lg(Vref/Vinc)

(1)

式中:

Vref—反射信号的电压大小;Vinc—在电缆与收发器或终端电阻连接点的入射信号的电压大小。

例如,由实验测得2.5MHz的入射信号正弦波的峰-峰值为+5V,反射信号的峰-峰值为+0.297V,则该通讯电缆在2.5MHz的通讯速率时,它的反射衰减因子为:

RAF=20lg(0.297/2.5)=-24.52dB

要减弱反射信号对通讯线路的影响,通常采用噪声抑制和加偏置电阻的方法。

在实际应用中,对于比较小的反射信号,为简单方便,经常采用加偏置电阻的方法。

在通讯线路中,如何通过加偏置电阻提高通讯可*性的原理,后面将做详细介绍。

2、在通讯电缆中的信号衰减

第二个影响信号传输的因素是信号在电缆的传输过程中衰减。

一条传输电缆可以把它看出由分布电容、分布电感和电阻联合组成的等效电路。

电缆的分布电容C主要是由双绞线的两条平行导线产生。

导线的电阻在这里对信号的影响很小,可以忽略不计。

信号的损失主要是由于电缆的分布电容和分布电感组成的LC低通滤波器。

PROFIBUS用的LAN标准型二芯电感(西门子为DP总线选用的标准电缆),在不同波特率时的衰减系数如表1所示。

表1电缆的衰减系数

通讯波特率16MHz4MHz38.4kHz9.6kHz

衰减体系数(1km)≤42dB≤22dB≤4dB≤2.5dB

3、在通讯电缆中的纯阻负载影响通讯性能的第三个因素是纯阻性负载(也叫直流负载)的大小。

这里指的纯阻性负载主要由终端电阻、偏置电阻和RS-485收发器三者构成。

在叙述EIARS-485规范时曾提到过RS-485驱动器在带了32个节点,配置了150Ω终端电阻的情况下,至少能输出1.5V的差分电压。

一个接收器的输入电阻为12kΩ,整个网络的等效电路如图5所示。

按这样计算,RS-485驱动器的负载能力为:

RL=32个输入电阻并联||2个终端电阻=((12000/32)×(150/2))/(12000/32)+(150/2))≈51.7Ω

现在比较常用的RS-485驱动器有MAX485、DS3695、MAX1488/1489以及和利时公司使用的SN75176A/D等,其中有的RS-485驱动器负载能力可以达到20Ω。

在不考虑其它诸多因素的情况下,按照驱动能力和负载的关系计算,一个驱动器可带节点的最大数量将远远大于32个。

在通讯波特率比较高的时候,在线路上偏置电阻是很有必要的。

偏置电阻的连接方法如图6。

它的作用是在线路进入空闲状态后,把总线上没有数据时(空闲方式)的电平拉离0电平,如图7。

这样一来,即使线路中出现了比较小的反射信号或干扰,挂接在总线上的数据接收器也不会由于这些信号的到来而产生误动作。

通过下面后例子了,可以计算出偏置电阻的大小:

终端电阻Rt1=Rr2=120Ω;

假设反射信号最大的峰-峰值Vref≤0.3Vp-p,则负半周的电压Vref≤0.15V;终端的电阻上由反射信号引起的反射电流Iref≤0.15/(120||120)=2.5mA。

一般RS-485收发器(包括SN75176)的滞后电压值(hysteresisvalue)为50mV,即:

(Ibias-Iref)×(Rt1||Rt2)≥50mV

于是可以计算出偏置电阻产生的偏置电流Ibias≥3.33mA

+5V=Ibias(R上拉+R下拉+(Rt1||Rt2))

(2)

通过式2可以计算出R上拉=R下拉=720Ω

在实际应用中,RS-485总线加偏置电阻有两种方法:

(1)把偏置电阻平衡分配给总线上的每一个收发器。

这种方法给挂接在RS-485总线上的每一个收发器加了偏置电阻,给每一个收发器都加了一个偏置电压。

(2)在一段总线上只用一对偏置电阻。

这种方法对总线上存在大的反射信号或干扰信号比较有效。

值得注意的是偏置电阻的加入,增加了总线的负载。

三、RS-485总线的负载能力和通讯电缆长度之间的关系

在设计RS-485总线组成的网络配置(总线长度和带负载个数)时,应该考虑到三个参数:

纯阻性负载、信号衰减和噪声容限。

纯阻性负载、信号衰减这两个参数,在前面已经讨论过,现在要讨论的是噪声容限(NoiseMargin)。

RS-485总线接收器的噪声容限至少应该大于200mV。

前面的论述者是在假设噪声容限为0的情况下进行的。

在实际应用中,为了提高总线的抗干扰能力,总希望系统的噪声容限比EIARS-485标准中规定的好一些。

从下面的公式能看出总线带负载的多少和通讯电缆长度之间的关系:

Vend=0.8(Vdriver-Vloss-Vnoise-Vbias)(3)

其中:

Vend为总线末端的信号电压,在标准测定时规定为0.2V;Vdriver为驱动器的输出电压(与负载数有关。

负载数在5~35个之间,Vdriver=2.4V;当负载数小于5,Vdriver=2.5V;当负载数大于35,Vdriver≤2.3V);Vloss为信号在总线中的传输过程中的损耗(与通讯电缆的规格和长度有关),由表1提供的标准电缆的衰减系数,根据公式衰减系数b=20lg(Vout/Vin)可以计算出Vloss=Vin-Vout=0.6V(注:

通讯波特率为9.6kbps,电缆长度1km,如果特率增加,Vloss会相应增大);Vnoise为噪声容限,在标准测定时规定为0.1V;Vbias是由偏置电阻提供的偏置电压(典型值为0.4V)。

式(3)中乘以0.8是为了使通信电缆不进入满载状态。

从式(3)可以看出,Vdriver的大小和总线上带负载数的多少成反比,Vloss的大小和总线长度成反比,其他几个参数只和用的驱动器类型有关。

因此,在选定了驱动器的RS-495总线上,在通信波特率一定的情况下,带负载数的多少,与信号能传输的最大距离是直接相关的。

具体关系是:

在总线允许的范围内,带负载数越多,信号能传输的距离就越小;带负载数据少,信号能传输的距离就发越远。

四、分布电容对RS-485总线传输性能的影响

电缆的分布电容主是由双绞线的两条平行导线产生。

另外,导线和地之间也存在分布电容,虽然很小,但在分析时也不能忽视。

分布电容对总线传输性能的影响,主要是因为总线上传输的是基波信号,信号的表达方式只有“1”和“0”。

在特殊的字节中,例如0x01,信号“0”使得分布电容有足够的充电时间,而信号“1”到来时,由于分布电容中的电荷,来不及放电,(Vin+)—(Vin-)-还大于200mV,结果使接爱误认为是“0”,而最终导致CRC校验错误,整个数据帧传输错误。

由于总线上分布影响,导致数据传输错误,从而使整个网络性能降低。

解决这个问题有两种方法:

(1)降低数据传输的波特率;

(2)使用分布电容小的电缆,提高传输线的质量。

3 RS485在电表通讯中的常见问题及解决方案

3.1 收发时序不匹配

  现象1:

485通讯不成功,用逻辑分析仪查看,发送的码字正确,电能表返回码字也符合规约。

再细看,主站发送的码字的最后一位同电能表应答的数据帧的第一位之间几乎没有停顿。

  分析:

由于485总线是一个半双工的通讯方式,收和发不能同时进行,从发送完成到变为接收状态,无论是软件的处理抑或是硬件的切换都需要一定的延时,因此DL/T645规定帧间延时Td:

20ms≤Td≤500ms,主要是给发送方一个由发转为收的时间,保证接收方返回的数据能完整的被接收。

而有些电能表,尤其是一些早期的多功能表对此考虑不够,在接收到主站的请求命令帧后,未进行帧响应延时,就立刻发送应答帧,而此时主站还处于发送状态,等主站返回到接收状态时,电能表前面的码字已发送完,主站接收到的应答数据帧不完整引起通信失败。

  现象2:

当主站对某块表连续抄几帧数据时,第一帧通讯成功,第二帧开始电表不回应答帧。

  分析:

同样的道理,电表的485由发转为收也需要延时,而有的主站软件编程时,没有考虑,接收完一帧数据后没有延时或延时不够就又开始抄下一帧,而此时电表还没有回到接收状态,通讯失败。

在这里我们建议通信双方在编程时都必须严格遵守DL/T645所规定的帧间延时,并留有余量,具体应用时可取一个中间值,如100ms。

3.2 判断帧起始符出错

  对于电能表485总线来讲,它是一种数字异步通信方式。

异步通信不象同步通信,其没有专门的同步信号进行同步,接收方无法准确判知哪一个字节是一帧数据通信的开始,因此DL/T645中规定68H作为帧起始符(帧同步码),代表一帧数据的开始。

有些主站和电能表在软件编程时考虑得比较理想,接收数据时未按照DL/T645中规定68H来判定数据帧的开始,而是呆板的以接收到的第一个字符作为帧起始标志;如果电表在此帧数据之前发了几个FEH,其接收到的数据将会出现同步错误。

另外,如总线上平时有干扰信号存在,导致485芯片不停地收到诸如FCH、DEH这样杂乱数据;当总线上有正常信号产生时,由于干扰信号比较小的原因,其对通信并无太大的影响,但对接收方来讲,其接收正确数据帧前会混有若干个字节的杂乱数据,由于同步处理不当,通讯也会失败。

通常的做法是每接收一个字节都要判是否是68H,若不是则丢掉该字节,然后继续往下判,直到收到68H才启动一帧数据的接收。

3.3 帧奇偶校验位/帧结束符不合理

  目前看来,由于这个原因引起485通信不成功占有很大的比例。

我们知道,在485通信时,对于接收到的数据一般都会按收、发双方事先约定的奇偶校验方式进行数据检错,并将错误的数据帧剔除,等待发送方重发。

这种ARQ的通信方式本身是无可厚非的,但是有的软件人员在编程时考虑问题不够全面,在判断一帧结束处理时,没有根据所收数据帧的长度和结束符“16H”及时地将数据接收任务结束,而是依据多长时间内收不到新的一个字节数据来认为一帧已收完。

这种处理方法在下面这种情况下就会导致通信失败。

  众所周知,RS485芯片的接收灵敏度为±200mV,即当电压UA—UB≥200mV时,输出逻辑“1”;UA—UB≤-200mV时,输出逻辑“0”。

当-200mV<UA—UB<200mV时,输出不确定。

这样一来,当总线上所有的485芯片均处于接收状态时,总线处于高阻状态,此时A、B间的压差为0V,芯片输出处于不定状态,可能输出“1”,也可能输出“0”,而且状态会随着时间而变化。

如果输出为“0”,在某些时候则会导致通信失败。

我们知道,电能表在发送完应答帧后,一般会马上从发送状态转换到接收状态。

正常情况应该是:

主站的485芯片收完最后一个字节的停止位后继续保持为“1”(波形见图2),而有的485芯片则可能跳变保持为“0”(波形见图3),UART(通用异步收发器)则认为又收到一个字节00H,且很有可能校验和是错的,这样接收软件可能会判断到一个字节校验位出错,而将前面接收完全正确的一帧丢掉,造成通信失败。

3.4 接口电路不合理

  由于485在实际使用中存在这样或那样的问题,人们对其接口电路采取了各种保护、滤波措施。

如加上保护二极管、热保险丝、电容、上拉电阻等(见图4),这些措施有的有效,但有的无效甚至有害。

  A 485总线的理想介质是双绞线,其等效阻抗约为120Ω,因此为了在长距离、高速通信时做到阻抗匹配,一般在电表的485的A、B线之间加一个120Ω的电阻。

此种方式对于一对一的通信是实用的,但一对多时,如果每个电表内部均加一个120Ω的电阻,并在一起整个总线上的负载就很重,这样挂在总线上的485收发器就可能达不到标准的数量32个,且距离也会缩短。

因此,只应在网络的起点和终点各加一个。

  B 有的产品为了滤波而在A、B线对地加上电容,现在看来这样会带来问题。

电容加小了不起作用;加大了,正常的信号会被滤除或造成波形失真。

我们曾经做过试验,以1200bps通信时,0.1μF的电容就会影响通信的成功率。

如果通信速率达到几百kbps,电容就不能加了。

  C 同前面3.3所述,485总线处于悬浮状态时A、B线等电位。

为了保证A比B高200mV以上,有的厂家将A、B线分别通过10k电阻上拉到5V、下拉到地,这样在都处于接收状态时,A、B间的电位差约为5V,485芯片的接收端为高,通信不受影响。

这个想法是好的,但是实际组网中往往好几个厂家的表连在一起,如别的表中加了120Ω电阻,则上拉电阻、120Ω、下拉电阻之间构成分压关系,A、B线间的电压只有几十毫伏,接收端的电平还是不定。

  D 目前国内应用的单片机大部分只有一个UART串口,而电能表一般均需一个485接口和一个红外光接口,受成本所限,有的厂家就将这两个信号通过线与、线或的方式合在一起共用一个UART口。

这样就带来一个问题,当红外通信时,485就会不通;另外,当红外收到各种可见光的干扰时,红外口不停地输出干扰信号,由于线与、线或逻辑的原因,485不能通信或485时通时不通。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1