...the world's most energy friendly microcontrollers
2016-04-28 - Giant Gecko Family - d0053_Rev1.20
504
www.silabs.com
LEUART Optimal Sampling Point
S
opt
(n) = n (1 + LEUARTn_CLKDIV/256) + CLKDIV/512
(19.3)
where n is the bit-index.
Since samples are only done on the positive edges of the 32.768 kHz clock, the actual samples are
performed on the closest positive edge, i.e. the edge given by the following equation:
LEUART Actual Sampling Point
S(n) = floor(n x (1 + LEUARTn_CLKDIV/256) + LEUARTn_CLKDIV/512)
(19.4)
The sampling location will thus have jitter according to difference between S
opt
and S. The start-bit is
found at n=0, then follows the data bits, any parity bit, and the stop bits.
If the value of the start-bit is found to be high, then the start-bit is discarded, and the receiver waits for
a new start-bit.
19.3.5.4 Parity Error
When the parity bit is enabled, a parity check is automatically performed on incoming frames. When
a parity error is detected in a frame, the data parity error bit PERR in the frame is set, as well as the
interrupt flag PERR. Frames with parity errors are loaded into the receive buffer like regular frames.
PERR can be accessed by reading the frame from the receive buffer using the LEUARTn_RXDATAX
register.
19.3.5.5 Framing Error and Break Detection
A framing error is the result of a received frame where the stop bit was sampled to a value of 0. This
can be the result of noise and baud rate errors, but can also be the result of a break generated by the
transmitter on purpose.
When a framing error is detected, the framing error bit FERR in the received frame is set. The interrupt
flag FERR in LEUARTn_IF is also set. Frames with framing errors are loaded into the receive buffer
like regular frames.
FERR can be accessed by reading the frame from the receive buffer using the LEUARTn_RXDATAX
or LEUARTn_RXDATAXP registers.
19.3.5.6 Programmable Start Frame
The LEUART can be configured to start receiving data when a special start frame is detected on the input.
This can be useful when operating in low energy modes, allowing other devices to gain the attention of
the LEUART by transmitting a given frame.
When SFUBRX in LEUARTn_CTRL is set, an incoming frame matching the frame defined in
LEUARTn_STARTFRAME will result in RXBLOCK in LEUARTn_STATUS being cleared. This can be
used to enable reception when a specified start frame is detected. If the receiver is enabled and blocked,
i.e. RXENS and RXBLOCK in LEUARTn_STATUS are set, the receiver will receive all incoming frames,
but unless an incoming frame is a start frame it will be discarded and not loaded into the receive buffer.
When a start frame is detected, the block is cleared, and frames received from that point, including the
start frame, are loaded into the receive buffer.
An incoming start frame results in the STARTF interrupt flag in LEUARTn_IF being set, regardless of
the value of SFUBRX in LEUARTn_CTRL. This allows an interrupt to be made when the start frame
is detected.
Summary of Contents for Giant Gecko EFM32GG
Page 842: ......