English
Language : 

ATTINY87 Datasheet, PDF (169/282 Pages) ATMEL Corporation – 8-bit Microcontroller with 8K/16K Bytes In-System Programmable Flash and LIN Controller
ATtiny87/ATtiny167
15.4.6.4
Handling Data of LIN response
A FIFO data buffer is used for data of the LIN response. After setting all parameters in the LIN-
SEL register, repeated accesses to the LINDAT register perform data read or data write (c.f.
“Data Management” on page 179).
Note that LRXDL[3..0] and LTXDL[3..0] are not linked to the data access.
15.4.7
UART Commands
Setting the LCMD[2] bit in LINENR register enables UART commands.
Tx Byte and Rx Byte services are independent as shown in Table 15-1 on page 167.
• Byte Transfer: the UART is selected but both Rx and Tx services are disabled,
• Rx Byte: only the Rx service is enable but Tx service is disabled,
• Tx Byte: only the Tx service is enable but Rx service is disabled,
• Full Duplex: the UART is selected and both Rx and Tx services are enabled.
This combination of services is controlled by the LCMD[1..0] bits of LINENR register (c.f. Fig-
ure 15-5 on page 166).
15.4.7.1
Data Handling
The FIFO used for LIN communication is disabled during UART accesses. LRXDL[3..0] and
LTXDL[3..0] values of LINDLR register are then irrelevant. LINDAT register is then used as
data register and LINSEL register is not relevant.
15.4.7.2
Rx Service
Once this service is enabled, the user is warned of an in-coming character by the LRXOK flag
of LINSIR register. Reading LINDAT register automatically clears the flag and makes free the
second stage of the buffer. If the user considers that the in-coming character is irrelevant with-
out reading it, he directly can clear the flag (see specific flag management described in
Section 15.6.2 on page 182).
The intrinsic structure of the Rx service offers a 2-byte buffer. The fist one is used for serial to
parallel conversion, the second one receives the result of the conversion. This second buffer
byte is reached reading LINDAT register. If the 2-byte buffer is full, a new in-coming character
will overwrite the second one already recorded. An OVRERR error in LINERR register will
then accompany this character when read.
A FERR error in LINERR register will be set in case of framing error.
15.4.7.3
Tx Service
If this service is enabled, the user sends a character by writing in LINDAT register. Automati-
cally the LTXOK flag of LINSIR register is cleared. It will rise at the end of the serial
transmission. If no new character has to be sent, LTXOK flag can be cleared separately (see
specific flag management described in Section 15.6.2 on page 182).
There is no transmit buffering.
No error is detected by this service.
7728D–AVR–07/09
169