Maker Pro
Maker Pro

RS485 biasing for Modbus

D

David

Jan 1, 1970
0
I am a little confused by the biasing requirements of RS485 bus for Modbus.

I normally bias the RS485 driver with A > B to ensure a HIGH at any
receiver on the bus when now transmission is in progress.

The standard though states that B must be higher than A for idle state
of the RS485 bus. If I bias like this, the micro in the device will
continually think a start bit is being received due to a low on the
RS485 IC (MAX485).

All practical applications I have seen so far bias A > B.

Could someone shed some light on this for me please.

Regards

David
 
D

David

Jan 1, 1970
0
Thanks for the link.

It seems I was not dreaming afterall and that there is confusion over
the biasing.

So far my systems Bias A higher than B to be compatible with the
microcontroller UART and not require inversion between the MX485 and
Micro.
 
M

Marc Guardiani

Jan 1, 1970
0
David said:
Thanks for the link.

It seems I was not dreaming afterall and that there is confusion over
the biasing.

So far my systems Bias A higher than B to be compatible with the
microcontroller UART and not require inversion between the MX485 and
Micro.

This application note does not address Modbus, but is a very good
document on how to bias RS-485:
http://www.national.com/an/AN/AN-847.pdf

Marc
 
D

David

Jan 1, 1970
0
Marc,

Thanks for the link. I have the RS485 bus working fine for our own
products. (Using 680R pull up and pull down resistors and 120R
termination). The problem is that we are now producing Modbus slave and
Master devices and need to clarify the Modbus requirement for A to be
biased lower than B.

If another manufacturers device is a Master and they bias A to be biased
lower than B but our system is designed for bias with A more positive
than B then we have an issue. I suppose if we state the requirements in
the documentation the users can connect A of their master to B of our
slave and visa versa.

I imagine many applications (like ours) connects the RS485 interface IC
directly to a micro controller. If this is the case, they need RX to
idle "1" to prevent the micro UART interrupt continually being triggered.

I suppose another way to do it is to avoid using A and B designations
and simply mark the RS485 as (+) (-) and (Com).
 
Top