192
ATmega16M1/32M1/64M1 [DATASHEET]
8209E–AVR–11/2012
20.3.4
Schedule table
The master task (in the master node) transmits frame headers based on a schedule table. The schedule table
specifies the identifiers for each header and the interval between the start of a frame and the start of the following
frame. The master application may use different schedule tables and select among them.
20.3.5
Compatibility with LIN 1.3
LIN 2.1 is a super-set of LIN 1.3.
A LIN 2.1 master node can handle clusters consisting of both LIN 1.3 slaves and/or LIN 2.1 slaves. The master will
then avoid requesting the new LIN 2.1 features from a LIN 1.3 slave:
Enhanced checksum
Re-configuration and diagnostics
Automatic baud rate detection
“Response error” status monitoring
LIN 2.1 slave nodes can not operate with a LIN 1.3 master node (for example the LIN1.3 master does not support
the enhanced checksum).
The LIN 2.1 physical layer is backwards compatible with the LIN1.3 physical layer. But not the other way around.
The LIN 2.1 physical layer sets greater requirements, that is, a master node using the LIN 2.1 physical layer can
operate in a LIN 1.3 cluster.
20.4
LIN / UART controller
The LIN/UART controller is divided in three main functions:
Tx LIN Header function
Rx LIN Header function
LIN Response function
These functions mainly use two services:
Rx service
Tx service
Because these two services are basically UART services, the controller is also able to switch into an UART
function.
20.4.1
LIN overview
The LIN/UART controller is designed to match as closely as possible to the LIN software application structure. The
LIN software application is developed as independent tasks, several slave tasks and one master task (c.f.
Section20.3.4 on page 192). The Atmel ATmega16M1/32M1/64M1 conforms to this perspective. The only link between the
master task and the slave task will be at the cross-over point where the interrupt routine is called once a new iden-
tifier is available. Thus, in a master node, housing both master and slave task, the Tx LIN Header function will alert
the slave task of an identifier presence. In the same way, in a slave node, the Rx LIN Header function will alert the
slave task of an identifier presence.
When the slave task is warned of an identifier presence, it has first to analyze it to know what to do with the
response. Hardware flags identify the presence of one of the specific identifiers from 60 (0x3C) up to 63 (0x3F).
For LIN communication, only four interrupts need to be managed:
LIDOK: New LIN identifier available
LRXOK: LIN response received
LTXOK: LIN response transmitted