Zilog Z16C30 User Manual
Page 92

5-25
Z16C30 USC
®
U
SER
'
S
M
ANUAL
Z
ILOG
UM97USC0100
5.17 PARITY CHECKING
A USC channel can handle a Parity bit in each character in
either asynchronous or synchronous modes, although
many synchronous protocols use CRC checking only.
If the
TxParEnab
bit in the Transmit Mode Register (TMR5)
is 1, the Transmitter creates a parity bit as specified by the
TxParType
field (TMR7-6) and sends it with each charac-
ter. Similarly, if the
RxParEnab
bit (RMR5) is 1, the Re-
ceiver checks a parity bit in each received character,
according to the RxParType field (RMR7-6). A channel
interprets TxParType and
RxParType
as follows:
xMR7-6
Type of Parity
00
Even
01
Odd
10
Zero
11
One
For unencoded data, 10/Zero is the same as “Space
parity” and 11/One is the same as “Mark parity”.
TxParEnab and TxParType are “global states” in that a
channel doesn’t carry these bits through the TxFIFO with
each character.
In asynchronous modes, the Transmitter and Receiver
handle the parity bit as an additional bit after the number
of bits specified by the TxLength and RxLength fields
(TMR4-2 and RMR4-2). In synchronous modes they handle
the parity bit as the last (most significant) bit of that
number. The Receiver includes a parity bit in the data
characters in the RxFIFO and Receive Data Register
(RDR), except in asynchronous modes with 8-bit data.
In HDLC/SDLC protocols, a USC Receiver can queue
either a Parity Error or an Abort indication through the
RxFIFO, but not both. Regardless of the protocol, in order
to have the Receiver check parity, the QAbort bit in the
Receive Mode Register (RMR8) must be 0.
If QAbort is 0, RxParEnab is 1, and the Receiver finds that
the parity bit of a received character is not as specified by
RxParType, it sets a Parity Error bit. This bit accompanies
the character through the RxFIFO, eventually appearing
as the Abort/PE bit in the Receive Command/Status Reg-
ister (RCSR2). The Abort/PE bit can represent a latched
interrupt bit, or the status at the time that an RxBound
character was read from the RxFIFO, or the status of the
oldest 1 or 2 characters that are still in the RxFIFO, as
described in the next section.
UM009402-0201