M451
May. 4, 2018 Page 596 of 1006 Rev.2.08
M451 SERIES TECHNICAL REFERENCE MANUAL
0x2800_00FE
0x2B00_00BE
0x2F00_008E
0x2800_01FE
0x2B00_017E
0x2F00_011E
Table 6-25 UART Controller Baud Rate Register Setting Example Table
UART Controller Auto-Baud Rate Function Mode 6.13.5.2
Auto-Baud Rate function can measure baud rate of receiving data from UART RX pin automatically.
When the Auto-Baud Rate measurement is finished, the measuring baud rate is loaded to BRD
(UART_BAUD[15:0]). Both of the BAUDM1 (UART_BAUD[29]) and BAUDM0 (UART_BAUD[28]) are
set to 1 automatically. UART RX data from Start bit to 1
st
rising edge time is set by 2
ABRDBITS
bit time in
Auto-Baud Rate function detection frame.
2
ABRDBITS
bit time from Start bit to the 1
st
rising edge is calculated by setting ABRDBITS
(UART_ALTCTL[20:19]) . Setting ABRDEN (UART_ALTCTL[18]) is to enable auto-baud rate function.
In beginning stage, the UART RX is kept at 1. Once falling edge is detected, START bit is received.
The auto-baud rate counter is reset and starts counting. The auto-baud rate counter will be stop when
the 1
st
rising edge is detected. Then, auto-baud rate counter value divided by ABRDBITS
(UART_ALTCTL[20:19]) is loaded to BRD(UART_BAUD[15:0]) automatically. ABRDEN
(UART_ALTCTL[18]) is cleared. Once the auto-baud rate measurement is finished, the ABRDIF
(UART_FIFOSTS[1]) is set. When auto-baud rate counter is overflow, ABRTOIF (UART_FIFOSTS[2])
is set. If the ABRIEN (UART_INTEN[18]) is enabled, ABRDIF(UART_FIFOSTS[1]) or ABRDTOIF
(UART_FIFOSTS[2]) cause the auto-baud rate interrupt ABRIF(UART_ALTCTL[17]) is generated.
start bit 1 bit 2bit 0 bit 3 bit 4 bit 5 bit 6
UART_RX
0
1
2 3
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ...
bit 7 parity stop
Auto Baud
Rate Counter
m
m÷ 2
n
keep old BRD
n = 00
n = 01
n = 10
n = 11
ABRDIF
(UART_FIFOSTS[1])
BRD
(UART_BAUD[15:0])
ABRDEN
(UART_ALTCTL[18])
n = ABRDBITS (UART_ALTCTL[20:19])
Figure 6.13-3 Auto-Baud Rate Measurement