完整word版RS485RS422设计指南.docx
《完整word版RS485RS422设计指南.docx》由会员分享,可在线阅读,更多相关《完整word版RS485RS422设计指南.docx(21页珍藏版)》请在冰豆网上搜索。
![完整word版RS485RS422设计指南.docx](https://file1.bdocx.com/fileroot1/2023-6/4/3a6f6549-094f-4c15-95c0-bf72ea37e1bc/3a6f6549-094f-4c15-95c0-bf72ea37e1bc1.gif)
完整word版RS485RS422设计指南
RS485、RS422接口设计指南
前言
RS-485标准最初由电子工业协会(EIA)于1983年制订并发布,后由TIA-通讯工业协会修订后命名为TIA/EIA-485-A,习惯地称之为RS-485。
RS-485由RS-422发展而来,而RS-422是为弥补RS-232之不足而提出的。
为改进RS-232通信距离短、速率低的缺点,RS-422定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(速率低于100kbps时),并允许在一条平衡线上连接最多10个接收器。
RS-422是一种单机发送、多机接收的单向、平衡传输规范,为扩展应用范围,随后又为其增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,这就是后来的EIARS-485标准。
RS-485是一个电气接口规范,它只规定了平衡驱动器和接收器的电特性,而没有规定接插件、传输电缆和通信协议。
RS-485标准定义了一个基于单对平衡线的多点、双向(半双工)通信链路,是一种极为经济、并具有相当高噪声抑制、传输速率、传输距离和宽共模范围的通信平台。
RS-485作为一种多点、差分数据传输的电气规范现已成为业界应用最为广泛的标准通信接口之一。
这种通信接口允许在简单的一对双绞线上进行多点、双向通信、它所具有的噪声抑制能力、数据传输速率、电缆长度及可靠性是其他标准无法比拟的。
正因为此,许多不同领域都采用RS-485作为数据传输链路。
例如电信设备、局域网、蜂窝基站、工业控制、汽车电子、仪器仪表等等。
这项标准得到广泛接受的另外一个原因是它的通用性。
RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。
本文档主要说明了RS485与RS422的原理以及设计应用电路中应该注意的问题。
1RS-485与RS-422性能指标及其标准
EIA/TIA-422与EIA/TIA-485标准的比较
规格
EIA/TIA-422
EIA/TIA-485
传输模式
平衡
平衡
电缆长度(在90Kbps下)
4000ft
4000ft
电缆长度(在10Mbps下)
50ft
50ft
最大数据传输速度
10Mbps
10Mbps
最小差动输出
±2V
±1.5V
最大差动输出
±10V
±6V
接收器敏感度
±0.2V
±0.2V
最小驱动器负载
100Ω
60Ω
最大驱动器数量
1
32负载单位
最大接收器数量
10
32负载单位
表1
RS-485接口的主要性能指标如下:
平衡传输;
多点通信;
驱动器输出电压(带载):
≥|1.5V|;
接收器输入门限:
±200mV,接收器的输入灵敏度为200mV(即(V+)-(V-)≥0.2V,表示信号“0”;(V+)-(V-)≤-0.2V,表示信号“1”);
-7V至+12V总线共模范围;
最大输入电流:
1.0mA/-0.8mA(12Vin/-7Vin);
最大总线负载:
32个单位负载(UL);
最大传输速率:
10Mbps;
最大电缆长度:
4000英尺,由于在双绞线上的电平损耗,RS-485标准通信的最大传输距离是1200米(4000英尺),更远距离的应用中必须使用中继器;
接收器的输入电阻RIN≥12kΩ;
2RS-485与RS-422器件及材料说明
有很多485芯片可以选择,速度较慢的芯片有更好的信号质量,如果不需要高速连接,使用较低速度的芯片可以避免很多麻烦。
有的485芯片小于一个单位负载以便在一个网络中允许更多的节点。
为了扩展总线节点数,器件生产厂商增大收发器输入电阻。
例如MAX487,MAX1487的输入电阻增加至48kΩ以上(1/4UL),节点数就可增加至128个,96kΩ输入电阻的MAX1483允许节点数可到256个。
对外置设备为防止强电磁(雷电)冲击,建议选用TI的75LBC184等防雷击芯片,对节点数要求较多的可选用SIPEX的SP485R。
具有节能模式与低电源电压特性的485芯片对于电池供电的设备很有用,485芯片具有的其它特性还有增强的ESD保护、电气绝缘、失效保护电路等。
减小反射电压的两个办法是减小电缆长度或者增加信号上升时间,可以通过选择485芯片来控制信号上升时间。
最大的上升时间限制了比特率,上升时间不应超过位宽的20%。
最小的上升时间决定一根导线是长导线还是短导线,是否需要终端电阻。
如果连接不需要高比特率,使用低速驱动器可以使短导线的物理长度大大加长。
此外低速485芯片能够减弱EMI。
3RS-485与RS-422设计原理
3.1基本原理
3.1.1RS-485与RS-232电路的区别与优势
如图1中RS-232使用非平衡线路,接收器对一个信号电压和一个通用地线之间的压差作出反应。
在100Kbps的传输速度下电缆长度最大为50ft,最大数据传输速度为20Kbps(有的驱动器达到115Kbps),驱动器最小输出为±5V,驱动器最大输出为±15V,接收器敏感度±3V,最大驱动器与接收器数量都为1,接收器输入阻抗为3到7KΩ。
图1
如图2一个RS-485驱动器必须有“Enable”控制信号,而一个RS-422驱动器则一般不需要。
在驱动器端,一个TTL逻辑高电平输入使得导线A电压比导线B高,反之,一个TTL逻辑低电平输入使得导线A电压比导线B低,对于驱动器端的有效输出,A与B之间的压差必须至少1.5V。
图2
如图3在接收器端A与B之间的压差只需0.2V,如输入A电平比输入B高,TTL输出逻辑高电平,反之,如输入A电平比输入B低,TTL输出逻辑低电平,这就至少有1.3V的噪声容限,大多数情况下驱动器端A与B之间的压差大于1.5V,因此噪声容限更大。
图3
RS-485能够远距离传输是因为使用了平衡线路,每个信号都有专用的导线对,其中一根导线上的电压等于另一根导线上的电压取反或取补。
接收器对两者的压差作出反应。
平衡接口中两根信号线传递几乎等大反向的电流,大多数噪声电压在两根信号线上出现,它们互相抵消;但在非平衡接口中,接收器检测信号线与接地线之间的电压差,当多个信号共用一根接地线时,每个返回的电流都在这根接地线上引起电势,如果这根接地线连到大地地线,来自别处的噪声也会影响这些电路。
一个RS-485驱动器可以驱动32个单位负载,一个等于单位负载的接收器在标准的输入电压极限下产生一个不大于规定大小的电流,在接收到的电压比接收器信号地高出12V与低7V时,一个单位负载的接收器产生的电流分别不大于1mA与-0.8mA,为符合此要求,接收器在每个差动输入与电源电压或接地线之间至少有12000的输入阻抗。
这样对于32单位负载的接收器,并联阻抗为375,加入两个120的终端负载电阻,并联阻抗减小为60,在短距离、低速连接中,可以去掉终端负载电阻以极大地减小电源消耗。
3.1.2长短连接的判断标准、物理表现与应对措施
一个RS-485是长还是短的连接是以一个信号沿着导线传播到接收器所需要的时间为参考,这个时间与导线的物理长度、所传递信号的频率以及信号传输速度有关。
当导线物理长度很短、所传递信号的频率很低时,信号沿着导线传播到接收器所需要的时间对信号质量没有影响,可以将短导线当作零阻抗导线。
当导线物理长度很长、所传递信号的频率很高时,信号沿着导线传播到接收器所需要的时间对信号质量有影响,长导线又叫传输线,恰当的终端负载电阻可以削弱导线上的反射电压确保接收器看到一个清晰的信号。
长短导线的区别在于在长导线上反射有可能持续足够长的时间以至使得接收器误读逻辑电平,而短导线上的反射更快,在有接收到的逻辑电平上没有影响。
上升时间是一个输出从10%切换到90%的时间,上升时间限制了最大的比特率,位宽度应该比上升时间长5到10倍以确保接收器读这个位时电压已经达到有效的逻辑电平,更短的上升时间表示可以有更高的频率。
单向延迟是一个信号通过电缆长度所用时间,它等于电缆长度除以信号传播速度,在铜导线的电气信号大约以2/3到3/4倍光速传播。
一个连接如果信号上升时间小于单向延迟的4倍,则它是长的连接,RS-232总是短的连接。
传输线效应会使反射电压出现,接收器在位的中间附近读逻辑电平,如果比特率越低,位就越宽,这样电压在接收器读之前就已经固定下来。
另一个决定导线长短的方法是如果位宽大于单向延迟的40倍,则它是短的连接,这时任何反射在接收器读这些位之前就已经稳定了。
传输导线的特征阻抗与导线直径、导线间距以及导线上绝缘类型有关,不随导线长度变化,普遍使用的AWG#24绞合的双绞线电缆特征阻抗为100到150欧,生产厂商都会给出这个值。
等于特征阻抗的终端电阻一般连接在最远端接收器那一边的差动导线上,不论网络有多少个节点,终端电阻的数量不能超过2个。
终端电阻比特征阻抗大的极端情况是远端导线开路,电流不能继续,电流反射回来并引入一个电压,导致接收器读到比传输电压更高的电压。
如果终端电阻比特征阻抗大,效果类似,只是只有部分电流反射回去,反射电流来回好多次,越来越小,最后电流稳定到一个终值,接收器读到的电压也逐渐减小到一个终值电压。
终端电阻比特征阻抗小的极端情况是远端导线短路,没有电压降,电压反射回来并引入一个电流,如果终端电阻比特征阻抗小,效果类似,只是只有部分电压反射回去,驱动器每反射一次电压的一部分,接收器的电压就上升一次直到最终值。
终端电阻等于特征阻抗,电流没有间断,没有任何反射。
添加并联终端电阻使接收器输入电阻大幅下降,连接中的电流大幅上升,电能损耗大幅上升。
更大的电流也使驱动器输出阻抗吸收更大电压,降低接收器端差动电压,噪声容限降低。
节约电能的办法是除了驱动器正在发送的时间以外,禁止驱动器,在我们的CDMA95与3G设计中发送完后立即禁止驱动器。
当导线很长要注意串联电阻的影响,如AWG#24绞合线电阻25/1000FT,信号的大部分将在通过导线时衰减,为减小串联电阻要用更大直径的导线。
RS-422接收器能够经受±7V的共模电压。
(共模电压是输入A与B相对于地电压的平均值)
RS-485驱动器与接收器的特性与RS-422一样,它的驱动器与接收器能经受的共模电压扩展到+12到-7V,因为驱动器要能够经受三态时的共模电压,而一些有三态能力的RS-422驱动器也不能经受+12到-7V的共模电压。
在我们的CDMA95与3G设计中驱动器与接收器都加了共模抑制电感。
3.1.3RS-485与RS-422典型应用电路与选择方法
图4是一个典型的RS-485四线多点网络,也就是用的是全双工的488芯片。
图4
图5是一个典型的RS-485二线多点网络,也就是用的是半双工的485芯片。
图5
如果只有两个单片机做远距离通信,若对数据的处理速度要求很高的话,肯定选择全双工的488,因为这时候在只有两个单片机的情况下就无所谓谁是主机了,它们两个可以在任意时刻向对方发送数据,而不需要握手;而这时候如果用半双工的485的话,两个单片机之间必须有明确的握手协议才能正确通信,握手主要是为了避免总线竞争问题,而2个单片机的全双工通信是不会产正总线竞争的,并且从协议上来讲要简单很多。
在多单片机通信系统里,情况就不一样了,这里就拿单主查询方式来说,系统只有一个主机,主机问到谁了谁才能说话,否则不准说话,其实这个原则也是为了避免总线竞争问题。
这时就分成A、B两种情况了:
A:
系统上所有的单片机用的是全双工的488芯片,那么系统的工作过程是:
主机呼叫1号子机,问有没有话要说,当1号子机察觉到呼叫的是自己后,先看看主机问的是什么问题,然后根据自己的情况作相应的回答,回答完后就继续订着总线有没有再一次呼叫到自己,当主机没有呼叫到自己时,自己是不能乱说话的,因为这时候主机有可能在和别的单片机说话,如果这时候自己乱说话的话,总线上的电平肯定乱套了,于是总线竞争就产生了,只好等待主机再一次呼叫到自己。
这里面有一点需要说明,当某一子机被呼叫允许和主机说话时,因为这时候是全双工通信,所以在这个时候主机和子机之间可以乱说话,但有一点就是当子机把要说的话全说完的时候,必须明确的告诉主机我要讲的话讲完了,否则的话主机不知道是否该继续往下查。
B:
系统上所有的单片机用的是半双工的485芯片,那么系统的工作过程是:
:
主机呼叫1号子机,问有没有话要说,当1号子机察觉到呼叫的是自己后,先看看主机问的是什么问题,然后根据自己的情况作相应的回答,回答完后就继续订着总线有没有再一次呼叫到自己,当主机没有呼叫到自己时,自己是不能乱说话的,因为这时候主机有可能在和别的单片机说话,如果这时候自己乱说话的话,总线上的电平肯定乱套了,于是总线竞争就产生了,只好等待主机再一次呼叫到自己。
现在我们对比上述的两种情况,发现全双工和半双工多机通信唯一的区别在于:
当某一个确定的子机和主机说话时,对于全双工来讲这时候和主机直接说话就行,可以随便乱说话而不需要握手了,但是有一点就是当子机不想再说话的时候要明确的告诉主机一声,好让主机死了这条心继续往下查别的子机。
除了这个地方外,其他的和半双工的485是一样的。
所以在多机通信系统中,用全双工的488并没有比半双工的485效率高多少,而且它至少要比485多拉出两条信号线来,这是一个很大的开销,这时应该用半双工的485。
图6是一个典型的RS-422四线网络。
图6
3.1.4485总线上处理竞争的方法
先要总线结构:
一主多从,多主多从,全主全从,无主等。
再看你的实时性要求,可靠性要求;还要看网络数据流量和特征(如是否突发)等。
常用的协议:
1,CSMA/CD(竟争)如以太网(无主)
2,TOKENBUS令牌(无主)
3,主从(探寻或点叫)(主从)
4,全主全从
5,改进型CSMA/CD如CAN总线(硬件实现)(无主)
缺点:
优先权码低的可能很难发出。
“中断方式”属于“4,全主全从”,“查询方式”则为“3,主从(探寻或点叫)”,而“2,TOKENBUS令牌”也不失为很好的方案,“1,CSMA/CD(竟争)”对软件资源开销较大,初次使用不易做好,“5,改进型CSMA/CD如CAN总线(硬件实现)”则把软开销转化为硬开销,增加成本。
若要详细了解,应找“数据通信”或“现场总线”相关的书籍看看。
通常,容量/数据流量较少的总线,建议采用“全主全从”方式,实时性强,效率高,编程简单,碰撞的概率较低;
有一定容量的总线,建议采用“主从(探寻或点叫)”方式,实时性还行(相当于分时),编程不难,效率较差,总线时刻在忙却不会碰撞;
总线节点较多时建议采用“TOKENBUS令牌”方式,实时性居中,效率较高,总线时刻在忙却不会碰撞,但编程较难。
在我们的CDMA95与3G系统中都是采用“主从(探寻或点叫)”方式。
3.2可靠性的设计
3.2.1网络配置
RS-485支持半双工或全双工模式,网络拓扑一般采用终端匹配的总线型结构,不支持环形或星形网络。
最好采用一条总线将各个节点串接起来,从总线到每个节点的引出线长度应尽量短,以便使引出线中的反射信号对总线信号的影响最低。
下图所示为实际应用中常见的一些错误连接方式(图7左边三个图)和正确的连接方式(图7右边三个图)。
图7左边三种不恰当的网络连接尽管在某些情况下(短距离、低速率)仍然可以正常工作,但随着通信距离的延长或通信速率的提高,其不良影响会越来越严重,主要原因是信号在各支路末端反射后与原信号叠加,造成信号质量下降。
总线型连接可以使总线上每一个端点都用终端电阻。
图7
除此之外还应注意总线特性阻抗的连续性,在阻抗不连续点也会发生信号的反射。
例如,总线的不同区段采用不同电缆、某一段总线上有过多收发器紧靠在一起安装、或者是有过长分支线引出总线时都会出现阻抗不连续点。
总之,应该提供一条单一、连续的信号通道作为总线。
有关总线上允许连接的收发器数标准并没有做出规定,但规定了最大总线负载为32个单位负载(UL)。
每单位负载的最大输入电流为1.0mA/-0.8mA,相当于约12kΩ。
为了扩展总线节点数,器件生产厂商增大收发器输入电阻。
例如MAX487,MAX1487的输入电阻增加至48kΩ以上(1/4UL),节点数就可增加至128个,96kΩ输入电阻的MAX1483允许节点数可到256个。
3.2.2总线匹配
是否对RS-485总线进行终端匹配取决于数据传输速率、电缆长度及信号转换速率。
UART是在每个数据位的中点采样数据的,只要反射信号在开始采样时衰减到足够低就可以
不考虑匹配。
有一条经验性的准则可以用来判断在什么样的数据速率和电缆长度时需要进行
匹配:
当信号的转换时间(上升或下降时间)超过电信号沿总线单向传输所需时间的3倍以上时就可以不加匹配。
例如具有限斜率特性的RS-485接口MAX483输出信号的上升或下降时间最小为250ns,典型双绞线上的信号传输速率约为0.2m/ns(24AWGPVC电缆),那么只要数据速率在250kbps以内、电缆长度不超过16米,采用MAX483作为RS-485接口时就可以不加终端匹配。
图8
图9
当考虑终端匹配时,有多种匹配方案可以选择。
最简单的就是在总线两端各接一只阻值等于电缆特性阻抗的电阻(图8左)。
大多数双绞线特性阻抗大约在100Ω至120Ω之间。
这种匹配方法简单有效,但有一个缺点,匹配电阻要消耗较大功率,对于功耗限制比较严格的系统不太适合。
另外一种比较省电的匹配方式是RC匹配(图8右)。
利用一只电容C隔断直流成分可以节省大部分功率。
但电容C的取值是个难点,需要在功耗和匹配质量间进行折衷。
除上述两种外,还有一种采用二极管的匹配方案(图9)。
这种方案虽未实现真正的匹配,但它利用二极管的钳位作用迅速削弱反射信号,达到改善信号质量的目的。
节能效果显著。
3.2.3引出线
RS-485总线上的每个收发器通过一段引出线接入总线,引出线过长时,由于信号在引出线中的反射,也会影响总线上的信号质量。
和前面的讨论一样,系统所能允许的引出线长度也和信号的转换时间、数据速率有关。
下面的经验公式可以用来估算引出线的最大长度:
Lmax=(tRISE×0.2m/ns)/10
以MAX483为例,对应于250ns的上升/下降时间,总线允许的最大引出线长度约为5米。
从以上的分析可以看出,减缓信号的前后沿斜率有利于降低对于总线匹配、引出线长度的要求,改善信号质量,同时,还使信号中的高频成分降低,减少电磁辐射,因此,有些器件生产厂商在RS-485接口器件中增加了摆率限制电路来减缓信号前后沿,但这种做法也限制了数据传输速率。
由此看来,在选择接口器件时,并不是速率越高越好,应该根据系统要求,选择最低速率的器件。
3.2.4失效保护
RS-485标准规定接收器门限为±200mV。
这样规定能够提供比较高的噪声抑制能力,但同时也带来了一个问题:
当总线电压在±200mV中间时接收器输出状态不确定。
由于UART以一个前导"0"触发一次接收动作,所以接收器的不定态可能会使UART错误地接收一些数据,导致系统误动作。
当总线空闲、开路或短路时都有可能出现两线电压差低于200mV的情况,必须采取一定措施避免接收器处于不定态。
传统的做法是给总线加偏置(图10),当总线空闲或开路时,利用偏置电阻将总线偏置在一个确定的状态(差分电压≥200mV)。
但这种方法仍然不能解决总线短路时的问题,为此,有些器件制造商将接收门限移到-200mV/-50mV,巧妙地解决了这个问题。
例如Maxim公司为MAX3080系列RS-485接口,不但省去了外部偏置电阻,而且解决了总线短路情况下的失效保护问题。
图10
3.2.5地线与接地
电子系统的接地是一个非常关键而又常常被忽视的问题,接地处理不当经常会导致不能稳定工作甚至危及系统安全。
对于RS-485网络来讲也是一样,没有一个合理的接地系统可能会使系统的可靠性大打折扣,尤其是在工作环境比较恶劣的情况下,对于接地的要求更为严格。
RS-485网络的接地问题可以导致通信可靠性降低、接口损坏率较高。
一个典型的错误观点就是认为RS-485通信链路不需要信号地,而只是简单地用一对双绞线将各个接口的"A"、"B"端连接起来。
这种处理方法在某些情况下也可以工作,但给系统埋下了隐患,主要有以下两方面的问题:
3.2.5.1共模干扰问题
RS-485接口采用差分方式传输信号,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了,但应该注意的是,收发器只有在共模电压不超出一定范围(-7V至+12V)的条件下才能正常工作。
当共模电压超出此范围就会影响通信的可靠,直
图11:
地电位差导致的共模干扰问题
至损坏接口。
如图11所示,当发送器A向接收器B发送数据时,发送器A的输出共模电压为VOS,由于两个系统具有各自独立的接地系统,存在着地电位差VGPD。
那么,接收器输入端的共模电压就会达到VCM=VOS+VGPD。
RS-485标准规定VOS≤3V,但VGPD可能会有很大幅度(十几伏甚至数十伏),并可能伴有强干扰信号,致使接收器共模输入VCM超出正常范围,并在信号线上产生干扰电流,轻则影响正常通信,重则损坏接口,地线与接地方案见图12。
3.2.5.2电磁辐射(EMI)问题:
驱动器输出信号中的共模部分需要一个返回通路,如果没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。
因此,尽管是差分传输,对于RS-485网络来讲,一条低阻的信号地还是必不可少的。
如图12a所示,一条低阻的信号地将两个接口的工作地连接起来,使共模干扰电压VGPD被短路。
这条信号地可以是额外的一对线(非屏蔽双绞线)、或者是屏蔽双绞线的屏蔽层。
值得注意的是,这种做法仅对高阻型共模干扰有效,由于干扰源内阻大,短接后不会形成很大的接地环路电流,对于通信不会有很大影响。
当共模干扰源内阻较低时,会在接地线上形成较大的环路电流,影响正常通信,可以采取以下三种措施:
图12:
地线与接地方案
若干扰源内阻不是非常小,可以考虑在接地线上加限流电阻限制干扰电流。
接地电阻的增加可能会使共模电压升高,但只要控制在适当的范围内就不会影响正常通信(图12b);
当共模干扰内阻很小时上述方法已不能奏效,此时可以考虑将引入干扰的节点(例如处于恶劣的工作环境的现场仪表)浮置起来(也就是系统的电路地与机壳或大地隔离),这样就隔断了接地环路,不会形成很大的环路电流(图12c);
采用隔离接口。
有些情况下,出于安全或其他方面的考虑,电路地必须与机壳或大地相连,不能悬浮,这时可以采用隔离接口来隔断接地回路,但是仍然应该有一条地线将隔离侧的公共端与其它接口的工作地相连(图12d)。
3.2.6瞬态保护
前面提到的接地措施只对低频率的共模干扰有保护作用,对于频率很高的瞬态干扰就无能为力了。
因为引线电感的作用,对于高频瞬态干扰来讲,接地线实际等同于开路。
这样的瞬态干扰可能会有成百上千伏的电压,但持续时间很短。
在切换大功率感性负载(电机、变压器、继电器等)、闪电等过程中都会产生幅度很高的瞬态干扰,如果不加以适当防护就会损坏接口。
对于这种瞬态干扰可以采用隔离或旁路的方法加以防护。
图13:
瞬态保护方案
图13a所示为隔离保护方案。
这种方案实际上将瞬态高压转移到隔离接口中的电隔离