Datasheet
278
7728G–AVR–06/10
ATtiny87/ATtiny167
29. Errata
29.1 Errata Summary
29.1.1 ATtiny87/167 RevC
• Gain control of the crystal oscillator.
• ‘Disable Clock Source’ command remains enabled.
29.1.2 ATtiny87/167 RevB (Date code >1208)
• Gain control of the crystal oscillator.
•‘Disable Clock Source’ command remains enabled.
• LIN Break Delimiter.
29.1.3 ATtiny167 RevA (Date code >1207)
• CRC calculation of diagnostic frames in LIN 2.x.
• Gain control of the crystal oscillator.
•‘Disable Clock Source’ command remains enabled.
• Comparison between ADC inputs and voltage references.
• Register bits of DIDR1.
• LIN Break Delimiter.
29.2 Errata Description
1. CRC calculation of diagnostic frames in LIN 2.x.
Diagnostic frames of LIN 2.x use “classic checksum” calculation. Unfortunately, the setting
of the checksum model is enabled when the HEADER is transmitted/received. Usually, in
LIN 2.x the LIN/UART controller is initialized to process “enhanced checksums” and a
slave task does not know what kind of frame it will work on before checking the ID.
Problem fix / workaround.
This workaround is to be implemented only in case of transmission/reception of diagnostic
frames.
a. Slave task of master node:
Before enabling the HEADER, the master must set the appropriate LIN13 bit value in
LINCR register.
b. For slaves nodes, the workaround is in 2 parts:
– Before enabling the RESPONSE, use the following function:
void lin_wa_head(void) {
unsigned char temp;
temp = LINBTR;
LINCR = 0x00; // It is not a RESET !
LINBTR = (1<<LDISR)|temp;
LINCR = (1<<LIN13)|(1<<LENA)|(0<<LCMD2)|(0<<LCMD1)|(0<<LCMD0);
LINDLR = 0x88; // If it isn't already done
}