11 break-in-data, 12 checksum – Rainbow Electronics ATmega64M1 User Manual
Page 215
215
8209A–AVR–08/09
ATmega16M1/32M1/64M1
Figure 21-12. LIN timing and frame time-out
21.5.11
Break-in-data
According to the LIN protocol, the LIN/UART controller can detect the BREAK/SYNC field
sequence even if the break is partially superimposed with a byte of the response. When a
BREAK/SYNC field sequence happens, the transfer in progress is aborted and the processing of
the new frame starts.
• On slave node(s), an error is generated (i.e. LBERR in case of Tx Response or LFERR in
case of Rx Response). Information on data error is also available, refer to the
.
• On master node, the user (code) is responsible for this aborting of frame. To do this, the
master task has first to abort the on-going communication (clearing LCMD bits - LIN Abort
command) and then to apply the Tx Header command. In this case, the abort error flag -
LABORT - is set.
On the slave node, the BREAK detection is processed with the synchronization setting available
when the LIN/UART controller processed the (aborted) response. But the re-synchronization
restarts as usual. Due to a possible difference of timing reference between the BREAK field and
the rest of the frame, the time-out values can be slightly inaccurate.
21.5.12
Checksum
The last field of a frame is the checksum.
In LIN 2.1, the checksum contains the inverted eight bit sum with carry over all data bytes and
the protected identifier. This calculation is called enhanced checksum.
In LIN 1.3, the checksum contains the inverted eight bit sum with carry over all data bytes. This
calculation is called classic checksum.
Frame identifiers 60 (0x3C) to 61 (0x3D) shall always use classic checksum
BREAK
Field
SYNC
Field
CHECKSUM
Field
DATA-0
Field
Field
IDENTIFIER
PROTECTED
DATA-n
Field
T
Response
T
Header
T
Frame
T
Header_Maximum
T
Header_Maximum +
T
Response_Maximum
1.4 x
T
Header_Nominal
1.4 x
T
Response_Nominal
T
Response_Maximum
T
Frame_Maximum
=
=
=
Maximun
before Time-out
T
Header_Nominal
T
Header_Nominal +
T
Response_Nominal
34 x
T
Bit
10 ( Number_of_Data + 1 ) x
T
Bit
T
Response_Nominal
T
Frame_Nominal
=
=
=
Nominal
CHECKSUM
255
unsigned char
DATA
n
0
n
∑
⎝
⎠
⎜
⎟
⎜
⎟
⎛
⎞
PROTECTED ID.
+
⎝
⎠
⎜
⎟
⎜
⎟
⎛
⎞
unsigned char
DATA
n
0
n
∑
⎝
⎠
⎜
⎟
⎜
⎟
⎛
⎞
PROTECTED ID.
+
⎝
⎠
⎜
⎟
⎜
⎟
⎛
⎞
8
»
⎝
⎠
⎜
⎟
⎜
⎟
⎛
⎞
+
⎝
⎠
⎜
⎟
⎜
⎟
⎛
⎞
–
=
CHECKSUM
255
unsigned char
DATA
n
0
n
∑
⎝
⎠
⎜
⎟
⎜
⎟
⎛
⎞
unsigned char
DATA
n
0
n
∑
⎝
⎠
⎜
⎟
⎜
⎟
⎛
⎞
8
»
⎝
⎠
⎜
⎟
⎜
⎟
⎛
⎞
+
⎝
⎠
⎜
⎟
⎜
⎟
⎛
⎞
–
=