English
Language : 

PIC17C7XX_13 Datasheet, PDF (120/306 Pages) Microchip Technology – High-Performance 8-bit CMOS EPROM Microcontrollers with 10-bit A/D
PIC17C7XX
14.1 USART Baud Rate Generator
(BRG)
The BRG supports both the Asynchronous and Syn-
chronous modes of the USART. It is a dedicated 8-bit
baud rate generator. The SPBRG register controls the
period of a free running 8-bit timer. Table 14-2 shows
the formula for computation of the baud rate for differ-
ent USART modes. These only apply when the USART
is in Synchronous Master mode (internal clock) and
Asynchronous mode.
Given the desired baud rate and Fosc, the nearest inte-
ger value between 0 and 255 can be calculated using
the formula below. The error in baud rate can then be
determined.
TABLE 14-2: BAUD RATE FORMULA
SYNC
Mode
Baud Rate
0 Asynchronous
1
Synchronous
FOSC/(64(X+1))
FOSC/(4(X+1))
X = value in SPBRG (0 to 255)
Example 14-1 shows the calculation of the baud rate
error for the following conditions:
FOSC = 16 MHz
Desired Baud Rate = 9600
SYNC = 0
EXAMPLE 14-1: CALCULATING BAUD
RATE ERROR
Desired Baud Rate = FOSC / (64 (X + 1))
9600 = 16000000 /(64 (X + 1))
X = 25.042  25
Calculated Baud Rate = 16000000 / (64 (25 + 1))
= 9615
Error = (Calculated Baud Rate - Desired Baud Rate)
Desired Baud Rate
= (9615 - 9600) / 9600
= 0.16%
Writing a new value to the SPBRG, causes the BRG
timer to be reset (or cleared). This ensures that the
BRG does not wait for a timer overflow before output-
ting the new baud rate.
Effects of Reset
After any device RESET, the SPBRG register is
cleared. The SPBRG register will need to be loaded
with the desired value after each RESET.
TABLE 14-3: REGISTERS ASSOCIATED WITH BAUD RATE GENERATOR
Address
Name
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2
Bit 1
Bit 0
Value on
POR,
BOR
13h, Bank 0 RCSTA1
SPEN RX9 SREN CREN —
FERR OERR RX9D 0000 -00x
15h, Bank 0 TXSTA1
CSRC TX9 TXEN SYNC —
—
TRMT TX9D 0000 --1x
17h, Bank 0 SPBRG1 Baud Rate Generator Register
0000 0000
13h, Bank 4 RCSTA2
SPEN RX9 SREN CREN —
FERR OERR RX9D 0000 -00x
15h, Bank 4 TXSTA2
CSRC TX9 TXEN SYNC —
—
TRMT TX9D 0000 --1x
17h, Bank 4 SPBRG2 Baud Rate Generator Register
0000 0000
Legend: x = unknown, u = unchanged, - = unimplemented, read as '0'. Shaded cells are not used by the Baud Rate Generator.
MCLR, WDT
0000 -00u
0000 --1u
0000 0000
0000 -00u
0000 --1u
0000 0000
DS30289C-page 120
 1998-2013 Microchip Technology Inc.