SPLat Logo

Hot Tips

RS232 (RS485) is not a protocol!

All too often people refer to RS232 or RS485 as protocols, and believe that if a device "has RS232" it will automatically be able to communicate with any other device that "has RS232". This is simply not true!
 
So what is RS232? RS232 is a standard that defines the physical interface between devices, i.e. the connectors, the pin numbers, and the voltage levels, plus a few other purely electrical details. The voltages represent binary zeroes and ones (marks and spaces in RS232 terminology).
 
RS232 does not even specify the character format that has come to be taken for granted, namely start bit, data bits and stop bits, nor baud rates (9600BPS, 115KBPS, etc).
 
RS485 is a very different set of voltage levels, better suited for longer distance connections, but does not even specify connectors.
 
On top of this interface specification you need a specification that defines how data bytes will be encoded. This is where the familiar start, stop, data, parity and baudrate specifier comes in, but note that other schemes do exist (example: DMX512 in theatre lighting).
 
Once you have characters defined and being transferred, you can specify how those characters are used to build up meaningful units of data, typically called packets or messages. This is the protocol specification. Protocols abound. Common names are ModBus, IP and TCP. There are, however, an almost infinite number of proprietary protocols used for special purposes such as weigh scales, motion control boards, or GPS modules. This includes our own Xwire. Xwire is a proprietary protocol which we developed to provide the simple exchange of a small amount of data between controllers and peripherals located close together. The Xwire protocol can be used over several electrical interfaces, including TTL/CMOS, RS485 and radio.
More hot tips...