RS-485

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
TIA-485-A (Revision of EIA-485)
Standard ANSI/TIA/EIA-485-A-1998
Approved: March 3, 1998
Reaffirmed: March 28, 2003
Physical media Balanced Interconnecting Cable
Network topology Point-to-point, Multi-dropped, Multi-point
Maximum devices At least 32 unit loads
Maximum distance Not specified
Mode of operation Different Receiver levels:
 Binary 1 (OFF)
(Voa-Vob < -200 mV)
Binary 0 (ON)
(Voa-Vob > +200 mV)
Available signals A, B, C
Connector types Not specified

TIA-485-A, also known as ANSI/TIA/EIA-485, TIA/EIA-485, EIA-485 or RS-485, is a standard defining the electrical characteristics of drivers and receivers for use in balanced digital multipoint systems. The standard is published by the Telecommunications Industry Association/Electronic Industries Alliance (TIA/EIA). Digital communications networks implementing the EIA-485 standard can be used effectively over long distances and in electrically noisy environments. Multiple receivers may be connected to such a network in a linear, multi-drop configuration. These characteristics make such networks useful in industrial environments and similar applications.

The EIA once labeled all its standards with the prefix "RS" (Recommended Standard), but the EIA-TIA officially replaced "RS" with "EIA/TIA" to help identify the origin of its standards.[1] The EIA has officially disbanded and the standard is now maintained by the TIA. The RS-485 standard is superseded by TIA-485, but often engineers and applications guides continue to use the RS designation.

Overview

RS-485 enables the configuration of inexpensive local networks and multidrop communications links. It offers data transmission speeds of 35 Mbit/s up to 10 m and 100 kbit/s at 1200 m. Since it uses a differential balanced line over twisted pair (like RS-422), it can span relatively large distances up to 1,200 m (4,000 ft). A rule of thumb is that the speed in bit/s multiplied by the length in meters should not exceed 108. Thus a 50 meter cable should not signal faster than 2 Mbit/s.[2]

In contrast to RS-422, which has a single driver circuit which cannot be switched off, RS-485 drivers need to be put in transmit mode explicitly by asserting a signal to the driver. This allows RS-485 to implement linear bus topologies using only two wires. The equipment located along a set of RS-485 wires are interchangeably called nodes, stations or devices.[3]

The recommended arrangement of the wires is as a connected series of point-to-point (multidropped) nodes, i.e. a line or bus, not a star, ring, or multiply connected network. Ideally, the two ends of the cable will have a termination resistor connected across the two wires. Without termination resistors, reflections of fast driver edges can cause multiple data edges that can cause data corruption. Termination resistors also reduce electrical noise sensitivity due to the lower impedance, and bias resistors (see below) are required. The value of each termination resistor should be equal to the cable characteristic impedance (typically, 120 ohms for twisted pairs).

Star and ring topologies are not recommended because of signal reflections or excessively low or high termination impedance. If a star configuration is unavoidable, special RS-485 star/hub repeaters are available which bidirectionally listen for data on each span and then retransmit the data onto all other spans.

Typical bias network together with termination. Biasing and termination values are not specified in the RS-485 standard.

Somewhere along the set of wires, pull up or pull down resistors are established to fail-safe bias each data wire when the lines are not being driven by any device. This way, the lines will be biased to known voltages and nodes will not interpret the noise from undriven lines as actual data; without biasing resistors, the data lines float in such a way that electrical noise sensitivity is greatest when all device stations are silent or unpowered.[4]

Standard scope and definition

RS-485 only specifies electrical characteristics of the generator and the receiver. It does not specify or recommend any communications protocol, only the physical layer. Other standards define the protocols for communication over an RS-485 link. The foreword to the standard recommends The Telecommunications Systems Bulletin TSB-89 which contains application guidelines, including data signaling rate vs. cable length, stub length, and configurations.

Section 4 defines the electrical characteristics of the generator (transmitter or driver), receiver, transceiver, and system. These characteristics include: definition of a unit load, voltage ranges, open circuit voltages, thresholds, and transient tolerance. It also defines three generator interface points (signal lines); "A", "B" and "C". The data is transmitted on "A" and "B". "C" is a ground reference. This section also defines the logic states 1 (off) and 0 (on), by the polarity between A and B terminals. If A is negative with respect to B, the state is binary 1. The reversed polarity (A +, B −) is binary 0. The standard does not assign any logic function to the two states.

Master-slave arrangement

Often in a master-slave arrangement when one device dubbed "the master" initiates all communication activity, the master device itself provides the bias and not the slave devices. In this configuration, the master device is typically centrally located along the set of RS-485 wires, so it would be two slave devices located at the physical end of the wires that would provide the termination. The master device itself would provide termination if it were located at a physical end of the wires, but that is often a bad design[5] as the master would be better located at a halfway point between the slave devices, to maximize signal strength and therefore line distance and speed. Applying the bias at multiple node locations could possibly cause a violation of the RS-485 specification and cause communications to malfunction.

Three-wire connection

File:RS-485 3 wire connection.png
RS-485 3 wire connection

Connection of a third wire between the source and receiver may be done to limit the common mode voltage that can be impressed on the receiver inputs.

Full duplex operation

RS-485, like RS-422, can be made full-duplex by using four wires. Since RS-485 is a multi-point specification, however, this is not necessary in many cases. RS-485 and RS-422 can interoperate with certain restrictions.

Converters between RS-485 and other formats are available to allow a personal computer to communicate with remote devices. By using "Repeaters" and "Multi-Repeaters" very large RS-485 networks can be formed. TSB-89A, The Application Guidelines for TIA/EIA-485-A has one diagram called "Star Configuration. Not recommended." Using an RS-485 "Multi-Repeater" can allow for "Star Configurations" with "Home Runs" (or multi-drop) connections similar to Ethernet Hub/Star implementations (with greater distances). Hub/Star systems (with "Multi-Repeaters") allow for very maintainable systems, without violating any of the RS-485 specifications. Repeaters can also be used to extend the distance or number of nodes on a network.

Applications

RS-485 signals are used in a wide range of computer and automation systems. In a computer system, SCSI-2 and SCSI-3 may use this specification to implement the physical layer for data transmission between a controller and a disk drive. RS-485 is used for low-speed data communications in commercial aircraft cabins vehicle bus. It requires minimal wiring, and can share the wiring among several seats, reducing weight.

RS-485 is used as the physical layer underlying many standard and proprietary automation protocols used to implement Industrial Control Systems, including the most common versions of Modbus and Profibus. These are used in programmable logic controllers and on factory floors. Since it is differential, it resists electromagnetic interference from motors and welding equipment.

In theatre and performance venues RS-485 networks are used to control lighting and other systems using the DMX512 protocol.

RS-485 is also used in building automation as the simple bus wiring and long cable length is ideal for joining remote devices. It may be used to control video surveillance systems or to interconnect security control panels and devices such as access control card readers.

It's also used in model railway: the layout is controlled by a command station using DCC. The external interface to the DCC command station is often RS-485 used by hand-held controllers[6] or for controlling the layout in a network/PC environment.[7] Connectors in this case are 8P8C / RJ45.

Although many applications use RS-485 signal levels; the speed, format, and protocol of the data transmission is not specified by RS-485. Interoperability of even similar devices from different manufacturers is not assured by compliance with the signal levels alone.

Connectors

RS-485 does not specify any connector or pinout. Circuits may be terminated on screw terminals, D-subminiature connectors, or other types of connectors.

Pin labeling

The RS-485 differential line consists of two pins:

  • A aka '+' aka Data + (D+) aka TxD+/RxD+ aka non-inverting pin
  • B aka '-' aka Data - (D-) aka TxD-/RxD- aka inverting pin
  • SC aka G aka reference pin.

The SC line is the optional voltage reference connection. This is the reference potential used by the transceiver to measure the A and B voltages.

The B line is positive (compared to A) when the line is idle (i.e., data is 1).

In addition to the A and B connections, the EIA standard also specifies a third interconnection point called C, which is the common signal reference ground.

These names are all in use on various equipment, but the actual standard released by EIA only uses the names A and B. However, despite the unambiguous standard, there is much confusion about which is which:

The RS-485 signaling specification shows that signal A is the non-inverting pin and signal B is the inverting pin.[8]

This is in accordance with the A/B naming used by most differential transceiver manufacturers, including, among others:

  • Texas Instruments, as seen in their application handbook on EIA-422/485 communications (A=non-inverting, B=inverting)
  • Intersil, as seen in their data sheet for the ISL4489 transceiver[9]
  • Maxim, as seen in their data sheet for the MAX483 transceiver[10]
  • Linear Technology, as seen in their datasheet for the LTC2850, LTC2851, LTC2852[11]
  • Analog Devices, as seen in their datasheet for the ADM3483, ADM3485, ADM3488, ADM3490, ADM3491[12]
  • FTDI, as seen in their datasheet for the USB-RS485-WE-1800-BT[13]

These manufacturers are correct, and their practice is in widespread use, but care must be taken when using A/B naming.

To avoid these confusions, some equipment manufacturers have created a third D+ and D− naming convention. D is the input (drive) signal, D− is electrically inverting, and D+ is electrically non-inverting.

The standard does not discuss cable shielding, but makes some recommendations on preferred methods of interconnecting the signal reference common and equipment case grounds.

Waveform example

The diagram below shows potentials of the '+' and '−' pins of an RS-485 line during transmission of one byte (0xD3, least significant bit first) of data using an asynchronous start-stop method.

RS-485 waveform.svg

See also

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.[page needed]
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. "XpressNET FAQ", lenzusa.com, accessed July 26, 2015
  7. "BiDiBus, a Highspeed-Bus for model-railways", bidib.org, accessed July 26, 2015.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.

External links

  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found.
  • Lua error in package.lua at line 80: module 'strict' not found. – Practical information about implementing RS485
  • Lua error in package.lua at line 80: module 'strict' not found. – Implementation of RS485 standard in the Linux OS
  • Lua error in package.lua at line 80: module 'strict' not found.