LIN Controller (LINFlex) RM0046
486/936 Doc ID 16912 Rev 5
21.2.3 Features common to LIN and UART
● Fractional baud rate generator
● 3 operating modes for power saving and configuration registers lock:
– Initialization
–Normal
–Sleep
● 2 test modes:
– Loop Back
–Self Test
● Maskable interrupts
21.3 General description
The increasing number of communication peripherals embedded on microcontrollers, for
example CAN, LIN and SPI, requires more and more CPU resources for communication
management. Even a 32-bit microcontroller is overloaded if its peripherals do not provide
high-level features to autonomously handle the communication.
Even though the LIN protocol with a maximum baud rate of 20 Kbit/s is relatively slow, it still
generates a non-negligible load on the CPU if the LIN is implemented on a standard UART,
as usually the case.
To minimize the CPU load in Master mode, LINFlex handles the LIN messages
autonomously.
In Master mode, once the software has triggered the header transmission, LINFlex does not
request any software intervention until the next header transmission request in transmission
mode or until the checksum reception in reception mode.
To minimize the CPU load in Slave mode, LINFlex requires software intervention only to:
● Trigger transmission or reception or data discard depending on the identifier
● Write data into the buffer (transmission mode) or read data from the buffer (reception
mode) after checksum reception
If filter mode is activated for Slave mode, LINFlex requires software intervention only to write
data into the buffer (transmission mode) or read data from the buffer (reception mode)
The software uses the control, status and configuration registers to:
● Configure LIN parameters (for example, baud rate or mode)
● Request transmissions
● Handle receptions
● Manage interrupts
● Configure LIN error and timeout detection
● Process diagnostic information
The message buffer stores transmitted or received LIN frames.