Microchip Technology IC MCU 8BIT PIC18F65K22-I/PT TQFP-64 MCP PIC18F65K22-I/PT Data Sheet

Product codes
PIC18F65K22-I/PT
Page of 550
 2009-2011 Microchip Technology Inc.
DS39960D-page 331
PIC18F87K22 FAMILY
22.1
 Baud Rate Generator (BRG)
The BRG is a dedicated, 8-bit or 16-bit generator that
supports both the Asynchronous and Synchronous
modes of the EUSART. By default, the BRG operates
in 8-bit mode; setting the BRG16 bit (BAUDCONx<3>)
selects 16-bit mode.
The SPBRGHx:SPBRGx register pair controls the period
of a free-running timer. In Asynchronous mode, bits,
BRGH (TXSTAx<2>) and BRG16 (BAUDCONx<3>),
also control the baud rate. In Synchronous mode, BRGH
is ignored. 
 shows the formula for computation
of the baud rate for different EUSART modes which only
apply in Master mode (internally generated clock).
Given the desired baud rate and F
OSC
, the nearest
integer value for the SPBRGHx:SPBRGx registers can
be calculated using the formulas in 
. From this,
the error in baud rate can be determined. An example
calculation is shown in 
. Typical baud rates
and error values for the various Asynchronous modes
are shown in 
. It may be advantageous to use
the high baud rate (BRGH = 1) or the 16-bit BRG to
reduce the baud rate error, or achieve a slow baud rate
for a fast oscillator frequency.
Writing a new value to the SPBRGHx:SPBRGx
registers causes the BRG timer to be reset (or cleared).
This ensures the BRG does not wait for a timer over-
flow before outputting the new baud rate. When
operated in the Synchronous mode, SPBRGH:SPBRG
values of 0000h and 0001h are not supported. In the
Asynchronous mode, all BRG values may be used.
22.1.1
OPERATION IN POWER-MANAGED 
MODES
The device clock is used to generate the desired baud
rate. When one of the power-managed modes is
entered, the new clock source may be operating at a
different frequency. This may require an adjustment to
the value in the SPBRGx register pair.
22.1.2
SAMPLING
The data on the RXx pin (either RC7/RX1/DT1 or
RG2/RX2/DT2/AN18/C3INA) is sampled three times
by a majority detect circuit to determine if a high or a
low level is present at the RXx pin.
TABLE 22-1:
BAUD RATE FORMULAS
Configuration Bits
BRG/EUSART Mode
Baud Rate Formula
SYNC
BRG16
BRGH
0
0
0
8-bit/Asynchronous
F
OSC
/[64 (n + 1)]
0
0
1
8-bit/Asynchronous
F
OSC
/[16 (n + 1)]
0
1
0
16-bit/Asynchronous
0
1
1
16-bit/Asynchronous
F
OSC
/[4 (n + 1)]
1
0
x
8-bit/Synchronous
1
1
x
16-bit/Synchronous
Legend: x
 = Don’t care, n = value of SPBRGHx:SPBRGx register pair