RS485串行通讯需注意
时间:12-16
来源:互联网
点击:
在进行嵌入式系统开发时,微处理器要与不同的设备实现互连,这就需要建立统一的通信总线标准。通信总线可分为并行总线和串行总线,并行通信速度快、实时性好,但占用的口线多,不宜于小型化产品的开发;串行通信速率虽低,但在数据通信吞吐量不是很大的微处理电路中显得更加简易、方便、灵活。串行通信总线的种类繁多,文中就当前嵌入式系统开发中最常用的RS485总线的通信可靠性做分析,希望对设计者有所帮助。
1 RS485标准
RS485是串行数据接口标准,由电子工业协会(EIA)制订并发布的,它是在RS-422基础上制定的标准,RS一485标准采用平衡式发送,差分式接收的数据收发器来驱动总线,具体规格要求:接收器的输入电阻Rin≥12 kΩ;驱动器能输出±7 V的共模电压;输入端的电容≤50 pF;在节点数为32个,配置了120 Ω的终端电阻的情况下,驱动器至少还能输出电压1.5 V(终端电阻的大小与所用双绞线的参数有关);接收器的输入灵敏度为200 mV(即(V+)一(V一)≥0.2 V,表示信号“0”;(V+)一(V一)≤一0.2 V,表示信号“l”)因为RS一485的远距离、多节点(32个)以及传输线成本低的特性,使得EIA RS-485成为工业应用中数据传输的首选标准。
2 RS485数据传输的可靠性
RS485总线属于外部总线,外部总线用于与外部设备进行信息和数据交换,是设备级的。
RS一485标准所具有的噪声抑制能力、数据传输速率、电缆长度及可靠性是其他标准无法比拟的。然而在实际应用中,往往分散控制单元数量较多、分布较远、现场存在各种干扰,使得通信的可靠性不高。为了提高RS一485总线在实际应用中的可靠性,应注意以下几个问题。
2.1 阻抗匹配
RS一485的信号线应考虑阻抗匹配问题,所谓阻抗匹配即信号线的负载应与信号线的特性阻抗相等。特性阻抗与信号线的宽度、与地线层的距离以及板材的介电常数等物理因素有关,是信号线的固有特性。阻抗不匹配将引起传输信号的反射,使数字波形产生振荡,造成逻辑混乱。由于通信载体是双绞线,它的特性阻抗为120 Ω左右,所以线路设计时,在RS一485网络传输线的始端和末端各应接1只120 Ω的匹配电阻,如图1所示,以减少线路上传输信号的反射。
2.2 失效保护
RS一485标准规定接收器门限为±200 mV。这样规定能够提供比较高的噪声抑制能力,但同时也带来了一个问题:当总线电压在±200 mV中间时接收器输出状态不确定。由于UART以一个前导“0”触发一次接收动作,所以接收器的不确定状态可能会使UART错误地接收一些数据,导致系统误动作。当总线空闲、开路或短路时都有可能出现两线电压差低于200 mV的情况,必须采取一定措施避免接收器处于不确定状态。传统的做法是给总线加偏置,当总线空闲或开路时,利用偏置电阻将总线偏置在一个确定的状态(差分电压≥200 mV),但这种方法仍然不能解决总线短路时的问题。Maxim公司的MAX3080系列S485接口芯片将接收门限移到一200 mV/一50 mV,巧妙地解决了这个问题。不但省去了外部偏置电阻,而且解决了总线短路情况下的失效保护问题。
2.3 地线与接地
电子系统的接地是一个非常关键而又常常被忽视的问题,接地处理不当经常会导致不能稳定工作甚至危及系统安全。对于RS一485网络来讲也是一样,没有一个合理的接地系统可能会使系统的可靠性大打折扣。一个典型的错误观点就是认为RS一485通信链路不需要信号地,而只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。这种处理方法在某些情况下也可以工作,但给系统埋下了隐患,主要有以下两方面的问题:
(1)共模干扰问题。
RS一485接口采用差分方式传输信号,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但应该注意的是,收发器只有在共模电压不超出一定范围(一7~+12 V)的条件下才能正常工作。当共模电压超出此范围就会影响通信的可靠,直至损坏接口。如图2所示,当发送器A向接收器B发送数据时,发送器A的输出共模电压为VOS,由于两个系统具有各自独立的接地系统,存在着地电位差VGPD。那么,接收器输入端的共模电压就会达到VCM=VOS+VGPD。RS一485标准规定VOS≤3 V,但VGPD可能会有很大的幅度(十几伏甚至数十伏),并可能伴有强干扰信号,致使接收器共模输入VCM超出正常范围,并在信号线上产生干扰电流,轻则影响正常通信,重则损坏接口。
![](../img/eep/emb/emb-70469r0cp5b4cens.jpg)
![](../img/eep/emb/emb-70470ns0eqidxdda.jpg)
1 RS485标准
RS485是串行数据接口标准,由电子工业协会(EIA)制订并发布的,它是在RS-422基础上制定的标准,RS一485标准采用平衡式发送,差分式接收的数据收发器来驱动总线,具体规格要求:接收器的输入电阻Rin≥12 kΩ;驱动器能输出±7 V的共模电压;输入端的电容≤50 pF;在节点数为32个,配置了120 Ω的终端电阻的情况下,驱动器至少还能输出电压1.5 V(终端电阻的大小与所用双绞线的参数有关);接收器的输入灵敏度为200 mV(即(V+)一(V一)≥0.2 V,表示信号“0”;(V+)一(V一)≤一0.2 V,表示信号“l”)因为RS一485的远距离、多节点(32个)以及传输线成本低的特性,使得EIA RS-485成为工业应用中数据传输的首选标准。
2 RS485数据传输的可靠性
RS485总线属于外部总线,外部总线用于与外部设备进行信息和数据交换,是设备级的。
RS一485标准所具有的噪声抑制能力、数据传输速率、电缆长度及可靠性是其他标准无法比拟的。然而在实际应用中,往往分散控制单元数量较多、分布较远、现场存在各种干扰,使得通信的可靠性不高。为了提高RS一485总线在实际应用中的可靠性,应注意以下几个问题。
2.1 阻抗匹配
RS一485的信号线应考虑阻抗匹配问题,所谓阻抗匹配即信号线的负载应与信号线的特性阻抗相等。特性阻抗与信号线的宽度、与地线层的距离以及板材的介电常数等物理因素有关,是信号线的固有特性。阻抗不匹配将引起传输信号的反射,使数字波形产生振荡,造成逻辑混乱。由于通信载体是双绞线,它的特性阻抗为120 Ω左右,所以线路设计时,在RS一485网络传输线的始端和末端各应接1只120 Ω的匹配电阻,如图1所示,以减少线路上传输信号的反射。
2.2 失效保护
RS一485标准规定接收器门限为±200 mV。这样规定能够提供比较高的噪声抑制能力,但同时也带来了一个问题:当总线电压在±200 mV中间时接收器输出状态不确定。由于UART以一个前导“0”触发一次接收动作,所以接收器的不确定状态可能会使UART错误地接收一些数据,导致系统误动作。当总线空闲、开路或短路时都有可能出现两线电压差低于200 mV的情况,必须采取一定措施避免接收器处于不确定状态。传统的做法是给总线加偏置,当总线空闲或开路时,利用偏置电阻将总线偏置在一个确定的状态(差分电压≥200 mV),但这种方法仍然不能解决总线短路时的问题。Maxim公司的MAX3080系列S485接口芯片将接收门限移到一200 mV/一50 mV,巧妙地解决了这个问题。不但省去了外部偏置电阻,而且解决了总线短路情况下的失效保护问题。
2.3 地线与接地
电子系统的接地是一个非常关键而又常常被忽视的问题,接地处理不当经常会导致不能稳定工作甚至危及系统安全。对于RS一485网络来讲也是一样,没有一个合理的接地系统可能会使系统的可靠性大打折扣。一个典型的错误观点就是认为RS一485通信链路不需要信号地,而只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。这种处理方法在某些情况下也可以工作,但给系统埋下了隐患,主要有以下两方面的问题:
(1)共模干扰问题。
RS一485接口采用差分方式传输信号,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但应该注意的是,收发器只有在共模电压不超出一定范围(一7~+12 V)的条件下才能正常工作。当共模电压超出此范围就会影响通信的可靠,直至损坏接口。如图2所示,当发送器A向接收器B发送数据时,发送器A的输出共模电压为VOS,由于两个系统具有各自独立的接地系统,存在着地电位差VGPD。那么,接收器输入端的共模电压就会达到VCM=VOS+VGPD。RS一485标准规定VOS≤3 V,但VGPD可能会有很大的幅度(十几伏甚至数十伏),并可能伴有强干扰信号,致使接收器共模输入VCM超出正常范围,并在信号线上产生干扰电流,轻则影响正常通信,重则损坏接口。
![](../img/eep/emb/emb-70469r0cp5b4cens.jpg)
![](../img/eep/emb/emb-70470ns0eqidxdda.jpg)
RS485串行通 相关文章:
- ZY-ETBL自控电动调节阀在控温系统中的应用(12-16)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)