关于 RS-485 基本原理及电路介绍

一. 概述

RS-485 是隶属于 OSI 模型物理层电气特性规定的 2 线、半双工、平衡传输线多点通信的标准。可以在有电子噪声的环境下进行长距离有效率的通信,在线性多点总线的配置下,可以在一个网络上有多个接收器,因此适用在工业环境中。本文主要介绍 RS-485 总线协议及 485 收发器的原理图设计。
        

二. 特点

RS-485 是硬件层协议 ,规定两条电平线上差值为多少表示 0 或者 1,电压可以通过仪表测量得到。由于 MCU 管脚输出 TTL 电平,在传输时容易受噪声影响,因此在较长距离传输时需要使用其他协议,485 通信实际上是把 MCU 出来的 TTL 电平通过硬件层的一个转换器芯片,即 485 收发器进行转换,以差分信号的形式在总线上传输。

特点:
1. 半双工工作方式,支持多点数据通信。

2. 抗干扰能力强、传输距离远。RS485通信协议采用差分信号传输,即使用两根线进行数据传输,通过这种方式, RS485 可以有效地抵抗电磁干扰,并实现较长的通信距离。

3. RS-485 的电气特性:逻辑“1”以两线间的电压差为+(0.2-6) V 表示;逻辑“0”以两线间的电压差为-(0.2-6)V 表示,不同的芯片电气特性会有些许差别。


三. 原理及连接方式

目前市面上的 RS-485 收发器型号很多,常见的转换芯片有 MAX485,SP3485 等。以工业芯片 NCA3485 为例,该芯片是一种半双工 RS-485 收发器,支持 3.3V 供电,具有 1/8 单位负载的接收器输入阻抗,允许总线上多达 256 个收发器。设备数据速率最高可达 12Mbps。

NCA3485 芯片的引脚图如下所示:



图 1 NCA3485 芯片引脚图

图中 A、B 总线接口,/RE 是接收使能信号(低电平有效),DE 是发送使能信号(高电平有效),R 是接收输出端,D 是发送数据收入端。

在电路设计时可将 /RE 与 DE 连接,MCU 用一个引脚决定 RS485 数据收发,设为 1 时,表示发送数据,设为 0 时,表示接收数据。 MCU 使用 RX 与 TX 信号线连接到 485 收发器的 R 和 D 上,通过 UART 发送 TTL 电平信号,在收发器中转换成差分信号连接到网络总线进行传输。如图 2 为发送器的真值表,DE 为高电平且收发器 D 输入为高时,总线上差分信号表现为逻辑“1”,D 输入为低电平时,总线上差分信号表现为逻辑“0”



图 2 发送器真值表



图 3 接收器真值表

如图 3 为接收器的真值表,由于通讯是半双工形式,在同一时刻只能表达一个信号,对于 NCA3485 接收器:
  • 如果 /RE=0, VA – VB >= -10 mV,则接收电路 R 识别为逻辑 1;
  • 如果 /RE=0, VA – VB <= -200 mV,则接收电路 R 识别为逻辑 0。

收发器通过 A、B 连接到总线,使用差分信号来传输,一条总线上可挂载多个设备,如图 4 为RS-485的总线网络。



图 4 RS-485 总线网络

总线网络拓扑一般采用终端匹配的总线型结构,即一条总线将各个节点串接起来,不支持环形或星型网络,如果需要使用星型结构就必须使用 485 中继器或 485 集线器。RS-485 总线一般支持32个节点,如果特质的 485 芯片可以达到 128 或 256 个节点,最大支持400个节点。



四. 原理图

目前对于各类的 RS-485 收发器的原理图设计区别不大,多数使用的是 SOP8 封装的芯片。如图 5 为NCA3485 原理图设计。



图 5 NCA3485 原理图

硬件设计时注意事项:
  • 理想情况下 RS-485 需要 120 欧姆的匹配电阻,因为大多数双绞线电缆特性阻抗大约在 100~120Ω,因此进行阻抗匹配。没有特性阻抗的话,当所有的设备都静止或者没有能量的时候就会产生噪声,而且线移需要双端的电压差,没有终端电阻的话,会使得较快速的发送端产生多个数据信号的边缘,导致数据传输出错。
  • RS-485需要做瞬态过电压抑制,在总线上加一个 ESD 可以有效进行静电防护。
  • 对于 NCA3485 在 VDD 和 GND 之间需要一个 0.1 uF 的旁路电容,电容器应尽可能靠近封装放置,其他收发器的电容取值可参考其数据手册典型电路图。
  • 对于部分 RS-485 收发器,其 A、B 口需接偏置电阻,保证总线空闲时接收器输出 R 为逻辑高。RS-485 在发送数据完成后,要求所有的发送使能控制信号关闭且保持接收使能有效,此时,总线驱动器进入高阻状态且接收器监测总线上是否有新的通信数据。此时总线处于无源驱动状态,容易受到外界的噪声干扰。当噪声电压超过输入信号门限时,接收器将输出数据,导致对应的 UART 接收无效的数据,使通讯出错,解决方法是在 A、B 线加上下拉电阻或者使用内置防故障模式的系列产品。
  • 由于输出信号为差分信号,因此在 Layout 时需要注意差分线耦合,即尽可能等距等长,走线底下不要有其他信号线,留出一些空间进行包地等。



五. 参考资料

1. NCA34xx_DatasheetRev1.1_EN

 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论