Serial Communications Interface (SCI)
Introduction
MC68HC(7)05H12
—
Rev. 1.0
General Release Specification
MOTOROLA
Serial Communications Interface (SCI)
129
L
G
R
NOTE:
The Serial Communications Data Register (SCDAT) is controlled by the
internal R/W signal. It is the transmit data register when written and the
receive data register when read.
Data transmission is initiated by a write to the serial communications
data register (SCDR). Provided the transmitter is enabled, data stored in
the SCDR is transferred to the transmit data shift register. This transfer
of data sets the transmit data register empty flag (TDRE) in the SCI
status register (SCSR) and may generate an interrupt if the transmit
interrupt is enabled. The transfer of data to the transmit data shift
register is synchronized with the bit rate clock. All data is transmitted
least significant bit first. Upon completion of data transmission, the
transmission complete flag (TC) in the SCSR is set (provided no pending
data, preamble or break is to be sent), and an interrupt may be
generated if the transmit complete interrupt is enabled. If the transmitter
is disabled, and the data, preamble or break (in the transmit data shift
register) has been sent, the TC bit will also be set. This will also generate
an interrupt if the transmission complete interrupt enable bit (TCIE) is
set. If the transmitter is disabled in the middle of a transmission, that
character will be completed before the transmitter gives up control of the
TDO pin.
When SCDR is read, it contains the last data byte received, provided
that the receiver is enabled. The receive data register full flag bit (RDRF)
in the SCSR is set to indicate that a data byte has been transferred from
the input serial shift register to the SCDR, which can cause an interrupt
if the receiver interrupt is enabled. The data transfer from the input serial
shift register to the SCDR is synchronized by the receiver bit rate clock.
The OR (overrun), NF (noise), or FE (framing) error flags in the SCSR
may be set if data reception errors occurred.
An idle line interrupt is generated if the idle line interrupt is enabled and
the IDLE bit (which detects idle line transmission) in SCSR is set. This
allows a receiver that is not in the wake-up mode to detect the end of a
message or the preamble of a new message, or to resynchronize with
the transmitter. A valid character must be received before the idle line
condition or the IDLE bit will not be set and idle line interrupt will not be
generated.