RS485 bus clash detecting

OK not really an Arduino issue but I don't know where else to ask.

The question is, can you detect a bus clash with RS485?

Every data sheet I've read shows that the drivers are push-pull or pull-push, ie they never release the bus unless disabled.

So if one was to be designing a serial protocol that depended on determining if the 1 you think you're transmitting is being overridden by a 0 from another transmitter can this be done with 485?

With CAN, LIN, open collector, diode mixing etc you can do this but not with 485 it seems.

i dont think that the detection is possible or needed
in most cases the receiver is in receive mode/disabled all the its not sending
and the protocol should handle the changing of modes

protocol should handle the changing of modes

True as most (all?) 485 protocols are master/slave, but what if you are designing a peer-to-peer protocol whereby anyone can talk whenever they like. In this case you need to detect clashes.

It's possible I can't do this and I'm happy to use the other options I mentioned, it would be nice to include 485 as a physical level as well though.

I think you might want to read about SAEJ1708

http://www.national.com/an/AN/AN-915.pdf

I believe that this is how a lot of automobile based device buses are designed.

Of course, use the data to enable the transmitter with input tied low and appropriate line biasing to give a recessive state.

Thanks for that.