PCCOM - Solution Provider for RS232/422/485
Serial Communication Multi Port Serial Card Serial - TCP/IP Communication RS232/422/485 Converter and Repeater Data Acquisition and Instrument Control Real - Time Data Collection form any Serial Device |
Synchronization and Synchronous |
Beside the
asynchronous EIA-232 (and others) there are a number of synchronous
serial port standards. In fact EIA-232 includes synchronous
specifications but they aren't normally implemented for serial ports on
PC's. But first we'll explain what a synchronous means. |
Definition
of Asynchronous and Synchronous |
Asynchronous
(async) means "not synchronous". In practice, an async signal is what
the async serial port sends and receives which is a stream of bytes with
each byte framed by a start and stop bit. Synchronous (sync) is most
everything else. But this doesn't explain the basic concepts. In theory, synchronous means that bytes are sent out at a constant rate one after another in step with a clock signal tick. There is often a separate wire or channel for sending the clock signal. The clock signal might also be embedded in the transmitted bytes. Asynchronous bytes may be sent out erratically with various time intervals between bytes (like someone typing characters at a keyboard). When a file is being sent thru the async serial port, the flow of bytes will likely be at the speed of the port (say 115.2k) which is a constant rate. This flow may frequently start and stop due to flow control. Is this sync or async? Ignoring the flow control stops, it might seem like sync since it's a steady flow. But it's not because there is no clock signal and the bytes could have been sent erratically since they are framed by start/stop bits. Another case is where data bytes (without any start-stop bits) are put into packets with possible erratic spacing between one packet and the next. This is called sync since the bytes within each packet are transmitted synchronously. |
Synchronous
Communication |
Did you
ever wonder what all the unused pins are for on a 25-pin connector for
the serial port? Most of them are for use in synchronous communication
which is seldom implemented in chips for PC's. There are pins for sync
timing signals as well as for a sync reverse channel. The EIA-232 spec
provides for both sync and async but PC's use a UART (Universal
Asynchronous Receiver/Transmitter) chip such as a 16450, 16550A, or
16650 and can't deal with sync. For sync one needs a USRT chip or the
equivalent where the "S" stands for Synchronous. A USART chip supports
both synchronous and asynchronous. Since sync is a niche market, a sync
serial port is likely to be quite expensive. SCC stands for "Serial Communication Controller" or "Serial Controller Chip". It's likely old terminology and since it doesn't say "sync" or "async" it might support both. Besides the sync part of the EIA-232, there are various other EIA synchronous standards. For EIA-232, 3 pins of the connector are reserved for clock (or timing) signals. Sometimes it's a modem's task to generate some timing signals making it impossible to use synchronous communications without a synchronous modem (or without a device called a "synchronous modem eliminator" which provides the timing signals). Although few serial ports are sync, synchronous communication does often take place over telephone lines using modems, which use V.42 error correction. This strips off the start/stop bits and puts the data bytes in packets resulting in synchronous operation over the phone line. |