| Low
Power UART Design for Serial Data Communication |
Definition
With the proliferation of portable electronic devices, power efficient data transmission
has become increasingly important. For serial data transfer, universal asynchronous
receiver / transmitter (UART) circuits are often implemented because of their
inherent design simplicity and application specific versatility. Components such
as laptop keyboards, palm pilot organizers and modems are few examples of devices
that employ UART circuits. In this work, design and analysis of a robust UART
architecture has been carried out to minimize power consumption during both idle
and continuous modes of operation. UART
An UART (universal asynchronous receiver / transmitter) is responsible for performing
the main task in serial communications with computers. The device changes incoming
parallel information to serial data which can be sent on a communication line.
A second UART can be used to receive the information. The UART performs all the
tasks, timing, parity checking, etc. needed for the communication. The only extra
devices attached are line driver chips capable of transforming the TTL level signals
to line voltages and vice versa. To use the
device in different environments, registers are accessible to set or review the
communication parameters. Setable parameters are for example the communication
speed, the type of parity check, and the way incoming information is signaled
to the running software. UART types
Serial communication on PC compatibles started with the 8250 UART in the XT. In
the years after, new family members were introduced like the 8250A and 8250B revisions
and the 16450. The last one was first implemented in the AT. The higher bus speed
in this computer could not be reached by the 8250 series. The differences between
these first UART series were rather minor. The most important property changed
with each new release was the maximum allowed speed at the processor bus side.
The 16450 was capable of handling a communication
speed of 38.4 kbs without problems. The demand for higher speeds led to the development
of newer series which would be able to release the main processor from some of
its tasks. The main problem with the original series was the need to perform a
software action for each single byte to transmit or receive. To overcome this
problem, the 16550 was released which contained two on-board FIFO buffers, each
capable of storing 16 bytes. One buffer for incoming, and one buffer for outgoing
bytes. <<back |