CP3BT10G38 National Semiconductor, CP3BT10G38 Datasheet - Page 114
![no-image](/images/manufacturer_photos/0/4/469/national_semiconductor_sml.jpg)
CP3BT10G38
Manufacturer Part Number
CP3BT10G38
Description
IC CPU RISC W/LLC&USB 100-LQFP
Manufacturer
National Semiconductor
Datasheet
1.CP3BT10G38.pdf
(210 pages)
Specifications of CP3BT10G38
Applications
Connectivity Processor
Core Processor
CR16C
Program Memory Type
FLASH (256 kB)
Controller Series
CP3000
Ram Size
10K x 8
Interface
Bluetooth, ACCESS.bus, Audio, UART, USB, Microwire/SPI
Number Of I /o
37
Voltage - Supply
2.25 V ~ 2.75 V
Operating Temperature
-40°C ~ 85°C
Mounting Type
Surface Mount
Package / Case
100-LQFP
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
Other names
*CP3BT10G38
www.national.com
19.0 UART Module
The UART module is a full-duplex Universal Asynchronous
Receiver/Transmitter that supports a wide range of soft-
ware-programmable baud rates and data formats. It han-
dles automatic parity generation and several error detection
schemes.
The UART module offers the following features:
19.1
Figure 41 is a block diagram of the UART module showing
the basic functional units in the UART:
The Transmitter block consists of an 8-bit transmit shift reg-
ister and an 8-bit transmit buffer. Data bytes are loaded in
parallel from the buffer into the shift register and then shifted
out serially on the TXD pin.
The Receiver block consists of an 8-bit receive shift register
and an 8-bit receive buffer. Data is received serially on the
RXD pin and shifted into the shift register. Once eight bits
have been received, the contents of the shift register are
transferred in parallel to the receive buffer.
The Transmitter and Receiver blocks both contain exten-
sions for 9-bit data transfers, as required by the 9-bit and
loopback operating modes.
The Baud Rate Generator generates the bit shift clock. It
consists of two registers and a two-stage counter. The reg-
isters are used to specify a prescaler value and a baud rate
divisor. The first stage of the counter divides the UART clock
based on the value of the programmed prescaler to create
a slower clock. The second stage of the counter creates the
baud rate clock by dividing the output of the first stage
based on the programmed baud rate divisor.
The Control and Error Detection block contains the UART
control registers, control logic, error detection circuit, parity
generator/checker, and interrupt generation logic. The con-
trol registers and control logic determine the data format,
mode of operation, clock source, and type of parity used.
The error detection circuit generates parity bits and checks
for parity, framing, and overrun errors.
The Flow Control Logic block provides the capability for
hardware handshaking between the UART and a peripheral
device. When the peripheral device needs to stop the flow
Full-duplex double-buffered receiver/transmitter
Programmable baud rate
Programmable framing formats: 7, 8, or 9 data bits; even,
odd, or no parity; one or two stop bits (mark or space)
Hardware parity generation for data transmission and
parity check for data reception
Interrupts on “transmit ready” and “receive ready” condi-
tions, separately enabled
Software-controlled break transmission and detection
Internal diagnostic capability
Automatic detection of parity, framing, and overrun errors
Hardware flow control (CTS and RTS signals)
DMA capability
Transmitter
Receiver
Baud Rate Generator
Control and Error Detection
FUNCTIONAL OVERVIEW
114
of data from the UART, it de-asserts the clear-to-send (CTS)
signal which causes the UART to pause after sending the
current frame (if any). The UART asserts the ready-to-send
(RTS) signal to the peripheral when it is ready to send a
character.
19.2
The UART normally operates in asynchronous mode. There
are two special-purpose modes, called attention and diag-
nostic. This section describes the operating modes of the
UART.
19.2.1
The asynchronous mode of the UART enables the device to
communicate with other devices using just two communica-
tion signals: transmit and receive.
In asynchronous mode, the transmit shift register (TSFT)
and the transmit buffer (UTBUF) double-buffer the data for
transmission. To transmit a character, a data byte is loaded
in the UTBUF register. The data is then transferred to the
TSFT register. While the TSFT register is shifting out the
current character (LSB first) on the TXD pin, the UTBUF
register is loaded by software with the next byte to be trans-
mitted. When TSFT finishes transmission of the last stop bit
of the current frame, the contents of UTBUF are transferred
to the TSFT register and the Transmit Buffer Empty bit (UT-
BE) is set. The UTBE bit is automatically cleared by the
UART when software loads a new character into the UTBUF
register. During transmission, the UXMIP bit is set high by
the UART. This bit is reset only after the UART has sent the
last stop bit of the current character and the UTBUF register
is empty. The UTBUF register is a read/write register. The
TSFT register is not software accessible.
In asynchronous mode, the input frequency to the UART is
16 times the baud rate. In other words, there are 16 clock
cycles per bit time. In asynchronous mode, the baud rate
generator is always the UART clock source.
The receive shift register (RSFT) and the receive buffer
(URBUF) double buffer the data being received. The UART
receiver continuously monitors the signal on the RXD pin for
a low level to detect the beginning of a start bit. On sensing
this low level, the UART waits for seven input clock cycles
and samples again three times. If all three samples still in-
dicate a valid low, then the receiver considers this to be a
valid start bit, and the remaining bits in the character frame
are each sampled three times, around the mid-bit position.
For any bit following the start bit, the logic value is found by
majority voting, i.e. the two samples with the same value de-
fine the value of the data bit. Figure 42 illustrates the pro-
cess of start bit detection and bit sampling.
Data bits are sensed by taking a majority vote of three sam-
ples latched near the midpoint of each baud (bit time). Nor-
mally, the position of the samples within the baud is
determined automatically, but software can override the au-
tomatic selection by setting the USMD bit in the UMDSL2
register and programming the USPOS register.
Serial data input on the RXD pin is shifted into the RSFT
register. On receiving the complete character, the contents
UART OPERATION
Asynchronous Mode