ZHCSKJ6 December 2019 TL16C750E
PRODUCTION DATA.
As per Table 29, the desired baud rate is 9600 with an input clock of 24 MHz. The math required to calculate the register values is outlined in Programmable Baud Rate Generator with Fractional Divisor and Fractional Divisor. Since the device by default uses a 16x over sample setting, the math is 24E9 / (16 * 9600) = 156.25. This shows that the fractional baud rate feature is required to achieve 9600 baud. Since the fractional baud rate gives x/64 resolution, 0.25 * 64 = 16. The below values are the divisor values to be used in the registers.
Register | Description | Value |
---|---|---|
DLH | MSB of the divisor | 0x00 |
DLL | LSB of the divisor | 0x9C |
DLF | Fractional (1/64) divisor | 0x10 |
Since these registers have access considerations in order to write to them (see Table 13), a few extra writes are required to enable the writes to the desired registers.
Step | Description | Register & Access Type | Value |
---|---|---|---|
1 | Enable access to EFR (enhanced function) register | LCR (0b011) [W] | 0xBF |
2 | Enable the enhanced functionality (fractional baud rate) | EFR (0b010) [W] | 0x10 |
3 | Enable extra feature registers and 8 bits/no parity/1 stop bit | LCR (0b011) [W] | 0x93 |
4 | Write the MSB of the divisor | DLH (0b001) [W] | 0x00 |
5 | Write to the LSB of the divisor | DLL (0b000) [W] | 0x9C |
6 | Write to the fractional divisor | DLF (0b111) [W] | 0x10 |
7 | Change LCR back to normal mode | LCR (0b011) [W] | 0x13 |