RS-485 Polarity

From BACnet Wiki
Revision as of 06:37, 17 September 2023 by BACnetEd (talk | contribs)
Jump to navigation Jump to search

RS-485 comprises two signals, one that 'tracks' the 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 without adding to the confusion

Our terminology:

Nominal Terminology
Our Terminology Description Logic levels Data (UART) Representation
A Tracking UART value High voltage (typically +5 or +3.3) 1
B Non-tracking Low voltage (close to 0v) 0


Labeling found in the field

Manufacturer's Labeling
Comment Tracking Non-tracking Class Manufacturer examples
Our terminology A B Nominal BITS
+ - Symbol FT-Click, BASRouterLX
B+ A- MBS UBR-01 MkII
U+ U- Wikipedia
TI convention A B TI Polarity Conventions


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 bit Logic level A-B (T+ - T-) result Legacy RS-485 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