Every time I design a product with an RS485 interface, I wind up going over the same old ground in disbelief - and coming up with the same answer. The A/B line-naming convention is reversed when comparing extant devices (e.g. the venerable SN75176B, or the transceiver product line from Maxim) with the RS485 (ok, EIA485) specification. Perhaps this confusion stems from the definitions and interpretation of MARK and SPACE. But even avoiding those entirely, I'm still left with the fact that the idle state of an RS485 line involves A being low and B being high. When using e.g. a Maxim part with failsafe inputs (which force the idle state when disconnected) I always have to cross the A/B lines to bring them out of the product. (With the 75176 I can either do that, or invert the Tx/Rd UART signals. The former is easier ;).) Yet a doubt remains - surely there should be more noise about this issue than I've seen. Anybody feel that this a serious trap for the newbie who doesn't have the actual RS485 spec to hand? Steve http://www.fivetrees.com
RS485 A/B line reversal in extant devices
Started by ●January 4, 2005
Reply by ●January 5, 20052005-01-05
"Steve at fivetrees" <steve@NOSPAMTAfivetrees.com> wrote in message news:MJqdnU36Ucmt2UbcRVn-qQ@nildram.net...> Every time I design a product with an RS485 interface, I wind up goingover> the same old ground in disbelief - and coming up with the same answer. The > A/B line-naming convention is reversed when comparing extant devices (e.g. > the venerable SN75176B, or the transceiver product line from Maxim) withthe> RS485 (ok, EIA485) specification.This is indeed weird. When I first designed some RS485 devices, they were only meant to talk to eachother, so I just followed the datasheets of the MAX485 and equivalents. But later, developing NMEA devices, I really thought that the NMEA standard defined RS-422, but with reversed A and B designators, since it has A negative from B in idle. But it turns out to be the correct way. The advantage of this is that you can sometimes connect RS-232 to RS-422 with success, which wouldn't be possible with A positive from B in idle. To add to the confusion, the EIA485 says that the A line can also be designated by a '-' and the B by a '+', while all NMEA devices, A is equivalent with '+' and B with '-'.....> Perhaps this confusion stems from the definitions and interpretation ofMARK> and SPACE. But even avoiding those entirely, I'm still left with the fact > that the idle state of an RS485 line involves A being low and B beinghigh.> When using e.g. a Maxim part with failsafe inputs (which force the idle > state when disconnected) I always have to cross the A/B lines to bringthem> out of the product. (With the 75176 I can either do that, or invert the > Tx/Rd UART signals. The former is easier ;).)It seems to me that the first manufacturer got it wrong and all others just followed blindly... Meindert
Reply by ●January 5, 20052005-01-05
"Meindert Sprang" <mhsprang@NOcustomSPAMware.nl> wrote in message news:10tn8pmms1gai9e@corp.supernews.com...> "Steve at fivetrees" <steve@NOSPAMTAfivetrees.com> wrote in message > news:MJqdnU36Ucmt2UbcRVn-qQ@nildram.net... > > Every time I design a product with an RS485 interface, I wind up going > over > > the same old ground in disbelief - and coming up with the same answer.The> > A/B line-naming convention is reversed when comparing extant devices(e.g.> > the venerable SN75176B, or the transceiver product line from Maxim) with > the > > RS485 (ok, EIA485) specification. > > This is indeed weird. When I first designed some RS485 devices, they were > only meant to talk to eachother, so I just followed the datasheets of the > MAX485 and equivalents.Which is fine - it'll work, but won't comply with the spec. Or indeed talk to anything that *does* comply with the spec ;).> But later, developing NMEA devices, I really thought that the NMEAstandard> defined RS-422, but with reversed A and B designators, since it has A > negative from B in idle. But it turns out to be the correct way. The > advantage of this is that you can sometimes connect RS-232 to RS-422 with > success, which wouldn't be possible with A positive from B in idle.Possible in one direction only - since one of the differential lines has to act as ground. FWIW, RS423 is the official halfway-house between RS232 and RS422/485 - basically RS232 with +/-5V swing rather than +/-12V.> To add > to the confusion, the EIA485 says that the A line can also be designatedby> a '-' and the B by a '+', while all NMEA devices, A is equivalent with'+'> and B with '-'.....Indeed. I've seen this confusion in a lot of different places and in a lot of documents from varied sources.> > Perhaps this confusion stems from the definitions and interpretation of > MARK > > and SPACE. But even avoiding those entirely, I'm still left with thefact> > that the idle state of an RS485 line involves A being low and B being > high. > > When using e.g. a Maxim part with failsafe inputs (which force the idle > > state when disconnected) I always have to cross the A/B lines to bring > them > > out of the product. (With the 75176 I can either do that, or invert the > > Tx/Rd UART signals. The former is easier ;).) > > It seems to me that the first manufacturer got it wrong and all othersjust> followed blindly...Yes, that's my view. The first time I came across this was when the original 75176A was first introduced (mid 80s); the company I was working for had already had a lot of experience with RS422 devices and we spotted the error fairly quickly. Seems that all the later devices have essentially copied the error from there. Steve http://www.fivetrees.com