Universal synchronous and asynchronous receiver-transmitter: Difference between revisions

Content deleted Content added
Clarifications and background
Correct lots of problems, add some devices
Line 2:
 
== Purpose and History ==
The USART's synchronous capabilities were primarily intended to support synchronous protocols like IBM's [[Synchronous transmit-receive]] (STR), [[Binary Synchronous Communications]] (BSC), [[Synchronous Data Link Control]] (SDLC) and the ISO-standard [[High-Level Data Link Control]] (HDLC) synchronous link-layer protocols, which were used with synchronous voice-frequency [[modem | modems]]. These protocols were designed to make the best use of bandwidth when modems were analog devices. In those times, the fastest asynchronous voice-band modem could achieve at most speeds of 300 bps, while synchronous modems could run at speeds up to 9600 bps. Synchronous transmission used only slightly over 80% of the bandwidth of the now more-familiar asynchronous transmission, since start and stop bits were unnecessary. Those modems are obsolete, having been replaced by modems with which convert asynchronous data to synchronous forms, but similar synchronous telecommunications protocols survive in numerous block-oriented technologies, including the widely-used [[IEEE 802.2]] (Ethernet) link-level protocol. An example of a USART was the Intel 8251A<ref>{{Cite web|title = Intel 8251A Programmable Communications Interface |url = http://www.datasheetarchive.com/dlmain/Datasheets-14/DSA-278171.pdf|website = www.datasheetarchive.com|accessdate = 2015-12-16}}</ref>. USART's, though apparently no longer manufactured as standalone components are often integrated with MCUs. (Does anyone know if any current protocol implementations rely on HDLC or SDLC framing?)
 
== Operation ==
The operation of a USART is intimately related to the HDLC and SDLCvarious protocols; refer to those pages for details. This articlesection covers only some general characteristics.
 
USARTs in synchronous mode transmits data in [[Frame (networking) |frames]]. In synchronous operation, characters must be provided on time until a frame is complete; if the controlling processor does not do so, this is an ''"underrun error''," and transmission of the frame is aborted.
A synchronous line is never silent; when the modem is transmitting, data is flowing; there is no quiescent (mark) state and therefore the USART must always be transmitting, even when it has no data to send. In that state, a USART sends a continuous stream of ''flag characters''.
 
USARTs operating as synchronous devices used either character-oriented or bit-oriented mode. In character-oriented mode, the device relied on particular characters to define frame boundaries; in bit-oriented mode the devices relied on physical-layer signals to define frame boundaries.
USARTs in synchronous mode transmits data in [[Frame (networking) |frames]], which are delimited by flag characters. The flag character is only transmitted as a frame delimiter; any flag characters in data are carefully transformed on transmission by the addition of bits (bit stuffing), a process which is reversed on reception. Control and data characters are then sent continuously without start and stop bits. At the end of frames, a [[frame check sequence]] is inserted, so that errors in transmission can be reliably detected. In synchronous operation, characters must be provided on time until a frame is complete; if the controlling processor does not do so, this is an ''"underrun error''," and transmission of the frame is aborted.
 
A synchronous line is never silent; when the modem is transmitting, data is flowing. In character-oriented mode, a USART will send a steady series of synchronization characters; in bit-oriented mode this padding is provided by the physical layer.
 
== Devices ==
(Not a complete list!)
An example of a USART was the Intel 8251A<ref>{{Cite web|title = Intel 8251A Programmable Communications Interface |url = http://www.datasheetarchive.com/dlmain/Datasheets-14/DSA-278171.pdf|website = www.datasheetarchive.com|accessdate = 2015-12-16}}</ref>.
 
== References ==