17.4.5 Enable / Disable
Setting the LENA bit in LINCR register enables the LIN/UART controller. To disable the LIN/UART controller, LENA bit must
be written to 0. No wait states are implemented, so, the disable command is taken into account immediately.
17.4.6 LIN Commands
Clearing the LCMD[2] bit in LINCR register enables LIN commands.
As shown in Table 17-1 on page 178, four functions controlled by the LCMD[1..0] bits of LINCR register are available (c.f.
Figure 17-5 on page 178).
17.4.6.1 Rx Header / LIN Abort Function
This function (or state) is mainly the withdrawal mode of the controller.
When the controller has to execute a master task, this state is the start point before enabling a Tx header command.
When the controller has only to execute slave tasks, LIN header detection/acquisition is enabled as background function. At
the end of such an acquisition (Rx header function), automatically the appropriate flags are set, and in LIN 1.3, the LINDLR
register is set with the uncoded length value.
This state is also the start point before enabling the Tx or the Rx response command.
A running function (i.e. Tx header, Tx or Rx response) can be aborted by clearing LCMD[1..0] bits in LINCR register. In this
case, an abort flag - LABORT - in LINERR register will be set to inform the other software tasks. No wait states are
implemented, so, the abort command is taken into account immediately.
Rx Header function is responsible for:
●
●
●
The BREAK field detection,
The hardware re-synchronization analyzing the SYNCH field,
The reception of the PROTECTED IDENTIFIER field, the parity control and the update of the LINDLR register in case
of LIN 1.3,
●
●
The starting of the Frame_Time_Out,
The checking of the LIN communication integrity.
17.4.6.2 Tx Header Function
In accordance with the LIN protocol, only the master task must enable this function. The header is sent in the appropriate
timed slots at the programmed baud rate (c.f. LINBRR and LINBTR registers).
The controller is responsible for:
●
●
●
The transmission of the BREAK field - 13 dominant bits,
The transmission of the SYNCH field - character 0x55,
The transmission of the PROTECTED IDENTIFIER field. It is the full content of the LINIDR register (automatic check
bits included).
At the end of this transmission, the controller automatically returns to Rx Header / LIN Abort state (i.e. LCMD[1..0] = 00) after
setting the appropriate flags. This function leaves the controller in the same setting as after the Rx Header function. This
means that, in LIN 1.3, the LINDLR register is set with the uncoded length value at the end of the Tx Header function.
During this function, the controller is also responsible for:
●
●
The starting of the Frame_Time_Out,
The checking of the LIN communication integrity.
ATmega16/32/64/M1/C1 [DATASHEET]
179
7647O–AVR–01/15