Datasheet
172
7728G–AVR–06/10
ATtiny87/ATtiny167
When the busy signal is set, some registers are locked, user writing is not allowed:
• “LIN Control Register” - LINCR - except LCMD[2..0], LENA & LSWRES,
• “LIN Baud Rate Registers” - LINBRRL & LINBRRH,
• “LIN Data Length Register” - LINDLR,
• “LIN Identifier Register” - LINIDR,
• “LIN Data Register” - LINDAT.
If the busy signal is set, the only available commands are:
• LCMD[1..0] = 00
b
, the abort command is taken into account at the end of the byte,
• LENA = 0 and/or LCMD[2] = 0, the kill command is taken into account immediately,
• LSWRES = 1, the reset command is taken into account immediately.
Note that, if another command is entered during busy signal, the new command is not vali-
dated and the LOVRERR bit flag of the LINERR register is set. The on-going transfer is not
interrupted.
15.5.5.2 Busy Signal in UART Mode
During the byte transmission, the busy signal is set. This locks some registers from being
written:
• “LIN Control Register” - LINCR - except LCMD[2..0], LENA & LSWRES,
• “LIN Data Register” - LINDAT.
The busy signal is not generated during a byte reception.
15.5.6 Bit Timing
15.5.6.1 Baud rate Generator
The baud rate is defined to be the transfer rate in bits per second (bps):
• BAUD: Baud rate (in bps),
•
fclk
i/o
: System I/O clock frequency,
• LDIV[11..0]: Contents of LINBRRH & LINBRRL registers - (0-4095), the pre-scaler
receives clk
i/o
as input clock.
• LBT[5..0]: Least significant bits of - LINBTR register- (0-63) is the number of samplings in a
LIN or UART bit (default value 32).
Equation for calculating baud rate:
BAUD = fclk
i/o
/ LBT[5..0] x (LDIV[11..0] + 1)
Equation for setting LINDIV value:
LDIV[11..0] = ( fclk
i/o
/ LBT[5..0] x BAUD ) - 1
Note that in reception a majority vote on three samplings is made.
15.5.6.2 Re-synchronization in LIN Mode
When waiting for Rx Header, LBT[5..0] = 32 in LINBTR register. The re-synchronization
begins when the BREAK is detected. If the BREAK size is not in the range (10.5 bits min., 28
bits max. — 13 bits nominal), the BREAK is refused. The re-synchronization is done by adjust-
ing LBT[5..0] value to the SYNCH field of the received header (0x55). Then the PROTECTED
IDENTIFIER is sampled using the new value of LBT[5..0].