Re: 2 wire rs485

rickman wrote:


The biasing technique that many recommend to provide "fail-safe"
operation should work in most circumstances. But it does corrupt the

BTW: I consider this a kludge to get a broken design running.

receiver threshold so that it is not within the spec any longer. Of
course with the wide margins between driver and receiver voltages, it
is unlikely that this bias will affect most operations.

However, there are RS-485 chips available that will provide this fail-
safe function without external biasing. The standard requires that
the thresholds for the receiver be within the range of -200 mV to 200
mV. If the receiver threshold is actually within the range of -200 mV
to something less than 0 volts, then it will handle a shorted bus, a
terminated, but undriven bus or an open bus. All of these conditions

...with a miserable noise margin. That's IMO the worst problem of
RS485. I can't believe that the inventors of RS485 didn't consider the
idle bus.

CAN has much more noise margin. But many people don't understand that
the line doesn't need to be driven actively in both directions to get
decent speed.


will result in a high on the output of the receiver. I found
National, TI and LTC all provide chips with this capability.

I also found the LTC1482 from LTC that will not only give a high
output on these conditions, but does have a detection for an undriven don't get three state transmission with CAN transceivers. But
I'm sure that very few people use this possibility really.

bus. If the voltage on the bus is in the range of the carrier detect
(-0.2 V min and 0.2 V max) the CD signal is removed and the receiver
output is held high. When the receiver input is outside this range,
the CD signal is low and the receiver reflects the state of the bus.
So you can implement a CTS protocol (but not an RTS-CTS handshake) to
check for the bus being driven before you transmit. This will also

since there is no collsion detection, it won't work reliably. You need
some arbitration method in a higher layer.

detect a short on the bus when the driver is enabled. Not only is

_When_ do you detect the short if the short is 100m apart?

Disclaimer: I didn't read this thread completely, so please excuse if
I repeated something already said.

Oliver Betz, Munich might be broken, use Reply-To: