Abstract communications image

RS-485 (also known as TIA-485-A) is a multi-drop serial protocol which is commonly used in industrial applications and building / home automation systems. Its advantages include enabling multiple devices to be attached to the same network, being robust over long distances and having good immunity to noise / electromagnetic interference (EMI) from other electronic products nearby.

RS-485 communications links are straightforward to implement in embedded systems designs. Most microcontrollers have serial UART / USART ports which allow data to be transferred serially to and from the processor using dedicated peripheral hardware. Alternatively if no UART ports are available the data can be ‘bit bashed’ by using software to toggle GPIO pins high and low as required. An RS-485 driver / receiver (transceiver) chip is used to interface to the microcontroller to convert the voltages into the required levels and produce a differential balanced signal to be transmitted via twisted pair wiring.

RS-485 links can typically communicate at 10’s of Mbit/s over distances of a few metres, but due to its robust differential signals it can even be used to communicate across distances of over 1000m, albeit at a slower rate.

RS-232 (also known as TIA-232) used to be the standard method for connecting PCs to external devices such as printers, mice and modems via a serial port. It has now largely been superseded by USB in the commercial market but is still commonly used in industrial electronic products / scientific research and development applications. Compared with USB its advantages include being more suitable for long distances (> 5m of cable) and being a simpler more accessible protocol which requires less software overhead and is easily interfaced to via a PC terminal emulator program. However its disadvantages include being slower, using higher voltages and more cumbersome connectors. As with RS-485, RS-232 communications are straightforward to implement in embedded systems and require a suitable transceiver chip typically interfaced to a dedicated UART port on a microcontroller.