
XC161 Derivatives
Peripheral Units (Vol. 2 of 2)
Asynchronous/Synchronous Serial Interface (ASC)
User’s Manual
18-7
V2.2, 2004-01
ASC_X, V2.0
9-Bit Data Frames
9-bit data frames consist of either nine data bits D8 … D0 (M = 100
B
), eight data bits
D7 … D0 plus an automatically generated parity bit (M = 111
B
), or eight data bits
D7 … D0 plus wake-up bit (M = 101
B
). Parity may be odd or even, depending on bit
ODD. An even parity bit will be set if the modulo-2-sum of the 8 data bits is 1. An odd
parity bit will be cleared in this case. Parity checking is enabled via bit PEN (always OFF
in 9-bit data and wake-up mode). The parity error flag PE will be set, along with the error
interrupt request flag, if a wrong parity bit is received. The parity bit itself will be stored
in bit RBUF.8.
Figure 18-5
Asynchronous 9-Bit Frames
In wake-up mode, received frames are transferred to the receive buffer register only if
the 9
th
bit (the wake-up bit) is 1. If this bit is 0, no receive interrupt request will be
activated and no data will be transferred.
This feature may be used to control communication in a multi-processor system:
When the master processor wants to transmit a block of data to one of several slaves, it
first sends out an address byte to identify the target slave. An address byte differs from
a data byte in that the additional 9th bit is a 1 for an address byte, but is a 0 for a data
byte; so, no slave will be interrupted by a data ‘byte’. An address ‘byte’ will interrupt all
slaves (operating in 8-bit data + wake-up bit mode), so each slave can examine the eight
LSBs of the received character (the address). The addressed slave will switch to 9-bit
data mode (such as by clearing bit M[0]), to enable it to also receive the data bytes that
will be coming (having the wake-up bit cleared). The slaves not being addressed remain
in 8-bit data + wake-up bit mode, ignoring the following data bytes.
MCT05436
D0
LSB
Start
Bit
0
(2
nd
)
Stop
Bit
(1
st
)
Stop
Bit
D1
D2
D3
D4
D5
D7
Bit 9
9 Data Bits
11-/12-bit UART Frame
1
1
D6
CON.M = 100
B
: Bit 9 = Data Bit D8
CON.M = 101
B
: Bit 9 = Wake-up Bit
CON.M = 111
B
: Bit 9 = Parity Bit