12.4.5 Baud Rate Registers (DLR, DMR, and DFR)
Bit Number | Name | R/W | Reset Value | Description |
---|---|---|---|---|
[7:0] | DLR | R/W | 0x01 | This divisor latch LSB register (Table 12-8) holds the LSB of the integer divisor value used to calculate the baud rate. The baud rate can be calculated using EQ 1, 2, 3, or 4. |
Bit Number | Name | R/W | Reset Value | Description |
---|---|---|---|---|
[7:0] | DMR | R/W | 0x00 | This divisor latch MSB register (Table 12-9) holds the MSB of the integer divisor value used to calculate the baud rate. The baud rate can be calculated using EQ 1, 2, 3, or 4. |
Bit Number | Name | R/W | Reset Value | Description |
---|---|---|---|---|
[5:0] | DFR | R/W | 0x00 | The fractional divisor register (Table 12-10) is used to store the fractional divisor used to calculate the fractional baud rate value in 1/64th. 0x0: 0/64 0x1: 1/64 …. 0x3F: 63/64 |
As explained earlier, the divisor value has an integer part and a fractional part. Calculate the 6-bit number (k) which is the fractional divisor in Table 12-10 register by taking the fractional part of the required baud rate divisor and multiplying it by 64 (that is, 2n, where n is the fractional part which is 6) and adding 0.5 to account for rounding errors:
k = integer (fractional part of divisor value × 2n + 0.5)
For example, to generate the baud rate of 134.5 the reference clock is 18.432 MHz.
FAPBCLK = 18.432 MHz, Fractional BR = 134.5, Hence, calculate the divisor value = (18.432 × 106) / (16 × 134.5) = 8,565.05
The integer part of divisor = 8565 and fractional part of divisor = 0.05
Therefore, the fractional part, k = integer ((0.05 × 64) + 0.5) = 3.7 ~ = 4
The following table contains the list of baud rates and corresponding values of DFR and DMR+DLR registers.
Baud Rate | Divisor | DLR + DMR Integer Divisor | DFR Fractional Divisor in 64th | Percent Error |
---|---|---|---|---|
50 | 23,040 | 23,040 | 0 | 0.00000% |
75 | 15,360 | 15,360 | 0 | 0.00000% |
110 | 10,472.72 | 10,472 | 47 | 0.00007% |
134.5 | 8,565.05 | 8,565 | 4 | 0.00008% |
150 | 7,680 | 7,680 | 0 | 0.00000% |
2,000 | 576 | 576 | 0 | 0.00000% |
38,400 | 30 | 30 | 0 | 0.00000% |
56,000 | 21.57 | 21 | 37 | 0.03255% |