The Basics of Serial Data Communications
Even with the widespread use of Universal Serial Bus (USB) ports, for many of our customers who use converters, serial ports are still an important interface. Not only on computers, but also digital cameras, printing equipment, modems and a wide range of industrial automation network equipment, continue to make use of serial port connectivity. (Although, if you examine computers manufactured within the last few years, you’ll probably find just one serial port along with, on some models, a parallel port.)
One of the great advantages of serial communications is the simplicity achieved by taking 8-bit bytes and transmitting them one bit at a time down a single wire. This helps to keep both cabling costs low and the controlling communications protocol simple. Of course the trade off is that transmitting 8 bits serially, instead of in parallel, is eight times slower! (Remember that parallel ports were developed after serial ports.
How do serial communications actually work? Well, although we mentioned the serial transfer of 8 bits on the wire, in fact control bits are also transmitted. A ‘start’ bit to indicate data is arriving, a ‘stop’ bit to indicate data is finished, and an (optional) parity bit.
The ‘electronic brains’ behind this data transmission is a dedicated silicon chip known as a ‘Universal Asynchronous Receiver/Transmitter’ (UART). This chip is an interface between the internal computer bus’s parallel communications, and the serial (‘Com’) port. Some UART chips are able to cache significant amounts of data from the computer bus while simultaneously transmitting onto standard serial ports at rates of up to approx 115 kbps.
The serial port connectors in use today contain 9 or 25 pins, with the pin assignments indicating an earlier age of modem to computer connectivity. The legacy of having dedicated pins for transmitting, receiving and other control functions, allows serial data to be transmitted and received simultaneously i.e. in full duplex.
Naturally, full duplex communication is a great benefit but only if both transmitter and receiver can optimize the amounts of data transmitted, and the time intervals in which this is done. This important function is known as ‘flow control’ and is implemented by having one device tell the other when and when not to send data, such as in most USB to RS485 or RS232 to RS485 converters.
In the serial communications world the specific hardware pins assigned to this function are: Data Terminal Ready (DTR) and Data Set Ready (DSR), Request To Send (RTS), and Clear To Send (CTS). By monitoring these lines the device attached to the computer can react to a sudden increase in data (beyond that of its cache to handle) by lowering the ‘Clear To Send’ (CTS) pin signal, knowing that the computer monitoring its CTS pin will see the dropped signal, and stop sending data.
It is this ability to maintain a smooth data flow that is highly valued in devices that convert between, for example, USB to RS232. High speed USB data communicating with the much slower RS232 interface needs careful handling.