English
Language : 

MC9S08GB60A Datasheet, PDF (183/302 Pages) Freescale Semiconductor, Inc – HCS08 Microcontrollers
Serial Communications Interface (S08SCIV1)
11.3 Functional Description
The SCI allows full-duplex, asynchronous, NRZ serial communication among the MCU and remote
devices, including other MCUs. The SCI comprises a baud rate generator, transmitter, and receiver block.
The transmitter and receiver operate independently, although they use the same baud rate generator.
During normal operation, the MCU monitors the status of the SCI, writes the data to be transmitted, and
processes received data. The following describes each of the blocks of the SCI.
11.3.1 Baud Rate Generation
As shown in Figure 11-12, the clock source for the SCI baud rate generator is the bus-rate clock.
BUSCLK
MODULO DIVIDE BY
(1 THROUGH 8191)
SBR12:SBR0
DIVIDE BY
16
Tx BAUD RATE
BAUD RATE GENERATOR
OFF IF [SBR12:SBR0] = 0
Rx SAMPLING CLOCK
(16 × BAUD RATE)
BUSCLK
BAUD RATE =
[SBR12:SBR0] × 16
Figure 11-12. SCI Baud Rate Generation
SCI communications require the transmitter and receiver (which typically derive baud rates from
independent clock sources) to use the same baud rate. Allowed tolerance on this baud frequency depends
on the details of how the receiver synchronizes to the leading edge of the start bit and how bit sampling is
performed.
The MCU resynchronizes to bit boundaries on every high-to-low transition, but in the worst case, there are
no such transitions in the full 10- or 11-bit time character frame so any mismatch in baud rate is
accumulated for the whole character time. For a Freescale Semiconductor SCI system whose bus
frequency is driven by a crystal, the allowed baud rate mismatch is about ±4.5 percent for 8-bit data format
and about ±4 percent for 9-bit data format. Although baud rate modulo divider settings do not always
produce baud rates that exactly match standard rates, it is normally possible to get within a few percent,
which is acceptable for reliable communications.
11.3.2 Transmitter Functional Description
This section describes the overall block diagram for the SCI transmitter (Figure 11-2), as well as
specialized functions for sending break and idle characters.
The transmitter is enabled by setting the TE bit in SCIxC2. This queues a preamble character that is one
full character frame of the idle state. The transmitter then remains idle until data is available in the transmit
data buffer. Programs store data into the transmit data buffer by writing to the SCI data register (SCIxD).
The central element of the SCI transmitter is the transmit shift register that is either 10 or 11 bits long
depending on the setting in the M control bit. For the remainder of this section, we will assume M = 0,
selecting the normal 8-bit data mode. In 8-bit data mode, the shift register holds a start bit, eight data bits,
and a stop bit. When the transmit shift register is available for a new SCI character, the value waiting in
MC9S08GB60A Data Sheet, Rev. 2
Freescale Semiconductor
183