PIC16C745/P Microchip Technology, PIC16C745/P Datasheet - Page 81

no-image

PIC16C745/P

Manufacturer Part Number
PIC16C745/P
Description
8-Bit CMOS Microcontrollers with USB
Manufacturer
Microchip Technology
Datasheet
11.2.2
The receiver block diagram is shown in Figure 11-4.
The data is received on the RC7/RX/DT pin and drives
the data recovery block. The data recovery block is
actually a high speed shifter operating at x16 times the
baud rate, whereas the main receive serial shifter oper-
ates at the bit rate or at F
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 register (if
it is empty). If the transfer is complete, flag bit RCIF
(PIR1<5>) is set. The actual interrupt can be enabled/
disabled by setting/clearing enable bit RCIE (PIE1<5>).
Flag bit RCIF is a read only bit which is cleared by the
hardware. It is cleared when the RCREG register has
been read and is empty. The RCREG is a double buff-
ered register, i.e. it is a two deep FIFO. It is possible for
FIGURE 11-4: USART RECEIVE BLOCK DIAGRAM
FIGURE 11-5: ASYNCHRONOUS RECEPTION
1999 Microchip Technology Inc.
RX (pin)
Rcv shift
reg
Rcv buffer reg
Read Rcv
buffer reg
RCREG
RCIF
(interrupt flag)
OERR bit
CREN
Note: This timing diagram shows three words appearing on the RX input. The RCREG (receive buffer) is read after the third word,
USART ASYNCHRONOUS RECEIVER
RC7/RX/DT
causing the OERR (overrun) bit to be set.
Baud Rate Generator
Start
bit
INT
SPBRG
Pin Buffer
and Control
bit0
.
SPEN
bit1
Advanced Information
bit7/8
Data
Recovery
Interrupt
Stop
bit
CREN
WORD 1
RCREG
Start
bit
bit0
two bytes of data to be received and transferred to the
RCREG FIFO and a third byte to begin shifting to the
RSR register. On the detection of the STOP bit of the
third byte, if the RCREG register is still full, then overrun
error bit OERR (RCSTA<1>) will be set. The word in the
RSR will be lost. The RCREG register can be read
twice to retrieve the two bytes in the FIFO. Overrun bit
OERR has to be cleared in software. This is done by
resetting the receive logic (CREN is cleared and then
set). If bit OERR is set, transfers from the RSR register
to the RCREG register are inhibited, so it is essential to
clear error bit OERR if it is set. Framing error bit FERR
(RCSTA<2>) is set if a stop bit is detected as clear. Bit
FERR and the 9th receive bit are buffered the same
way as the receive data. Reading the RCREG, will load
bits RX9D and FERR with new values, therefore it is
essential for the user to read the RCSTA register before
reading RCREG register in order not to lose the old
FERR and RX9D information.
RCIF
RCIE
RX9
MSb
Stop
RX9D
(8)
bit7/8
WORD 2
RCREG
OERR
PIC16C745/765
7
Stop
RSR Register
bit
RCREG Register
8
Start
Data Bus
bit
1
FERR
0
Start
LSb
bit7/8
FIFO
DS41124A-page 81
Stop
bit

Related parts for PIC16C745/P