A '''Universal Synchronous/Asynchronous Receiver/Transmitter''' (USART) is a type of a serial interface device that can be programmed to communicate asynchronously or synchronously. See [[UARTUniversal asynchronous receiver/transmitter]] (UART) for a discussion of the asynchronous capabilitycapabilities of thisthese devicedevices.
== Purpose and History ==
The USART's synchronous capabilities were primarily intended to support IBM's [[SDLCSynchronous Data Link Control]] (SDLC) and the ISO-standard [[HDLCHigh-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 while transmitting blocks of data 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. In addition, synchronousSynchronous 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 entirely 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 ... - DatasheetProgrammable SearchCommunications EngineInterface Download|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 SDLC protocols; refer to those pages for details. This article covers only some general characteristics.
A synchronous line is never silent; data was always flowing. When the USART has nothing to transmit in synchronous mode, it sends a continuous stream of ''flag characters''.
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 in synchronous mode transmittransmits 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.