Electronic – RS-485 Idle Failsafe Is it really needed

rs485

I'm planning on setting up a sensor network around my house using a Cat5 Cable as both the power source and the signal line for the sensors, I'm planning on using RS-485 Transceivers and and Arduino's for the sensors.

From reading through many application notes and whatnot from TI and Maxim they all talk about having a failsafe so an Idle Bus goes to a known state.

If I use a master/slave setup why is this needed? If the master assumes that no slave will transmit unless requested to, and the slaves are constantly listening for their own address. It seems like this could be expanded for quite a bit of redundancy, without worrying about the state of the line when it's turned on.

Is there something I'm missing?

Best Answer

Normally the master device controls the bus, and has its output driver enabled so it can drive the bus to an "idle" state when there is no traffic. When the master sends a request to a slave it must immediately release the bus (by turning off its output driver) so the slave can reply. It will take the slave a finite time before it can enable its output driver, which may be just microseconds or milliseconds. During this time the bus could float to levels which look like a logic 0, ie a start bit, which may confuse the master which is looking for a start bit. By having failsafe biasing of the bus you eliminate this possibility since the bus is always pulled to voltages which represent an idle condition.

Note: a lot of newer RS485 transceivers have the failsafe biasing built in.