English
Language : 

PIC17C7XX_13 Datasheet, PDF (125/306 Pages) Microchip Technology – High-Performance 8-bit CMOS EPROM Microcontrollers with 10-bit A/D
PIC17C7XX
14.2.2 USART ASYNCHRONOUS
RECEIVER
The receiver block diagram is shown in Figure 14-2.
The data comes in the RX/DT pin and drives the data
recovery block. The data recovery block is actually a
high speed shifter operating at 16 times the baud rate,
whereas the main receive serial shifter operates at the
bit rate or at FOSC.
Once Asynchronous mode is selected, reception is
enabled by setting bit CREN (RCSTA<4>).
The heart of the receiver is the receive (serial) shift reg-
ister (RSR). After sampling the STOP bit, the received
data in the RSR is transferred to the RCREG (if it is
empty). If the transfer is complete, the interrupt bit,
RCIF, is set. The actual interrupt can be enabled/
disabled by setting/clearing the RCIE bit. RCIF is a
read only bit which is cleared by the hardware. It is
cleared when RCREG has been read and is empty.
RCREG is a double buffered register (i.e., it is a two-
deep FIFO). It is possible for two bytes of data to be
received and transferred to the RCREG FIFO and a
third byte begin shifting to the RSR. On detection of the
STOP bit of the third byte, if the RCREG is still full, then
the overrun error bit, OERR (RCSTA<1>) will be set.
The word in the RSR will be lost. RCREG can be read
twice to retrieve the two bytes in the FIFO. The OERR
bit has to be cleared in software which is done by reset-
ting the receive logic (CREN is set). If the OERR bit is
set, transfers from the RSR to RCREG are inhibited, so
it is essential to clear the OERR bit if it is set. The fram-
ing error bit FERR (RCSTA<2>) is set if a STOP bit is
not detected.
Note:
The FERR and the 9th receive bit are buff-
ered the same way as the receive data.
Reading the RCREG register will allow the
RX9D and FERR bits to be loaded with val-
ues for the next received data. Therefore,
it is essential for the user to read the
RCSTA register before reading RCREG, in
order not to lose the old FERR and RX9D
information.
14.2.3 SAMPLING
The data on the RX/DT pin is sampled three times by a
majority detect circuit to determine if a high or a low
level is present at the RX/DT pin. The sampling is done
on the seventh, eighth and ninth falling edges of a x16
clock (Figure 14-5).
The x16 clock is a free running clock and the three
sample points occur at a frequency of every 16 falling
edges.
FIGURE 14-5:
RX
(RX/DT pin)
Baud CLK
x16 CLK
RX PIN SAMPLING SCHEME
START bit
Bit0
Baud CLK for all but START bit
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 2 3
Samples
FIGURE 14-6:
START BIT DETECT
RX
(RX/DT pin)
x16 CLK
Q2, Q4 CLK
START bit
First rising edge of x16 clock after RX pin goes low
RX sampled low
 1998-2013 Microchip Technology Inc.
DS30289C-page 125