https://bacnetwiki.com/index.php?title=RS-485_Polarity
https://bacnetwiki.com/index.php?title=BACnet_MS/TP_Best_Practices
RS-485 comprises two signals, one that 'tracks' the UART logic levels (high voltage == 1, low voltage == 0). The other signal does the opposite. The meaning of these two signals has been polluted by chip and box vendors, which leads to a lot of confusion. A lot of further confusion arises when one considers the UART logic levels vs signal levels and labels. This article attempts to resolve the status, hopefully without adding to the confusion.
Identifying 'A' and 'B' signals
Remember that UARTs output a logic '1' (high voltage) for idle state! This signal will go to 0v for the start bit.
The A signal is the wire that, when in the idle state, is at a slightly higher voltage than the 'B' signal. This difference in voltage measurements is the result of the biasing and termination resistors of the circuit. See Wikipedia
Identifying 'Mark/Idle' and 'Space'
Look at the data bits. The idle condition is always the 'mark' condition. The start bit is always a 'space'. Drawings on the internet are in conflict with each other and cannot be relied upon.
Nominal Terminology
Our Terminology Description Terminonlogy Data (UART) Representation When Idle
A Tracking UART value Non-Inverting A is high when UART emitting 1, A is low when UART emitting 0 High
B Non-tracking Inverting B is low when UART emitting 1, B is high when UART emitting 0 Low
Manufacturer's Labeling
Non-inverting Inverting Class Manufacturer examples
A B Nominal BITS, FieldServer
TI has a very definitive document, but one that has to be read carefully in terms of terminology. Read this document with the following table in mind. Note, according to TI (and our opinion), the Wikipedia article on bus states is WRONG ! :
RS-485 Bus State Terminology
UART input/output Logic level A vs B Legacy RS-485 Bus State RS-485 Bus Logic State RS-485 A volt RS-485 B volt
1 high A > B Mark/Idle On 0 high low
0 low A < B Space Off 1 low high
BACnet MS/TP Best Practices
Jump to navigationJump to search
BACnet MS/TP gets a bad rap in the field. Some installers do a great job and have networks that run with zero errors for years. Other networks suffer continuous (and largely invisible) communication errors. This page will accumulate a list of best practices for designers, installers and users.
Contents
1 Two-wire vs Three-wire
1.1 Two-Wire
1.2 Three-Wire (or Isolated RS-485)
1.3 A-/B+ or Polarity Issues
2 Resources
Two-wire vs Three-wire
Firstly consider the following scenario.
If there is only one pair pf wires (A and B signals), and if a device is floating (i.e. not connected to a ground anywhere, think battery powered or transformer isolated), then due to the various designed in or parasitic resistances, the circuit common (or 0v) will naturally be a few volts below the A/B potential. The RS-485 transceiver will then be able to extract the data signal quite happily.
Two-Wire
With this arrangement, the circuitry 0v is normally grounded to the building ground by manufacturer's specifications and common practices. There is nothing wrong with this approach if all the grounds of all the devices are within +/- 7 volts of each other.
The problem comes when there are large ground differences between nodes. This happens all the time when different building supply phases are used for different BACnet nodes, or if there are large loads scattered around the building, which cause large currents, thus voltage drops in the various supplies.
Three-Wire (or Isolated RS-485)
The third, or common wire carries the 'reference signal' from node to node. Per the scenario above it is not needed for operation, since the isolated circuit will arrange itself around the A/B voltages. However, the common return is important to remove the common-mode noise on the wire, thus removing the for emitted noise from the network.
It should never be grounded at more than one point, since this is a) unnecessary, b) introduced ground-loop noise into the circuit.
A-/B+ or Polarity Issues
Signal Polarity, in particular is fraught with contradictions and errors. We have tried to summarize the situation in the RS-485 Polarity page.
Resources
A very good MS/TP article from JCI
Interesting load analysis (with hockey stick under high loads) (link)
Application Guide from Siemens
Table of RS-485 cable part numbers Continental Control Systems