SAB80C517-M16 SIEMENS [Siemens Semiconductor Group], SAB80C517-M16 Datasheet - Page 66

no-image

SAB80C517-M16

Manufacturer Part Number
SAB80C517-M16
Description
8-Bit CMOS Single-Chip Microcontroller
Manufacturer
SIEMENS [Siemens Semiconductor Group]
Datasheet
7.2.3.2 Mode 1/Mode B, 8-Bit UART (Serial Interfaces 0 and 1)
Ten bits are transmitted (through TxD0 or TxD1), or received (through RxD0 or RxD1): a start bit
(0), 8 data bits (LSB first), and a stop bit (1). On reception through RxD0, the stop bit goes into RB80
(S0CON), on reception through RxD1, RB81 (S1C0N) stores the stop bit.
The baud rate for serial interface 0 is determined by the timer 1 overflow rate or by the internal baud
rate generator of serial interface 0. Serial interface 1 receives the baud rate clock from its own baud
rate generator.
Figures 7-17 a) and b) show a simplified functional diagram of both serial channels in mode 1 or
mode B, resp. The generation of the baud rate clock by the various timers is described in sections
7.2.1.3 and 7.2.2.3.
Transmission is initiated by any instruction that uses S0BUF/S1BUF as a destination register. The
"write-to-S0BUF/S1BUF" signal also loads a 1 into the 9th bit position of the transmit shift register
and flags the TX control block that a transmission is requested. Transmission actually commences
at S1P1 of the machine cycle following the next roll-over in the divide-by-16 counter (thus, the bit
times are synchronized to the divide-by-16 counter, not to the "write-to-S0BUF/S1BUF" signal).
The transmission begins with activation of SEND, which puts the start bit to TxD0/TxD1. One bit
time later, DATA is activated, which enables the output bit of the transmit shift register to TxD0/
TxD1. The first shift pulse occurs one bit time after that.
As data bits shift out to the right, zeros are clocked in from the left. When the MSB of the data byte
is at the output position of the shift register, then the 1 that was initially loaded into the 9th position
is just left of the MSB, and all positions to the left of that contain zero. This condition flags the TX
control to do one last shift and then deactivate SEND and set TI0/Tl1. This occurs at the 10th divide-
by-16 rollover after "write-to-S0BUF/S1BUF".
Reception is initiated by a detected 1-to-0 transition at RxD0/RxD1. For this purpose RxD0/RxD1 is
sampled at a rate of 16 times whatever baud rate has been established. When a reception is
detected, the divide-by-16 counter is immediately reset, and 1 FF H is written into the input shift
register. Resetting the divide-by-16 counter aligns its rollover with the boundaries of the incoming
bit times.
The 16 states of the counter divide each bit time into 16 counter states. At the 7th, 8th and 9th
counter state of each bit time, the bit detector samples the value of RxD0/RxD1. The value accepted
is the value that was seen in at least 2 of the 3 samples. This is done for noise rejection. lf the value
accepted during the first bit time is not 0, the receive circuits are reset and the unit goes back looking
for another 1-to-0 transition. This is to provide rejection of false start bits. lf the start bit proves valid,
it is shifted into the input shift register, and reception of the rest of the frame will proceed.
As data bits come from the right, 1’s shift out to the left. When the start bit arrives at the leftmost
position in the shift register (which in mode 1/B is a 9-bit register), it flags the RX control block to do
one last shift. The signal to load S0BUF/S1BUF and RB80/RB81, and to set RI0/Rl1 will be
generated if, and only if, the following conditions are met at the time the final shift pulse is
generated:
1)
2)
Semiconductor Group
RI0/Rl1 = 0, and
either SM20/SM21 = 0 or the received stop bit = 1
67
On-Chip Peripheral Components

Related parts for SAB80C517-M16