English
Language : 

PIC18F2331_07 Datasheet, PDF (230/400 Pages) Microchip Technology – 28/40/44-Pin Enhanced Flash Microcontrollers with nanoWatt Technology, High Performance PWM and A/D
PIC18F2331/2431/4331/4431
EXAMPLE 19-1: CALCULATING BAUD RATE ERROR
For a device with FOSC of 16 MHz, desired baud rate of 9600, Asynchronous mode, 8-bit BRG:
Desired Baud Rate = FOSC/(64 ([SPBRGH:SPBRG] + 1))
Solving for SPBRGH:SPBRG:
X = ((FOSC/Desired Baud Rate)/64) – 1
= ((16000000/9600)/64) – 1
= [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%
TABLE 19-2: REGISTERS ASSOCIATED WITH BAUD RATE GENERATOR
Name
Bit 7 Bit 6 Bit 5 Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Value on
POR, BOR
TXSTA
CSRC TX9 TXEN SYNC SENDB BRGH TRMT TX9D 0000 0010
RCSTA
SPEN RX9 SREN CREN ADDEN FERR OERR RX9D 0000 000x
BAUDCTL — RCIDL — SCKP BRG16 —
WUE ABDEN -1-1 0-00
SPBRGH EUSART Baud Rate Generator Register High Byte
0000 0000
SPBRG EUSART Baud Rate Generator Register Low Byte
0000 0000
Legend: x = unknown, - = unimplemented, read as ‘0’. Shaded cells are not used by the BRG.
Value on all
other Resets
0000 0010
0000 000x
-1-1 0-00
0000 0000
0000 0000
TABLE 19-3: BAUD RATES FOR ASYNCHRONOUS MODES
BAUD
RATE
(K)
FOSC = 40.000 MHz
Actual
Rate
(K)
%
Error
SPBRG
value
(decimal)
SYNC = 0, BRGH = 0, BRG16 = 0
FOSC = 20.000 MHz
FOSC = 10.000 MHz
Actual
Rate
(K)
%
Error
SPBRG Actual
value Rate
(decimal) (K)
%
Error
SPBRG
value
(decimal)
FOSC = 8.000 MHz
Actual
Rate
(K)
%
Error
SPBRG
value
(decimal)
0.3
—
—
—
—
—
—
—
—
—
—
—
—
1.2
—
—
—
1.221 1.73
255 1.202 0.16
129
1.201 -0.16
103
2.4
2.441 1.73
255 2.404 0.16
129 2.404 0.16
64
2.403 -0.16
51
9.6
9.615 0.16
64
9.766 1.73
31
9.766 1.73
15
9.615 -0.16
12
19.2 19.531 1.73
31 19.531 1.73
15 19.531 1.73
7
—
—
—
57.6 56.818 -1.36
10 62.500 8.51
4
52.083 -9.58
2
—
—
—
115.2 125.000 8.51
4 104.167 -9.58
2
78.125 -32.18
1
—
—
—
BAUD
RATE
(K)
0.3
1.2
2.4
9.6
19.2
57.6
115.2
SYNC = 0, BRGH = 0, BRG16 = 0
FOSC = 4.000 MHz
FOSC = 2.000 MHz
FOSC = 1.000 MHz
Actual
Rate
(K)
%
Error
SPBRG Actual
value Rate
(decimal) (K)
%
Error
SPBRG Actual
value Rate
(decimal) (K)
%
Error
SPBRG
value
(decimal)
0.300 0.16
207
0.300 -0.16
103
0.300 -0.16
51
1.202 0.16
51
1.201 -0.16
25
1.201 -0.16
12
2.404 0.16
25
2.403 -0.16
12
—
—
—
8.929 -6.99
6
—
—
—
—
—
—
20.833 8.51
2
—
—
—
—
—
—
62.500 8.51
0
—
—
—
—
—
—
62.500 -45.75
0
—
—
—
—
—
—
DS39616C-page 228
Preliminary
© 2007 Microchip Technology Inc.