Electronic – Any good way to automatically enable an RS-485 transmitter in hardware

rs485

Does anyone know of a good circuit that would automatically enable the transmit on an RS-485 driver when characters are transmitted? In our designs we currently use RTS to drive the driver transmit pin, but then the RTS signalling has to be done in software.

Note the solution would have to be quite cheap as this will be a volume product (kind of excludes using a separate microcontroller to do the job). Also keeping the transmit enabled for any longer than necessary would be a problem, as the serial line may have to handle a lot of traffic.

Best Answer

If you're using an ordinary asynchronous (UART) protocol, with a start bit at the beginning of every byte, one simple method is to use a monostable multivibrator (even the dreaded 555) set to the duration of a byte plus the start bit and about half the stop bit, and use that to enable the transmit driver.

If the multivibrator is retriggerable, you need to allow up to one full byte time from the end of a transmission before anyone else can transmit, because the multivibrator may have been retriggered by the last data bit if it was a zero.

If not, then it should shut off in the middle of each stop bit, and then trigger again on the next start bit.