28.4.2.1 Clock Generation – Baud Rate Generator

The baud rate generator, as shown in Figure 28-3, generates internal clocks for both asynchronous and synchronous communication. The output frequency (fBAUD) is determined by the configuration of the Baud register (BAUD) and the baud reference frequency (fref). The baud reference clock is the serial engine clock, which can be either internal or external.

For asynchronous communication, the /16 (divide-by-16) output is used when transmitting, whereas the /1 (divide-by-1) output is used while receiving.

For synchronous communication, the /2 (divide-by-2) output is used.

This functionality is automatically configured, depending on the selected operating mode.

Figure 28-3. Baud Rate Generator

Table 28-1 contains equations for the baud rate (in bits per second) and the BAUD register value for each operating mode.

For asynchronous operation, there are two modes. In arithmetic mode, the BAUD register value is 16 bits (0 to 65,535). In fractional mode, the BAUD bit field is 13 bits, while the Fractional Part (BAUD.FP) bit field is 3 bits. The fractional part provides fine tuning of the baud rate. In the fractional mode, the BAUD register value must be 0x0001 or higher.

For synchronous operation, the BAUD register value is 8 bits (0 to 255).

Table 28-1. Baud Rate Equations
Operating ModeConditionBaud Rate (Bits Per Second)BAUD Register Value Calculation
Asynchronous ArithmeticfBAUDfref16fBAUD=fref16(1BAUD65536)BAUD=65536(116fBAUDfref)
Asynchronous FractionalfBAUDfrefSfBAUD=frefS(BAUD+FP8)BAUD=frefSfBAUDFP8
SynchronousfBAUDfref2fBAUD=fref2(BAUD+1)BAUD=fref2fBAUD1

S - Number of samples per bit, which can be 16, 8, or 3.

The Asynchronous Fractional option is used for auto-baud detection.

The baud rate error is represented by the following formula:

Error=1(ExpectedBaudRateActualBaudRate)