RS-485的信号电平/阈值电压/单位负载/工作模式/总线终端和分支长度...
电子设计宝典 2024-07-12


RS-485是美国电子工业协会(EIA)在1983年批准了一个新的平衡传输标准(balanced transmission standard),EIA一开始将RS(Recommended Standard)做为标准的前缀,不过后来为了便于识别标准的来源,已将RS改为EIA/TIA。目前标准名称为TIA-485,但工程师及应用指南仍继续使用RS-485来称呼此标准。

RS-485仅是一个电气标准,描述了接口的物理层,像协议、时序、串行或并行数据以及链路全部由设计者或更高层协议定义。RS-485定义的是使用平衡(也称作差分)多点传输线的驱动器(driver)和接收器(receiver)的电气特性。


关键特性

  • 差分传输增加噪声抗扰度,减少噪声辐射

  • 长距离链路,最长可达4000英尺(约1219米)

  • 数据速率高达10Mbps(40英寸内,约12.2米)

  • 同一总线可以连接多个驱动器和接收器

  • 宽共模范围允许驱动器和接收器之间存在地电位差异,允许最大共模电压-7-12V


信号电平

RS-485能够进行远距离传输主要得益于使用差分信号进行传输,当有噪声干扰时仍可以使用线路上两者差值进行判断,使传输数据不受噪声干扰:


RS-485差分线路包括以下2个信号:

  • A:非反向(non-inverting)信号

  • B:反向(inverting)信号

也可能会有第3个信号,为了平衡线路正常动作要求所有平衡线路上有一个共同参考点,称为SC或者G。该信号可以限制接收端收到的共模信号,收发器会以此信号作为基准值来测量AB线路上的电压。
RS-485标准中提到:

  • 若是MARK(逻辑1),线路B信号电压比线路A高

  • 若是SPACE(逻辑0),线路A信号电压比线路B高

:不同的IC使用的信号标示方式不同,不过EIA的标准中只使用A和B的名称。数据为1时,信号B会比信号A要高。不过因为标准其中也提到信号A是“非反向信号”,信号B是“反向信号”。因此信号A、B的定义就更容易混淆了,许多组件制造商(错误的)依循了这个A/B的命名原则,所以具体定义需要实际参考设计厂家芯片手册。

为了不引起分歧,一种常用的命名方式是:

  • TX+ / RX+ 或D+来代替B(信号1时为高电平)

  • TX- / RX- 或D-来代替A(信号0时为低电平)

下图列出在RS-485利用“异步开始-停止”方式发送一个字符(0xD3,最低比特先发送)时,U+端子及 U−端子上的电压变化。


阈值电压

如果发射器输入端收到逻辑高电平(DI=1),则线路A电压高于线路B(VOA>VOB);
如果发射器输入端接收到逻辑低电平(DI=0),则线路B电压高于线路A(VOB>VOA)。
如果接收器的输入端线路A电压高于线路B(VIA-VIB>200mV),则接收器输出为逻辑高电平(RO=1);
如果接收器的输入端线路B电压高于线路A(VIB-VIA>200mV),则接收器输出逻辑低电平(RO=0)。



符合RS-485标准的驱动器能够提供不小于1.5V的差分输出(在54Ω负载下),符合RS-485标准的接收器能检测小到200mV的差分信号输入。即便是在线缆和连接器严重降级的情况下,这两个值仍能为高可靠性的数据传输提供充足的余量。



单位负载(UL)

RS-485总线上的驱动器和接收器最大数量取决于它们的负载特性。驱动器和接收器的负载都是相对单位负载而衡量的。485标准规定一根传输总线上最多可以挂接32个单位负载。

单位负载定义为:在12V共模电压环境中,允许通过稳态负载1mA电流,或者是在-7V共模电压环境中,允许通过稳态负载0.8mA电流。将接收器输入阻抗看作12 kΩ并给收发器1mA电流,这可以代表一个单位负载。 部分RS-485接收器额定具有1/4或1/8UL,意味着可以挂载多数量的连接器。有关UL和接收器输入阻抗对应关系如下图所示:

工作模式

总线接口可以设计为如下两种方式:

  • 半双工(Half-Duplex)RS-485

  • 全双工(Full-Duplex)RS-485

关于多个半双工总线配置如下图所示,一次只能在一个方向传输数据。

关于全双工总线配置如下图所示,允许主从节点之间双向同时通信。


总线终端和分支长度

为避免信号反射,当线缆长度很长时数据传输线必须有终点,并且分支长度尽可能的短。正确的终端需要终端电阻RT匹配,其值为传输线的特性阻抗Z0。RS-485标准建议线缆的Z0=120Ω。电缆干线通常终端匹配120Ω的电阻,线缆的末尾处各一个。见下图示意:




分支的电气长度(收发器和电缆干线的导线距离)应小于驱动器上升沿时间的十分之一:

LStub ≤ tr * v * c/10

  • LStub= 最大分支长度(单位英尺)

  • tr= 驱动器(10/90)上升沿时间(单位ns)

  • v = 信号在电缆上传输的速率相对于光速的比率

  • c = 光速(9.8*10^8ft/s)

太长的分支长度会导致信号发射反射影响阻抗,下图是长分支长度与短分支长度波形对比。


数据速率和电缆长度

使用高数据速率时,只能使用较短线缆。使用低数据速率时,可以使用较长的线缆。对应低速率应用,电缆的直流电阻通过在电缆压降增加了噪声裕量,限制了电缆长度。使用高速率应用时,电缆的交流效应限制了信号质量,限制电缆长度。下图提供了较为保守的电缆长度和数据速率变化曲线。


故障安全(Fail-Safe)

总线空闲期间,没有器件驱动总线,接收器输出处于未定义状态。这会导致UART上接收到随机数据,进而影响无效起始位或帧错误。为了解决该问题,可以在总线上放置上拉下拉电阻进行偏置,具体上下拉电阻大小选择后面会讲到,如下图所示:

R1和R2计算如下(假设RT=120Ω):

R1=R2=R

VIA-VIB ≥ 200mV

VIA-VIB = RT*VCC / (2R+RT) = 200mV

if VCC = 5V,then R = 1440Ω

if VCC = 3V,then R = 960Ω

如果R值有较低值(VIA-VIB>200mV),系统有更大的噪声裕量。当然上下拉电阻会导致DC电流偏置,增加Tx负载,使得节点数量减少。有关总线状态和差分输入电压图形如下图所示:


真故障安全接收器(Ture Fail-Safe Receivers)

新一代RS-485接收器经过改进,使差分输入阈值电压从±200mV调整至-200mV和-30mV,这样就可以省去使用上下拉电阻。在总线空闲期间,VIA-VIB=0(大于-30mV)导致接收器输出处于高电平(RO=1),处于确定状态。

隔离

RS-485通常使用较长链路,这会引起总线上不同节点的地电平略有不同,当有较大地电势差时会以共模干扰的形式叠加到传输线上。如果叠加的干扰信号超出接收器输入共模范围,依靠本地接地作为电流回路是很危险的,最好的解决方式是使用信号和电源隔离来实现健壮的长距离传输,下图是ADI ADM2485隔离RS-485芯片连线示意图:


ESD保护

在工业应用中,雷击、电源波动、静电放电会产生较大的瞬变电压对RS-485收发器造成损害。以下ESD保护、EFT保护和浪涌保护技术规范适用于RS-485应用:

  • IEC 61000-4-2 ESD protection

  • IEC 61000-4-4 EFT protection

  • IEC 61000-4-5 surge protection

使用外部钳位器件(比如TVS二极管),保护程度可进一步提升。在RS-485应用中,TVS是将总线上的电压钳位到RS-485收发器的共模电压范围(-7–12V)。一些TVS器件专门为RS-485Y应用设计。对于更高的电源瞬变,可在受保护器件与输入引脚之间增加电阻RS(10-20Ω)来加强保护。 


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 【立即预约】Keysight直播:搞懂介电常数那些事儿


  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 基于C51单片机实现汽车座椅自动控制系统的软硬件设计

    引言 随着人们生活水平的提高,对汽车座椅的舒适性要求也越来越高,要求对汽车座椅地调节能够更加简单、方便、快捷。目前,汽车座椅位置的调节多采用基于手动调节方式的机械和电动控制两种方式。汽车座椅位置的调节...

    11小时前
  • MCS51单片机程序设计时堆栈的计算方法解析

    用C语言进行MCS51系列单片机程序设计是单片机开发和应用的必然趋势。Keil公司的C51编译器支持经典8051和8051派生产品的版本,通称为Cx51。应该说,Cx51是C语言在MCS51单片机上的扩展,既有C语言的共性,又有它自己...

    11小时前
  • 51单片机定时器工作原理及用法

    TMOD : 控制定时器的工作方式。8个bit,高四位 bit 控制 T1,、低四位 bit 控制 T0。因为定时器有4种工作方式;TMOD = 0x00(工作方式0),TMOD = 0x01(工作方式0),TMOD = 0x02(工作方式2),TMOD = 0x03(工作方式3)。...

    11小时前
  • 51单片机学习单片机之路总结

    学习单片机有一学期了,现在也由51转到STM32了。一直想对51的学习做一个总结。也希望对别人有一些启发。也给后学者提供一些建议。当然本文是我对自己学习过程的总结,若有不对的地方,还请高手指出。 我想,再看本...

    11小时前
  • hot51增强型单片机开发板原理图

    功能要求: 一):绿灯25s倒计时,绿灯过度红灯有5s黄灯时间,红灯25s后直接跳绿灯。 二):按键按下模拟闯红灯输入,产生5s蜂鸣器鸣叫。 开发环境: 软件:Keil uVision4 硬件:HOT51增强型单片机开发板 程序代码:...

    前天
  • 51单片机的延时子程序

    延时程序在单片机编程中使用非常广泛,但一些读者在学习中不知道延时程序怎么编程,不知道机器周期和指令周期的区别,不知道延时程序指令的用法, ,本文就此问题从延时程序的基本概念、机器周期和指令周期的区别和联系...

    前天
  • 什么是Flash盘?Flash盘的结构是什么样的?

    Flash是大家常使用的存储之一,对于Flash,大家或多或少有所了解。上篇文章中,小编对Flash闪存的类型有所介绍。为继续增进大家对Flash的认识,本文将对Flash盘、Flash盘结构以及Flash读写操作予以介绍。如果你对本...

    前天
  • 深谈嵌入式系统,嵌入式系统是如何组成的?

    嵌入式系统在生活中有诸多应用,大家对于嵌入式系统或多或少有所耳闻。在前两篇文章中,小编对嵌入式系统进行过详细介绍。为继续增进大家对嵌入式系统的认识,本文将对嵌入式系统的组成加以说明。如果你对嵌入式系...

    06-27
  • 嵌入式系统秘籍共享,最全嵌入式系统解析

    嵌入式系统的应用十分广泛,因此越来越多的人学习嵌入式系统。由此,在学习嵌入式系统之前,我们应当对嵌入式系统具备一些认识。所以在本文余下部分,小编将对嵌入式系统进行全面解析。如果你对嵌入式系统具有兴趣...

    06-27
  • 51单片机超声波测距程序详解

    51单片机超声波测距程序详解 超声波四通道测距:超声波测距实现分为三大块: 其一是12864带字库的液晶驱动程序: 代码如下: /////////////////12864驱动程序/////////////////////////// //1写数据 void WriteDat...

    06-25
  • 51系列单片机的引脚图

    51系列单片机的引脚图 端子介绍 l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。 l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。 l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。 l P3.0~P3.7 P2口8...

    06-25
  • 51单片机串口通信需要加超时中断吗?

    接收数据时,超过一定时间就算出错. 这个超时的时间是单片机自己算出的吗?超时的时间是由编程序的人定的,他定多长就多长从一段程序开始 实现电脑向 单片机发送一些数据,单片机返回Iget +数据 #include #define u...

    06-25
下载排行榜
更多
评测报告
更多
EE直播间
更多
广告