Synchronous serial communication describes a serial communication protocol in which "data is sent in a continuous stream at constant rate."[1]
Synchronous communication requires that the clocks in the transmitting and receiving devices are synchronized – running at the same rate – so the receiver can sample the signal at the same time intervals used by the transmitter. No start or stop bits are required. For this reason "synchronous communication permits more information to be passed over a circuit per unit time"[2] than asynchronous serial communication. Over time the transmitting and receiving clocks will tend to drift apart, requiring resynchronization.
Synchronous RS-232 used additional pins on the DB-25 cable: the DCE (generally the modem or other peripheral) provided two clock signals to the DTE (generally the host computer or terminal), transmitter clock (pin 15, TCK) and receiver clock (pin 17, RCK). Some systems supported an alternative mode of operation in which the transmitter clock signal was provided by the DTE instead, called transmitter timing (pin 24, TT).[3] Note the smaller DE-9 connector commonly adopted in later systems does not have these additional signal lines, and hence cannot be used with synchronous RS-232.
Byte-oriented protocols
editEarly synchronous protocols were byte-oriented protocols, where synchronization was maintained by transmitting a sequence of synchronous idle characters when the line was not actively transmitting data or transparently within a long transmission block. A certain number of idles were sent prior to each transmission. The IBM Binary Synchronous protocol (Bisync) is still in use, Other examples of byte-oriented protocols are IBM's Synchronous transmit-receive (STR), and Digital Data Communications Message Protocol (DDCMP) from Digital Equipment Corporation. Other computer manufacturers often offered similar protocols, differing mainly in small details.
Bit-oriented protocols
editBit-oriented protocols are synchronous protocols that view the transmitted data as a stream of bits with no semantics, or meaning. Control codes are defined in terms of bit sequences instead of characters. Synchronization is maintained on an idle line by transmitting a predefined sequence of bits. Synchronous Data Link Control (SDLC) specifies that a station continue transmitting a sequence of '1' bits on an idle line.[4] Data to be transmitted on an idle line is prefixed with a special bit sequence '01111110'b, called a flag. SDLC was the first bit-oriented protocol developed, and it was later adopted by the International Organization for Standardization (ISO) as High-Level Data Link Control (HDLC). Other examples of bit-oriented protocols are Logical Link Control (LLC)—IEEE 802.2, and ANSI Advanced Data Communication Control Procedures (ADCCP).
References
edit- ^ Cowley, John (2007). Communications and Networking: An Introduction. Springer. ISBN 9781846286452.
- ^ IBM Corporation. Data Communications Primer (PDF).
- ^ Kasperek, Gabriel (September 1983). "Modems: simple techniques for isolating common faults". Data Communications. McGraw-Hill: 107.
- ^ IBM Corporation (1979). IBM Synchronous Data Link Control General Information (PDF).