|
PIC24FJ128GA Datasheet, PDF (134/232 Pages) Microchip Technology – General Purpose, 16-Bit Flash Microcontrollers | |||
|
◁ |
PIC24FJ128GA FAMILY
16.1 UART Baud Rate Generator (BRG)
The UART module includes a dedicated 16-bit Baud
Rate Generator. The BRGx register controls the period
of a free-running 16-bit timer. Equation 16-1 shows the
formula for computation of the baud rate with
BRGH = 0.
EQUATION 16-1: UART BAUD RATE WITH
BRGH = 0(1,2)
Baud Rate =
FCY
16 ⢠(BRGx + 1)
BRGx =
FCY
â1
16 ⢠Baud Rate
Note 1: FCY denotes the instruction cycle clock
frequency (FOSC/2).
2: Based on TCY = FOSC/2, Doze mode
and PLL are disabled.
Example 16-1 shows the calculation of the baud rate
error for the following conditions:
⢠FCY = 4 MHz
⢠Desired Baud Rate = 9600
The maximum baud rate (BRGH = 0) possible is
FCY/16 (for BRGx = 0), and the minimum baud rate
possible is FCY/(16 * 65536).
Equation 16-2 shows the formula for computation of
the baud rate with BRGH = 1.
EQUATION 16-2: UART BAUD RATE WITH
BRGH = 1(1,2)
Baud Rate =
FCY
4 ⢠(BRGx + 1)
BRGx =
FCY
â1
4 ⢠Baud Rate
Note 1: FCY denotes the instruction cycle clock
frequency.
2: Based on TCY = FOSC/2, Doze mode
and PLL are disabled.
The maximum baud rate (BRGH = 1) possible is FCY/4
(for BRGx = 0) and the minimum baud rate possible is
FCY/(4 * 65536).
Writing a new value to the BRGx register causes the
BRG timer to be reset (cleared). This ensures the BRG
does not wait for a timer overflow before generating the
new baud rate.
EXAMPLE 16-1: BAUD RATE ERROR CALCULATION (BRGH = 0)(1)
Desired Baud Rate = FCY/(16 (BRGx + 1))
Solving for BRGx value:
BRGx
BRGx
BRGx
= ((FCY/Desired Baud Rate)/16) â 1
= ((4000000/9600)/16) â 1
= 25
Calculated Baud Rate = 4000000/(16 (25 + 1))
= 9615
Error
= (Calculated Baud Rate â Desired Baud Rate)
Desired Baud Rate
= (9615 â 9600)/9600
= 0.16%
Note 1: Based on TCY = FOSC/2, Doze mode and PLL are disabled.
DS39747C-page 132
Preliminary
© 2006 Microchip Technology Inc.
|
▷ |