ETC ATMEL

Introduction
This document contains the latest information about the AVR data book and the AVR
data sheets.
All references to the data book refers to the August 1999 version of the “AVR® RISC
MICROCONTROLLER DATA BOOK”.
All references to the AVR data sheets refer to the latest version of the AVR data
sheets on Atmel’s web page www.atmel.com.
The data sheets on Atmel’s web page are updated more frequently than the printed
data book. All known errors in each data sheet are corrected when a new version is
released.
This document contains known errors that have not been corrected yet. All designers
using AVR microcontrollers should use this document together with the data sheets. It
is updated frequently, and should contain a complete list of all known documentation
errors at any given time.
Please note that this document only covers errors in the AVR documentation. For
errors in the AVR microcontrollers, see the errata sheet for each device.
8-Bit
Microcontroller
Data
Book Updates
and Changes
If you find errors in the documentation that are not listed in this document, please
send an email to the AVR support line [email protected].
Overview of data sheets
Part Number
AT90S1200
AT90S2313
AT90S/LS2323 and AT90S/LS2343
AT90S/LS2333 and AT90S/LS4443
AT90S4414/8515
AT90S/LS4434 and AT90S/LS8535
AT90C8534
ATtiny10/11/12
ATtiny15
ATtiny22/22L
ATmega161/161L
ATmega603/603L and ATmega103/103L
AVR Instruction Set
ATtiny28
Data Sheet Revision
in the August 1999
AVR Data Book
0838E-04/99
0839E-04/99
1004B-04/99
1042D-04/99
0841E-04/99
1041E-04/99
1229A-04/99
1006A-04/99
1187A-06/99
1273A-04/99
1228A-05/99
0945D-06/99
0856B-06/99
N/A
Data Sheet Revision
on Atmel’s web site
www.atmel.com
0838E-04/99
0839E-04/99
1004B-04/99
1042D-04/99
0841E-04/99
1041E-04/99
1229A-04/99
1006B-10/99
1187B-11/99
1273A-04/99
1228A-08/99
0945E-12/99
0856B-06/99
1062B-10/99
Rev. 12/99A
1
AT90S1200
The latest data sheet on the web is rev. 0838E-04/99.
The data sheet in the printed data book is rev. 0838E-04/99.
Changes in the AT90S1200 Data Sheet:
Page: Change or Add:
2-3
In feature list under I/O and packages, replace “20-pin PDIP and SOIC” by “20-pin PDIP, SOIC and SSOP”.
2-20
Table 4: remove this note: “Note: When changing the ISC01/ISC00 bits, INT0 must be disabled by clearing its Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
2-25
In the note for Table 6, add “To avoid unintentional MCU resets, the Watchdog Timer should be disabled or reset
before changing the Watchdog Timer Prescale Select.”
In the EEPROM Read/Write Access description, change “When the EEPROM is read or written, the CPU is
halted for two clock cycles before the next instruction is executed.” to “When the EEPROM is written, the CPU is
halted for two clock cycles before the next instruction is executed. When the EEPROM is read, the CPU is halted
for four clock cycles before the next instruction is executed.”
2-26
In the Bit 0 - EERE: EEPROM Read Enable description, change “When EERE has been set, the CPU is halted for
two clock cycles before the next instruction is executed.” to “When EERE has been set, the CPU is halted for four
clock cycles before the next instruction is executed.”
2-27
In the Analog Comparator Control and Status Register description, change the initial value of ACO from “0” to
“N/A”.
2-29
in the Port B Input Pins Address - PINB description, change the Initial Values from “Hi-Z” to “N/A”.
2-33
in the Port D Input Pins Address - PIND description, change the Initial Values of bits 0 to 6 from “Hi-Z” to “N/A”.
2-44
Replace figure 34 by the one below:
Figure 34 Serial Programming and Verify
2.7 - 6.0
AT90S1200
GND
RESET
VCC
PB7
PB6
PB5
CLOCK INPUT
SCK
MISO
MOSI
XTAL1
GND
2
Data Book Updates and Changes
Data Book Updates and Changes
2-49:
Replace the row below in DC characteristics:
VACIO
Analog Comparator
Input Offset Voltage
VCC = 5V
40
mV
Analog Comparator
Input Offset Voltage
VCC = 5V
Vin = VCC /2
40
mV
by:
VACIO
2-50
In first line of Typical Characteristics, change “These data are characterized, but not tested.” to “These figures
are not tested during manufacturing.”.
2-62
In Register Summary, replace “2-2-xx” by “2-xx”.
3
AT90S2313
The latest data sheet on the web is rev. 0839E-04/99.
The data sheet in the printed data book is rev. 0839E-04/99.
Changes in the AT90S2313 Data Sheet:
Page: Change or Add:
3-28
Table 5: remove this note: “Note: When changing the ISC11/ISC10 bits, INT1 must be disabled by clearing its Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
3-29
Table 6: remove this note: “Note: When changing the ISC01/ISC00 bits, INT0 must be disabled by clearing its Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
3-38
On the top of the page, add paragraph “Note: If the compare register contains the TOP value and the prescaler is
not in use (CS12..CS10 = 001), the PWM output will not produce any pulse at all, because the up-counting and
down-counting values are reached simultaneously. When the prescaler is in use (CS12..CS10 ≠ 001 or 000), the
PWM output goes active when the counter reaches the TOP value, but the down-counting compare match is not
interpreted to be reached before the next time the counter reaches the TOP-value, making a one period PWM
pulse.”
3-39
In the note for Table 14, add “To avoid unintentional MCU resets, the Watchdog Timer should be disabled or reset
before changing the Watchdog Timer Prescale Select.”
In the EEPROM Read/Write Access description, change “When the EEPROM is read or written, the CPU is
halted for two clock cycles before the next instruction is executed.” to “When the EEPROM is written, the CPU is
halted for two clock cycles before the next instruction is executed. When the EEPROM is read, the CPU is halted
for four clock cycles before the next instruction is executed.”
3-40
In the Bit1 - EEWE: EEPROM Write Enable description, change “4. Write a logical one to the EEMWE bit in
EECR” to “4. Write a logical one to the EEMWE bit in EECR (to be able to write a logical one to the EEMWE bit, the
EEWE bit must be written to zero in the same cycle).”
3-41
In the Bit 0 - EERE: EEPROM Read Enable description, change “When EERE has been set, the CPU is halted for
two clock cycles before the next instruction is executed.” to “When EERE has been set, the CPU is halted for four
clock cycles before the next instruction is executed.”
3-47
In the Analog Comparator Control and Status Register description, change the initial value of ACO from “0” to
“N/A”.
3-49
in the Port B Input Pins Address - PINB description, change the Initial Values from “Hi-Z” to “N/A”.
3-54
in the Port D Input Pins Address - PIND description, change the Initial Values of bits 0 to 6 from “Hi-Z” to “N/A”.
3-67
Replace figure 34 by the one below:
4
Data Book Updates and Changes
Data Book Updates and Changes
Figure 53 Serial Programming and Verify
2.7 - 6.0
AT90S2313
GND
RESET
VCC
PB7
PB6
PB5
CLOCK INPUT
SCK
MISO
MOSI
XTAL1
GND
3-72:
Replace the row below in DC characteristics:
VACIO
Analog Comparator
Input Offset Voltage
VCC = 5V
40
mV
Analog Comparator
Input Offset Voltage
VCC = 5V
Vin = VCC /2
40
mV
by:
VACIO
3-73
In first line of Typical Characteristics, change “These data are characterized, but not tested.” to “These figures
are not tested during manufacturing.”.
3-84
In Register Summary, replace “3-3-xx” and “3-3-3-xx” by “3-xx”.
5
AT90S/LS2323 and AT90S/LS2343
The latest data sheet on the web is rev. 1004B-04/99.
The data sheet in the printed data book is rev. 1004B-04/99.
Changes in the AT90S/LS2323 and AT90S/LS2343 Data Sheet:
Page: Change or Add:
4-6
In the Pin Descriptions AT90S/LS2323 replace the description for Port B (PB2..PB0) by
“Port B is a 3-bit bi-directional I/O port with internal pull-up resistors. The Port B output buffers can sink 20 mA. As
inputs, Port B pins that are externally pulled low, will source current if the pull-up resistors are activated.
Port B also serves the functions of various special features.
Port pins can provide internal pull-up resistors (selected for each bit). The port B pins are tri-stated when a reset
condition becomes active.”
4-7
In the Pin Descriptions AT90S/LS2343 replace the description for Port B (PB4..PB0) by
“Port B is a 5-bit bi-directional I/O port with internal pull-up resistors. The Port B output buffers can sink 20 mA. As
inputs, Port B pins that are externally pulled low, will source current if the pull-up resistors are activated.
Port B also serves the functions of various special features.
Port pins can provide internal pull-up resistors (selected for each bit). The port B pins are tri-stated when a reset
condition becomes active.”
4-19
In Figure 20, add a box containing “+1” as an input to the summation operator.
4-25
In the first paragraph of Watchdog Reset, replace “When the Watchdog times out, it will generate a short reset
pulse of 1 XTAL cycle duration.” by “When the Watchdog times out, it will generate a short reset pulse of 1 CPU
clock cycle duration.”
4-29
Table 9: remove this note: “Note: When changing the ISC01/ISC00 bits, INT0 must be disabled by clearing its Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
4-34
In the note for Table 11, add “To avoid unintentional MCU resets, the Watchdog Timer should be disabled or reset
before changing the Watchdog Timer Prescale Select.”
In EEPROM Read/Write Access, replace the 6th line “When the EEPROM is read or written, the CPU is halted for
two clock cycles before the next instruction is executed.” by “When the EEPROM is written, the CPU is halted for
two clock cycles before the next instruction is executed. When it is read, the CPU is halted for 4 clock cycles.”.
4-35
In the Bit1 - EEWE: EEPROM Write Enable description, change “4. Write a logical one to the EEMWE bit in
EECR” to “4. Write a logical one to the EEMWE bit in EECR (to be able to write a logical one to the EEMWE bit, the
EEWE bit must be written to zero in the same cycle).”
In the Bit 0 - EERE: EEPROM Read Enable description, change “When EERE has been set, the CPU is halted for
two clock cycles before the next instruction is executed.” to “When EERE has been set, the CPU is halted for four
clock cycles before the next instruction is executed.”
4-37
6
in the Port B Input Pins Address - PINB description, change the Initial Values of bits 0-4 from “Hi-Z” to “N/A”.
Data Book Updates and Changes
Data Book Updates and Changes
4-38
Replace the section name “MISO - Port B, Bit 1” by “MISO/INT0 - Port B, Bit 1”
4-40
In High-Voltage Serial Programming, replace item 1. by
“Power-up sequence: Apply 4.5 - 5.5V between VCC and GND. Set RESET and PB0 to “0” and wait at least 100 ns.
Then, if the RCEN Fuse is not programmed; Toggle XTAL1/PB3 at least 4 times with minimum 100ns pulse-width.
Set PB3 to “0”. Wait at least 100ns.
or if the RCEN Fuse is programmed; Set PB3 to “0”. Wait at least 4µs.
In both cases; Then apply 12V to RESET and wait at least 100 ns before changing PB0. Wait 8 µs before giving
any instructions.”
4-40
In High-Voltage Serial Programming, replace in item 5 “Set PB5 to “1”.” by “Set RESET to “0”.”
4-42
In table 16, replace the entries
Read Fuse and
Lock bits
(AT90S/
LS2323)
PB0
PB1
PB2
0_0000_0100_00
0_0000_0000_00
0_0000_0000_00
0_0100_1100_00
0_0110_1000_00
0_0110_1100_00
x_xxxx_xxxx_xx
x_xxxx_xxxx_xx
1_2Sxx_xxFx_xx
Read Fuse and
Lock bits
(AT90S/
LS2343)
PB0
PB1
PB2
0_0000_0100_00
0_0000_0000_00
0_0000_0000_00
0_0100_1100_00
x_xxxx_xxxx_xx
0_0110_1000_00
x_xxxx_xxxx_xx
0_0110_1100_00
1_2Sxx_xxRx_xx
Reading 1, 2, S, F =’ 0’ means the
Fuse/Lock bit is programmed.
Reading 1, 2, S, R =’ 0’ means the
Fuse/Lock bit is programmed.
by the entries (Note: Bit 7 in the 4’th and 5’th column for PB1 has been inverted compared to the original data
book)
Read Fuse and
Lock bits
(AT90S/
LS2323)
PB0
PB1
PB2
0_0000_0100_00
0_0100_1100_00
0_0000_0000_00
0_0111_1000_00
0_0000_0000_00
0_0111_1100_00
x_xxxx_xxxx_xx
x_xxxx_xxxx_xx
1_2Sxx_xxFx_xx
Read Fuse and
Lock bits
(AT90S/
LS2343)
PB0
PB1
PB2
0_0000_0100_00
0_0000_0000_00
0_0000_0000_00
0_0100_1100_00
x_xxxx_xxxx_xx
0_0111_1000_00
x_xxxx_xxxx_xx
0_0111_1100_00
1_2Sxx_xxRx_xx
Reading 1, 2, S, F =’ 0’ means the
Fuse/Lock bit is programmed.
Reading 1, 2, S, R =’ 0’ means the
Fuse/Lock bit is programmed.
4-43
In figure 35, remove “CLOCK INPUT”, “XTAL1/PB3” and the arrow connecting them.
4-49
In first line of Typical Characteristics, change “These data are characterized, but not tested.” to “These figures
are not tested during manufacturing.”.
4-59
In Register Summary, replace all “4-page” by “page”. In addition, for TIMSK; replace ”page 4 -15” by “page 4-28”,
for TIFR; replace “page 4-16” by “page 4-28”, for MCUCR; replace “page 4-16” by “page 4-29”, for MCUSR;
replace “page 4-14” by “page 4-26”.
4-60
In Instruction Set Summary under BRANCH INSTRUCTIONS, replace
CPSE
SBRC
SBRS
SBIC
SBIS
Rd,Rr
Rr, b
Rr, b
P, b
P, b
Compare, Skip if Equal
Skip if Bit in Register Cleared
Skip if Bit in Register is Set
Skip if Bit in I/O Register Cleared
Skip if Bit in I/O Register is Set
if (Rd = Rr) PC ← PC + 2 or 3
if (Rr(b)=0) PC ← PC + 2 or 3
if (Rr(b)=1) PC ← PC + 2 or 3
if (P(b)=0) PC ← PC + 2 or 3
if (R(b)=1) PC ← PC + 2 or 3
None
None
None
None
None
1/2
1/2
1/2
1/2
1/2
Rd,Rr
Rr, b
Compare, Skip if Equal
Skip if Bit in Register Cleared
if (Rd = Rr) PC ← PC + 2 or 3
if (Rr(b)=0) PC ← PC + 2 or 3
None
None
1/2/3
1/2/3
by
CPSE
SBRC
7
SBRS
SBIC
SBIS
8
Rr, b
P, b
P, b
Skip if Bit in Register is Set
Skip if Bit in I/O Register Cleared
Skip if Bit in I/O Register is Set
if (Rr(b)=1) PC ← PC + 2 or 3
if (P(b)=0) PC ← PC + 2 or 3
if (R(b)=1) PC ← PC + 2 or 3
Data Book Updates and Changes
None
None
None
1/2/3
1/2/3
1/2/3
Data Book Updates and Changes
AT90S/LS2333 and AT90S/LS4433
The latest data sheet on the web is rev. 1042D-04/99.
The data sheet in the printed data book is rev. 1042D-04/99.
Changes in the AT90S/LS2333 and AT90S/LS4433 Data Sheet:
Page: Change or Add:
5-6
In “Pin Descriptions”, AVCC, change “This is the supply voltage for the A/D Converter. It should be externally connected to Vcc via a low-pass filter.” to “This is the supply voltage for Port A and the A/D Converter. If the ADC is not
used, this pin must be connected to Vcc. If the ADC is used, this pin should be connected to Vcc via a low-pass filter.”
5-15
In Figure 20, add a box containing “+1” as an input to the summation operator.
5-28
Table 7: remove this note: “Note: When changing the ISC11/ISC10 bits, INT1 must be disabled by clearing its Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
Table 8: remove this note: “Note: When changing the ISC01/ISC00 bits, INT0 must be disabled by clearing its Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
5-34
In “Timer/Counter Control Register 1B - TCCR1B”, bit3 - CTC1, change the count sequence when prescaler is
set to divide by 8 from “...C-1 | C, 0, 0, 0, 0, 0, 0, 0, 0 | ...” to “...C-1 | C, 0, 0, 0, 0, 0, 0, 0 | ...”
5-37
Before table 14, add paragraph “Note: If the compare register contains the TOP value and the prescaler is not in
use (CS12..CS10 = 001), the PWM output will not produce any pulse at all, because the up-counting and downcounting values are reached simultaneously. When the prescaler is in use (CS12..CS10 ≠ 001 or 000), the PWM
output goes active when the counter reaches the TOP value, but the down-counting compare match is not interpreted to be reached before the next time the counter reaches the TOP-value, making a one- period PWM pulse.”
5-39
In the note for Table 16, add “To avoid unintentional MCU resets, the Watchdog Timer should be disabled or reset
before changing the Watchdog Timer Prescale Select.”
5-41
In the Bit1 - EEWE: EEPROM Write Enable description, change “4. Write a logical one to the EEMWE bit in
EECR” to “4. Write a logical one to the EEMWE bit in EECR (to be able to write a logical one to the EEMWE bit, the
EEWE bit must be written to zero in the same cycle).”
5-47..50 In the UART description, replace “USR” by “UCSRA” and “UCR” by “UCSRB” everywhere.
5-50
In last line, replace “UBRRH” by “UBRRHI”.
5-52
In “Analog Comparator Control and Status Register - ACSR”, the initial value of ACO is “N/A”.
5-59
In “ADC Noise Canceling Techniques” item 3, replace “Figure 47” by “Figure 49”.
5-60
In Figure 49, replace the resistor by a 10 µH inductor. Change capacitor value from 10 nF to 100 nF.
5-61
In the Port B Input Pins Address - PINB description, change the Initial Values from “Hi-Z” to “N/A”.
5-66
In the Port C Input Pins Address - PINC description, change the Initial Values from “Hi-Z” to “N/A”. Change Initial
Values “Q” to “0” (zero).
5-68
In the Port D Input Pins Address - PIND description, change the Initial Values from “Hi-Z” to “N/A”.
5-80
In “Serial Downloading”, replace Figure 66 by the figure below.
9
Figure 66. Serial Programming and Verify
AT90S2333/4433
GND
CLOCK INPUT
5-86
RESET
VCC
PB7
PB6
PB5
2.7 - 6.0V
SCK
MISO
MOSI
XTAL1
GND
Replace the row below in DC characteristics:
VACIO
Analog Comparator
Input Offset Voltage
VCC = 5V
40
mV
Analog Comparator
Input Offset Voltage
VCC = 5V
Vin = VCC /2
40
mV
by:
VACIO
5-86
In “DC Characteristics”, footnote 4, replace “IOL” by “IOH” everywhere.
5-88
In first line of Typical Characteristics, change “These data are characterized, but not tested.” to “These figures
are not tested during manufacturing.”.
10
Data Book Updates and Changes
Data Book Updates and Changes
AT90S4414/8515
The latest data sheet on the web is rev. 0841E-04/99.
The data sheet in the printed data book is rev. 0841E-04/99.
Changes in the AT90S4414/8515 Data Sheet:
Page: Change or Add:
6-17
In Figure 19, add a box containing “+1” as an input to the summation operator.
6-29
Table 6: remove this note: “Note: When changing the ISC11/ISC10 bits, INT1 must be disabled by clearing its Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
6-30
Table 7: remove this note: “Note: When changing the ISC01/ISC00 bits, INT0 must be disabled by clearing its Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
6-39
Before table 14, add paragraph “Note: If the compare register contains the TOP value and the prescaler is not in
use (CS12..CS10 = 001), the PWM output will not produce any pulse at all, because the up-counting and downcounting values are reached simultaneously. When the prescaler is in use (CS12..CS10 ≠ 001 or 000), the PWM
output goes active when the counter reaches the TOP value, but the down-counting compare match is not interpreted to be reached before the next time the counter reaches the TOP-value, making a one- period PWM pulse.”
6-41
In the note for Table 15, add “To avoid unintentional MCU resets, the Watchdog Timer should be disabled or reset
before changing the Watchdog Timer Prescale Select.”
In the EEPROM Read/Write Access description, change “When the EEPROM is read or written, the CPU is
halted for two clock cycles before the next instruction is executed.” to “When the EEPROM is written, the CPU is
halted for two clock cycles before the next instruction is executed. When the EEPROM is read, the CPU is halted
for four clock cycles before the next instruction is executed.”
6-42
In the Bit1 - EEWE: EEPROM Write Enable description, change “4. Write a logical one to the EEMWE bit in
EECR” to “4. Write a logical one to the EEMWE bit in EECR (to be able to write a logical one to the EEMWE bit, the
EEWE bit must be written to zero in the same cycle).”
6-43
In the Bit 0 - EERE: EEPROM Read Enable description, change “When EERE has been set, the CPU is halted for
two clock cycles before the next instruction is executed.” to “When EERE has been set, the CPU is halted for four
clock cycles before the next instruction is executed.”
6-54
In the Analog Comparator Control and Status Register description, change the initial value of ACO from “0” to
“N/A”.
6-57
in the Port A Input Pins Address - PINA description, change the Initial Values from “Hi-Z” to “N/A”.
6-59
in the Port B Input Pins Address - PINB description, change the Initial Values from “Hi-Z” to “N/A”.
6-64
in the Port C Input Pins Address - PINC description, change the Initial Values from “Hi-Z” to “N/A”.
6-66
in the Port D Input Pins Address - PIND description, change the Initial Values from “Hi-Z” to “N/A”.
6-79
Replace figure 64 by the one below:
11
Figure 64 Serial Programming and Verify
AT90S4414/8515
GND
RESET
PB7
PB6
PB5
CLOCK INPUT
2.7 - 6.0
VCC
SCK
MISO
MOSI
XTAL1
GND
6-84:
Replace the row below in DC characteristics:
VACIO
Analog Comparator
Input Offset Voltage
VCC = 5V
40
mV
Analog Comparator
Input Offset Voltage
VCC = 5V
Vin = VCC /2
40
mV
by:
VACIO
6-88
In first line of Typical Characteristics, change “These data are characterized, but not tested.” to “These figures
are not tested during manufacturing.”.
6-98
In Register Summary, replace all “6-6-xx” by “6-xx”.
12
Data Book Updates and Changes
Data Book Updates and Changes
AT90S/LS4434 and AT90S/LS8535
The latest data sheet on the web is rev. 1041E-04/99.
The data sheet in the printed data book is rev. 1041E-04/99.
Changes in the AT90S/LS4434 and AT90S/LS8535 Data Sheet:
Page: Change or Add:
7-6
In “Pin Descriptions”, AVCC, change “This is the supply voltage for the A/D Converter. It should be externally connected to Vcc via a low-pass filter.” to “This is the supply voltage for Port A and the A/D Converter. If the ADC is not
used, this pin must be connected to Vcc. If the ADC is used, this pin should be connected to Vcc via a low-pass filter.”
7-15
In Figure 19, add a box containing “+1” as an input to the summation operator.
7-27
In “Timer/Counter Interrupt Flag Register - TIFR”, change heading “Bit 6 - TOV2: Timer/Counter0 Overflow Flag”
to “Bit 6 - TOV2: Timer/Counter2 Overflow Flag”.
7-29
Table 9: remove this note: “Note: When changing the ISC11/ISC10 bits, INT1 must be disabled by clearing its Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
Table 10: remove this note: “Note: When changing the ISC01/ISC00 bits, INT0 must be disabled by clearing its
Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
7-30
In the Power Down Mode section, replace paragraph 2 (“Note that if a level triggered interrupt... ...on page 7-98.”)
to “Note that when a level triggered interrupt is used for wake-up from power down, the low level must be held for a
time longer than the reset delay time-out period tTOUT.”
7-30
At the end of the Power Save Mode section, add the paragraph “If the asynchronous timer is NOT clocked asynchronously, Power Down Mode is recommended instead of Power Save Mode because the contents of the registers in the asynchronous timer should be considered undefined after wake up in Power Save Mode, even if AS2 is
0.”
7-36
In “Timer/Counter Control Register 1B - TCCR1B”, bit3 - CTC1, change the count sequence when prescaler is
set to divide by 8 from “...C-1 | C, 0, 0, 0, 0, 0, 0, 0, 0 | ...” to “...C-1 | C, 0, 0, 0, 0, 0, 0, 0 | ...”
7-39
Before table 16, add paragraph “Note: If the compare register contains the TOP value and the prescaler is not in
use (CS12..CS10 = 001), the PWM output will not produce any pulse at all, because the up-counting and downcounting values are reached simultaneously. When the prescaler is in use (CS12..CS10 ≠ 001 or 000), the PWM
output goes active when the counter reaches the TOP value, but the down-counting compare match is not interpreted to be reached before the next time the counter reaches the TOP-value, making a one- period PWM pulse.”
7-45
Replace last paragraph on page:
“When asynchronous operation is selected, the 32 kHz oscillator for Timer/Counter2 is always running, except in
power down mode. After a power up reset or wake-up from power down, the user should be aware of the fact that
this oscillator might take as long as one second to stabilize. Therefore, the content of all Timer/Counter2 registers
must be considered lost after a wake-up from power down, due to the unstable clock signal. The user is advised to
wait for at least one second before using Timer/Counter2 after power-up or wake-up from power down.”
by
“When the asynchronous operation is selected, the 32kHZ oscillator for Timer/Counter2 is always running, except
in power down mode. After a power up reset or wake-up from power down, the user should be aware of the fact
that this oscillator might take as long as one second to stabilize. The user is advised to wait for at least one second
before using Timer/Counter2 after power-up or wake-up from power down. The contents of all Timer/Counter2 reg-
13
isters must be considered lost after a wake-up from power down due to unstable clock signal upon start-up, regardless of whether the oscillator is in use or a clock signal is applied to the TOSC pin.”
7-47
In the note for Table 22, add “To avoid unintentional MCU resets, the Watchdog Timer should be disabled or reset
before changing the Watchdog Timer Prescale Select.”
7-49
In the Bit1 - EEWE: EEPROM Write Enable description, change “4. Write a logical one to the EEMWE bit in
EECR” to “4. Write a logical one to the EEMWE bit in EECR (to be able to write a logical one to the EEMWE bit, the
EEWE bit must be written to zero in the same cycle).”
In the Bit 0 - EERE: EEPROM Read Enable description, change “When EERE has been set, the CPU is halted for
two clock cycles before the next instruction is executed.” to “When EERE has been set, the CPU is halted for four
clock cycles before the next instruction is executed.”
7-52
Change Figure 40 to the figure below.
Figure 40. SPI Transfer Format with CPHA = 1 and DORD = 0
7-60
In “Analog Comparator Control and Status Register - ACSR”, the initial value of ACO is “N/A”.
7-67
In Figure 50, replace the resistor by a 10 µH inductor. Change capacitor value from 10 nF to 100 nF.
7-69
In the Port A Input Pins Address - PINA description, change the Initial Values from “Hi-Z” to “N/A”.
7-71
In the Port B Input Pins Address - PINB description, change the Initial Values from “Hi-Z” to “N/A”.
7-76
In the Port C Input Pins Address - PINC description, change the Initial Values from “Hi-Z” to “N/A”.
7-79
In the Port D Input Pins Address - PIND description, change the Initial Values from “Hi-Z” to “N/A”.
7-91
In “Serial Downloading”, replace Figure 71 by the figure below.
Figure 71. Serial Programming and Verify
AT90S4434/8535
GND
CLOCK INPUT
14
RESET
VCC
PB7
PB6
PB5
2.7 - 6.0V
SCK
MISO
MOSI
XTAL1
GND
Data Book Updates and Changes
Data Book Updates and Changes
7-96
Replace the row below in DC characteristics:
VACIO
Analog Comparator
Input Offset Voltage
VCC = 5V
40
mV
Analog Comparator
Input Offset Voltage
VCC = 5V
Vin = VCC /2
40
mV
by:
VACIO
7-98
In first line of Typical Characteristics, change “These data are characterized, but not tested.” to “These figures
are not tested during manufacturing.”.
7-109
In Register Summary, replace all “7-page” by “page”. In addition, replace “page 7-337-” by “page 7-33”, “page 7377-” by “page 7-37”, “page 7-387-” by “page 7-38”, “page 7-467-” by “page 7-46”, “page 7-487-” by “page 7-48”.
15
AT90C8534
The latest data sheet on the web is rev. 1229A-04/99.
The data sheet in the printed data book is rev. 1229A-04/99.
Changes in the AT90C8534 Data Sheet:
Page: Change or Add:
8-5
In “Pin Descriptions”, AVCC, change “This is the supply voltage for the A/D Converter. It should be externally
connected to Vcc via a low-pass filter.” to “This is the supply voltage for the A/D Converter. If the ADC is not used,
this pin must be connected to Vcc. If the ADC is used, this pin should be connected to Vcc via a low-pass filter.”
8-16
In Figure 19, add a box containing “+1” as an input to the summation operator.
8-26
At the end of the Interrupt Sense Control 1 description add this text: “When changing the ISC1 bit, an interrupt
can occur. Therefore, it is recommended to first disable INT1 by clearing its Interrupt Enable bit in the GIMSK register. Then, the ISC1 bit can be changed. Finally, the INT1 interrupt flag should be cleared by writing a logical one
to its Interrupt Flag bit in the GIFR register before the interrupt is re-enabled.”
At the end of the Interrupt Sense Control 0 description add this text: “When changing the ISC0 bit, an interrupt
can occur. Therefore, it is recommended to first disable INT0 by clearing its Interrupt Enable bit in the GIMSK register. Then, the ISC0 bit can be changed. Finally, the INT0 interrupt flag should be cleared by writing a logical one
to its Interrupt Flag bit in the GIFR register before the interrupt is re-enabled.”
8-31
In the EEPROM Read/Write Access description, change “When the EEPROM is read or written, the CPU is
halted for two clock cycles before the next instruction is executed.” to “When the EEPROM is written, the CPU is
halted for two clock cycles before the next instruction is executed. When the EEPROM is read, the CPU is halted
for four clock cycles before the next instruction is executed.”
8-32
In the Bit1 - EEWE: EEPROM Write Enable description, change “4. Write a logical one to the EEMWE bit in
EECR” to “4. Write a logical one to the EEMWE bit in EECR (to be able to write a logical one to the EEMWE bit, the
EEWE bit must be written to zero in the same cycle).”
In the Bit 0 - EERE: EEPROM Read Enable description, change “When EERE has been set, the CPU is halted for
two clock cycles before the next instruction is executed.” to “When EERE has been set, the CPU is halted for four
clock cycles before the next instruction is executed.”
16
Data Book Updates and Changes
Data Book Updates and Changes
ATtiny10/11/12
The latest data sheet on the web is rev. 1006B-10/99.
The data sheet in the printed data book is rev. 1006A-04/99.
Changes in the ATtiny10/11/12 Data Sheet on the web:
Page: Change or Add:
27
Table 13: remove this note: “Note: When changing the ISC01/ISC00 bits, INT0 must be disabled by clearing its
Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
In the first paragraph of Sleep modes for the ATtiny10/11 section, replace the sentence
“On wake-up from Power Down Mode on pin change, the two instructions following SLEEP are executed before
the pin change interrupt routine.
by
“On wake-up from Power Down Mode on pin change, 2 instruction cycles are executed before the pin change interrupt flag is updated. During these cycles, the processor executes instructions, but the interrupt condition is not
readable, and the interrupt routine has not started yet.
32
In the note for Table 16, add “To avoid unintentional MCU resets, the Watchdog Timer should be disabled or reset
33
In the last sentence of the first paragraph, change “When the EEPROM is read or written, the CPU is halted for two
clock cycles before the next instruction is executed.” to “When the EEPROM is written, the CPU is halted for two
clock cycles before the next instruction is executed. When the EEPROM is read, the CPU is halted for four clock
cycles before the next instruction is executed.”
In the EEPROM Control Register description, change the initial value of EEWE from “0” to “X”.
34
In the Bit 0 - EERE: EEPROM Read Enable description, change “When EERE has been set, the CPU is halted for
two clock cycles before the next instruction is executed.” to “When EERE has been set, the CPU is halted for four
clock cycles before the next instruction is executed.”
Changes in the ATtiny10/11/12 section in the data book
Page: Change or Add:
9-3
In both Pin Configuration figures, replace RESET with RESET.
9-14
In Figure 12, add a box containing “+1” as an input to the summation operator.
9-24
In the first line of the Watchdog Reset section, change “1 XTAL cycle” to “1 CK cycle”.
In Figure 22, change “1 XTAL Cycle” to “1 CK Cycle”.
9-29
Table 13: remove this note: “Note: When changing the ISC01/ISC00 bits, INT0 must be disabled by clearing its
Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
In the first paragraph of Sleep modes for the ATtiny10/11 section, replace the sentence
17
“On wake-up from Power Down Mode on pin change, the two instructions following SLEEP are executed before
the pin change interrupt routine.
by
“On wake-up from Power Down Mode on pin change, 2 instruction cycles are executed before the pin change interrupt flag is updated. During these cycles, the processor executes instructions, but the interrupt condition is not
readable, and the interrupt routine has not started yet.
9-34
In the note for Table 15, add “To avoid unintentional MCU resets, the Watchdog Timer should be disabled or reset
before changing the Watchdog Timer Prescale Select.”
In the first paragraph of ATtiny12 Calibrated Internal RC Oscillator section, add “For details on how to use the
pre-programmed calibration value, see the section ‘Calibration Byte in ATtiny12’ on page 9-42.
In the second paragraph, add “The calibrated oscillator is used to time EEPROM access. If EEPROM is written, do
not calibrate to more than 10% above the nominal frequency. Otherwise, the EEPROM write may fail. Table 1
shows the range for OSCCAL. Note that the Oscillator is intended for calibration to 1.0MHz, thus tuning to other
values is not guaranteed.
Table 1. Internal RC Oscillator Frequency Range.
9-35
OSCCAL value
Min. Frequency
Max Frequency
$00
0.5MHz
1.0MHz
$7F
0.7MHz
1.5MHz
$FF
1.0MHz
2.0MHz
In the second line, change “The write access time is in the range of 2.5 - 4ms, depending on the VCC.” to “The write access
time is in the range of 1.9 - 3.4ms, depending on the frequency of the calibrated RC oscillator.”
In the last sentence of the first paragraph, change “When the EEPROM is read or written, the CPU is halted for two
clock cycles before the next instruction is executed.” to “When the EEPROM is written, the CPU is halted for two
clock cycles before the next instruction is executed. When the EEPROM is read, the CPU is halted for four clock
cycles before the next instruction is executed.”
In the EEPROM Control Register description, change the initial value of EEWE from “0” to “X”.
9-36
In the 14th line, remove “(typically 2.5ms at VCC = 5V or 4 ms at VCC = 2.7V)”
In the Bit1 - EEWE: EEPROM Write Enable description, change “4. Write a logical one to the EEMWE bit in
EECR” to “4. Write a logical one to the EEMWE bit in EECR (to be able to write a logical one to the EEMWE bit, the
EEWE bit must be written to zero in the same cycle).”
In the Bit 0 - EERE: EEPROM Read Enable description, change “When EERE has been set, the CPU is halted for
two clock cycles before the next instruction is executed.” to “When EERE has been set, the CPU is halted for four
clock cycles before the next instruction is executed.”
9-37
In the Analog Comparator Control and Status Register description, change the initial value of ACO from “0” to
“N/A”.
9-39
In the Port B Input Pins Address - PINB description, change the Initial Value of bits 0-5 from “Hi-Z” to “N/A”.
9-40
In the first line of section Alternate Functions of Port B, change “The alternate pin functions of Port B are:” to “All
Port B pins are connected to a pin change detector that can trigger the pin change interrupt. See ‘Pin Change Interrupt’ on page 9-28 for details. In addition, Port B has the following alternate functions:”.
18
Data Book Updates and Changes
Data Book Updates and Changes
9-42
In the section Calibration Byte in ATtiny12, add “At start-up, the user software must read this flash location and
write the value to the OSCCAL register.”
In the section ATtiny10/11, change “The +12V is used for programming enable only, and no current of significance is
drawn by this pin.” to “Only minor currents (<1mA) are drawn from the +12V pin during programming.”.
9-44
In Table 21, remove the entire first row. In the first cell of the second row, remove “(ATtiny12)”.
9-45
In the note on the bottom of the page, change “9, 6 = RSTISBL Fuse” to “9, 6 = RSTDISBL Fuse”.
9-46
In Table 22, remove the “tWLWH_CE “row.
In Figure 30, remove “CLOCK INPUT”, “PB3 (XTAL1)” and the arrow connecting them.
9-47
In the sixth line, change “Either an external clock is supplied at pin XTAL1 or a crystal needs to be connected
across pins XTAL1 and XTAL2” to “The device can be clocked by any clock option during Low-Voltage Serial Programming.”.
In the two last lines of the first paragraph, change “2 XTAL clock cycles” to “2 CK clock cycles”.
In the first entry of the Low-Voltage Serial Programming Algorithm, change “If a crystal is not connected across
pins XTAL1 and XTAL2, apply a clock signal to the XTAL1 pin.” to “In accordance with the setting of CKSEL fuses,
apply a crystal/resonator, external clock or RC network, or let the device run on the internal RC oscillator.”.
In the fifth entry, change the first “tWD_PROG” to “tWD_FLASH or tWD_EEPROM”. Change the second “tWD_PROG” to “tWD_FLASH
and tWD_EEPROM”.
9-48
In the Data Polling section, change the first “tWD_PROG” to “tWD_FLASH or tWD_EEPROM”. Change the second and third
“tWD_PROG” to “tWD_EEPROM”.
9-50
Replace Table 25 and Table 26 with these tables:
9-52
Symbol
Minimum Wait Delay
tWD_ERASE
3.4 ms
Symbol
Minimum Wait Delay
tWD_FLASH
1.7 ms
tWD_EEPROM
3.4 ms
In the DC Characteristics table, replace
Symbol
Parameter
Condition
Min
Typ
Max
Units
3.0
mA
1.0
1.2
mA
Power Down , VCC =
3V, WDT enabled
9.0
15
µA
Power Down(5), VCC =
3V. WDT disabled
<1
2
µA
Active 4MHz, VCC = 3V
Idle 4MHz, VCC = 3V
ICC
Power Supply Current
(5)
19
Symbol
Parameter
Condition
Vacio
Analog Comp
Input Offset V
VCC = 5V
Iaclk
Analog Comp
Input leakage A
VCC = 5V
VIN = VCC/2
Tacpd
Analog Comp
Propagation Del.
VCC = 2.7V
VCC = 4.0V
Parameter
Condition
Min
Typ
-50
Max
Units
40
mV
50
nA
750
500
ns
with
Symbol
ICC
Min
Max
Units
Active 1MHz, VCC = 3V
(ATtiny12V)
TBD
mA
Active 2MHz, VCC = 3V
(ATtiny10/11L)
TBD
mA
Active 4MHz, VCC = 3V
(ATtiny12L)
3.0
mA
Active 6MHz, VCC = 5V
(ATtiny10/11)
TBD
mA
Active 8MHz, VCC = 5V
(ATtiny12)
TBD
mA
Idle 1MHz, VCC = 3V
(ATtiny12V)
TBD
mA
Idle 2MHz, VCC = 3V
(ATtiny10/11L)
TBD
mA
1.2
mA
Idle 6MHz, VCC = 5V
(ATtiny10/11)
TBD
mA
Idle 8MHz, VCC = 5V
(ATtiny12)
TBD
mA
Power Supply Current
Idle 4MHz, VCC = 3V
(ATtiny12L)
20
Typ
1.0
Power Down(5), VCC =
3V, WDT enabled
9.0
15
µA
Power Down(5), VCC =
3V. WDT disabled
<1
2
µA
40
mV
50
nA
VACIO
Analog Comparator
Input Offset Voltage
VCC = 5V
VIN = VCC/2
IACLK
Analog Comparator
Input Leakage Current
VCC = 5V
VIN = VCC/2
TACPD
Analog Comparator
Propagation Delay
VCC = 2.7V
VCC = 4.0V
-50
750
500
Data Book Updates and Changes
ns
Data Book Updates and Changes
9-53
In the first table, change the title from “External Clock Drive” to “External Clock Drive ATtiny12” and add this table:
External Clock Drive ATtiny10/11
VCC = 2.7V to 4.0V
Symbol
Parameter
1/tCLCL
Oscillator Frequency
VCC = 4.0V to 5.5V
Min
Max
Min
Max
Units
0
2
0
6
MHz
tCLCL
Clock Period
500
167
ns
tCHCX
High Time
200
67
ns
tCLCX
Low Time
200
67
ns
tCLCH
Rise Time
1.6
0.5
µs
tCHCL
Fall Time
1.6
0.5
µs
9-54
In the first line, change “These data are characterized, but not tested.” to “These figures are not tested during manufacturing.”.
9-72
In row 12 (MCUSR) of the table, change “WDTR” to “WDRF” and “BODR” to “BORF”.
21
ATtiny15L
The latest data sheet on the web is rev. 1187B-11/99.
The data sheet in the printed data book is rev. 1187A-06/99.
Changes in the ATtiny15L Data Sheet on the web:
None.
Changes in the ATtiny15L section in the data book:
The data sheet for ATtiny15 has gone through serious improvements and corrections since the printing of the “AVR
RISC MICROCONTROLLER DATA BOOK AUGUST 1999”. The user is advised to download the complete new
ATtiny15 data sheet from the Web, since correcting the present data book would not give a user friendly result.
22
Data Book Updates and Changes
Data Book Updates and Changes
ATtiny22/22L
The latest data sheet on the web is rev. 1273A-04/99.
The data sheet in the printed data book is rev. 1273A-04/99.
Changes in the ATtiny22/22L Data Sheet:
Generally: The external clock option does not exist in ATtiny22/L. Therefore, all references to the RCEN fuse and external
clock are wrong, and the part comes as ATtiny22L only, not ATtiny22.
Page: Change or Add:
All
For all “ATtiny22/L” read “ATtiny22L”.
11-3
In the feature list, replace the following lines
• Special Microcontroller Features
– ...
– Selectable On-chip RC Oscillator
• Power Consumption at 4 MHz, 3V, 25°C
– Active: 2.4 mA
– Idle Mode: 0.5 mA
– Power Down Mode: <1 µA
• Operating Voltages
– 2.7 - 6.0V (ATtiny22L)
– 4.0 - 6.0V (ATtiny22)
• Speed Grades
– 0 - 4 MHz (ATtiny22L)
– 0 - 8 MHz (ATtiny22)
by the following description;
• Special Microcontroller Features
– ...
– On-chip RC Oscillator
• Power Consumption at 3V, 25°C
– Active: 1.5 mA
– Idle Mode: 100µA
– Power Down Mode: <1 µA
• Operating Voltages
– 2.7 - 6.0V
• Speed Grade
– Internal Oscillator [email protected]
11-3
Replace Pin Configuration by the figure shown below.
RESET
PB3
PB4
GND
1
2
3
4
8
7
6
5
VCC
PB2 (SCK/T0)
PB1 (MISO/INT0)
PB0 (MOSI)
23
11-5
In the Pin Descriptions ATtiny22/L replace the description for Port B (PB4..PB0) by
“Port B is a 5-bit bi-directional I/O port with internal pull-up resistors. The Port B output buffers can sink 20 mA. As
inputs, Port B pins that are externally pulled low, will source current if the pull-up resistors are activated.
Port B also serves the functions of various special features.
Port pins can provide internal pull-up resistors (selected for each bit). The port B pins are tri-stated when a reset
condition becomes active.”
11-5
Remove the description “CLOCK” under Pin Descriptions ATtiny22/L.
11-5
The whole section “Clock options“ including Figure 2 should be replaced by
“Clock Source
The ATtiny22L is clocked by an on-chip RC oscillator. This RC oscillator runs at a nominal frequency
of 1 MHz (VCC = 5V).“
11-16
In Figure 18, add a box containing “+1” as an input to the summation operator.
11-16
Replace second paragraph under Memory Access and Instruction Execution Timing, “The AVR CPU is driven
by the System Clock Ø, directly generated from the external clock signal applied to the CLOCK pin.” by “The AVR
CPU is driven by the System Clock Ø, directly generated from the internal RC oscillator.“
11-21
In Power-On Reset, replace the first paragraph; ”The ATtiny22/L is designed for use in systems where it can operate from the internal RC oscillator or in applications where a clock signal is provided by an external clock source.
After VCC has reached VPOT, the device will start after the time tTOUT (see Figure 23). If the clock signal is provided
by an external clock source, the clock must not be applied until V CC has reached the minimum voltage defined for
the applied frequency. “ by “The ATtiny22L is designed for use in systems where it can operate from the internal RC
oscillator. After VCC has reached VPOT, the device will start after the time tTOUT (see Figure 23).”
11-23
In the first paragraph of Watchdog Reset, replace “When the Watchdog times out, it will generate a short reset
pulse of 1 CPU cycle duration.” by “When the Watchdog times out, it will generate a short reset pulse of 1 clock
cycle duration.”
11-27
Table 7: remove this note: “Note: When changing the ISC01/ISC00 bits, INT0 must be disabled by clearing its Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
11-31
In the note for Table 9, add “To avoid unintentional MCU resets, the Watchdog Timer should be disabled or reset
before changing the Watchdog Timer Prescale Select.”
11-32
In line number 6, replace “When the EEPROM is read or written, the CPU is halted for two clock cycles before the
next instruction is executed.” by “When the EEPROM is written, the CPU is halted for two clock cycles before the
next instruction is executed. When it is read, the CPU is halted for 4 clock cycles.”.
11-33
In the Bit1 - EEWE: EEPROM Write Enable description, change “4. Write a logical one to the EEMWE bit in
EECR” to “4. Write a logical one to the EEMWE bit in EECR (to be able to write a logical one to the EEMWE bit, the
EEWE bit must be written to zero in the same cycle).”
In the Bit 0 - EERE: EEPROM Read Enable description, change “When EERE has been set, the CPU is halted for
two clock cycles before the next instruction is executed.” to “When EERE has been set, the CPU is halted for four
clock cycles before the next instruction is executed.”
11-34
In Table 10, remove the entry for PB3.
11-34
In the Port B Input Pins Address - PINB description, change the Initial Values of bits 0-4 from “Hi-Z” to “N/A”.
11-35
Remove section, CLOCK - Port B, Bit 3.
24
Data Book Updates and Changes
Data Book Updates and Changes
11-35
Replace the section name “MISO - Port B, Bit 1” by “MISO/INT0 - Port B, Bit 1”
11-36
In section Fuse Bits, replace the first sentence; “The ATtiny22/L has two Fuse bits, SPIEN and RCEN.” by “The
ATtiny22L has one Fuse bit, SPIEN.”, and remove the second bullet item which is a description of the RCEN fuse.
11-37
In Table 13, delete one of the rows saying
ATtiny22/L
2.7 - 6.0V
4.5 - 5.5V
11-37
In High-Voltage Serial Programming Algorithm, replace item 1 by “Power-up sequence: Apply 4.5 - 5.5V
between VCC and GND. Set RESET and PB0 to “0” and wait at least 100 ns. Set PB3 to “0”. Wait at least 4µs.
Apply 12V to RESET and wait at least 100 ns before changing PB0. Wait 8 µs before giving any instructions.”
11-37
In High-Voltage Serial Programming Algorithm, replace in item 5 “Set PB5 to “1”.” by “Set RESET to “0”.”
11-38
In Figure 31, replace “XTAL1/PB3” by “PB3”.
11-38
In table 14, replace the entries
Write Fuse bits
Read Fuse and
Lock bits
PB0
0_0100_0000_00
0_11S1_111R_00
0_0000_0000_00
0_0000_0000_00
PB1
PB2
0_0100_1100_00
x_xxxx_xxxx_xx
0_0010_1100_00
x_xxxx_xxxx_xx
0_0110_0100_00
x_xxxx_xxxx_xx
0_0110_1100_00
x_xxxx_xxxx_xx
PB0
PB1
PB2
0_0000_0100_00
0_0100_1100_00
0_0000_0000_00
0_0110_1000_00
0_0000_0000_00
0_0110_1100_00
x_xxxx_xxxx_xx
x_xxxx_xxxx_xx
1_2Sxx_xxRx_xx
Wait tWLWH_PFB after Instr.3 for the
Write Fuse bits cycle to finish. Set S,R
= “0” to program, “1” to unprogram.
Reading 1, 2, S, R = “0” means the
Fuse/Lock bit is programmed.
by the entries (Note: For Read Fuse and Lock bits; Bit 7 in the 4’th and 5’th column for PB1 have been inverted
compared to the original data book.
Write Fuse bit
Read Fuse and
Lock bits
PB0
0_0100_0000_00
0_11S1_1110_00
0_0000_0000_00
0_0000_0000_00
PB1
PB2
0_0100_1100_00
x_xxxx_xxxx_xx
0_0010_1100_00
x_xxxx_xxxx_xx
0_0110_0100_00
x_xxxx_xxxx_xx
0_0110_1100_00
x_xxxx_xxxx_xx
PB0
PB1
PB2
0_0000_0100_00
0_0100_1100_00
0_0000_0000_00
0_0111_1000_00
0_0000_0000_00
0_0111_1100_00
x_xxxx_xxxx_xx
x_xxxx_xxxx_xx
1_2Sxx_xx0x_xx
Wait tWLWH_PFB after Instr.3 for the
Write Fuse bit cycle to finish. Set S =
“0” to program, “1” to unprogram.
Reading 1, 2, S= “0” means the
Fuse/Lock bit is programmed.
and delete the note “R = RCEN Fuse“ to this table.
11-40
In figure 33, remove “CLOCK INPUT”, “XTAL1/PB3” and the arrow connecting them.
11-40
In last paragraph, replace “Either an external clock is applied to the XTAL1/PB3 pin or the device must be clocked
from the internal RC-oscillator.” by “The device is clocked from the internal RC-oscillator.”
11-41
In item “1. Power-up sequence”, replace “RESET” by “RESET” (two occurrences) and delete “If the device is programmed for external clocking, apply a 0 to 8 MHz clock to the PB3 pin. If the internal RC oscillator is selected as
the clock source, no external clock source needs to be applied.”
11-43
In table 17, replace the entries
Read Lock and
Fuse Bits
Write RCEN Bit
0101 1000
xxxx xxxx
xxxx xxxx
12Sx xxxR
Read Lock and Fuse bits. ‘0’ =
programmed, ‘1’ = unprogrammed.
1010 1100
1011 111R
xxxx xxxx
xxxx xxxx
Write RCEN Fuse. Set bit R = ‘0’ to
program, ‘1’ to unprogram.(1)
25
by the entry (Remove the entry “Write RCEN Bit”):
Read Lock and
Fuse Bit
0101 1000
xxxx xxxx
xxxx xxxx
12Sx xxx0
Read Lock and Fuse bit. ‘0’ =
programmed, ‘1’ = unprogrammed.
and remove the notes “R = RCEN Fuse” and “When the state of the RCEN bit is changed, the device must be
power cycled for the changes to have any effect.”
11-44
Above Table 18, add “The period of the internal RC oscillator - tCLCL is voltage dependent as shown in “Typical characteristics”, and delete the entries for 1/tCLCL(VCC = 2.7 - 4.0V), tCLCL(VCC = 2.7 - 4.0V), 1/tCLCL(VCC = 4.0 - 6.0V),
tCLCL (VCC = 4.0 - 6.0V),.
11-45
In DC Characteristics, replace the entries:
ICC
Power Supply Current
Active 4 MHz, VCC = 3V
3.0
mA
Idle 4 MHz, VCC = 3V
1.1
mA
Power Down 4 MHz ,
VCC = 3V WDT Enabled
25.0
µA
Power Down 4 MHz(2),
VCC = 3V WDT Disabled
20.0
µA
Active, VCC = 3V
1.5
mA
Idle, VCC = 3V
100
µA
Power Down,
VCC = 3V WDT Enabled
25.0
µA
Power Down,
VCC = 3V WDT Disabled
20.0
µA
(2)
by the entries
ICC
Power Supply Current
11-46
Remove the sections External Clock Drive Waveforms and External Clock Drive.
11-46
In first line of Typical Characteristics, change “These data are characterized, but not tested.” to “These figures
are not tested during manufacturing.”.
11-46
For last sentence in second paragraph of the section Typical Characteristics, replace “The dominating factors are
the operating voltage and frequency“ by “The dominating factor is the operating voltage, as the frequency of
ATtiny22L is also a function of the operating voltage.”
11-47
Remove Figure 37 and Figure 38
11-48
Remove Figure 40
11-49
Remove Figure 41
11-56
In Register Summary, replace all “11-page” by “page”. In addition, for TIMSK; replace ”page 11-15” by “page 1125”, for TIFR; replace “page 11-16” by “page 11-26”, for MCUCR; replace “page 11-16” by “page 11-26”, for
MCUSR; replace “page 11-14” by “page 11-24”
26
Data Book Updates and Changes
Data Book Updates and Changes
11-56
In Register Summary, replace
$21 ($41)
WDTCR
-
-
-
WDTO
WDE
WDP2
WDP1
WDP0
Page 11-30
WDTCR
-
-
-
WDTOE
WDE
WDP2
WDP1
WDP0
Page 11-30
by
$21 ($41)
11-57
In Instruction Set Summary under BRANCH INSTRUCTIONS, replace
CPSE
SBRC
SBRS
SBIC
SBIS
Rd,Rr
Rr, b
Rr, b
P, b
P, b
Compare, Skip if Equal
Skip if Bit in Register Cleared
Skip if Bit in Register is Set
Skip if Bit in I/O Register Cleared
Skip if Bit in I/O Register is Set
if (Rd = Rr) PC ← PC + 2 or 3
if (Rr(b)=0) PC ← PC + 2 or 3
if (Rr(b)=1) PC ← PC + 2 or 3
if (P(b)=0) PC ← PC + 2 or 3
if (R(b)=1) PC ← PC + 2 or 3
None
None
None
None
None
1/2
1/2
1/2
1/2
1/2
Rd,Rr
Rr, b
Rr, b
P, b
P, b
Compare, Skip if Equal
Skip if Bit in Register Cleared
Skip if Bit in Register is Set
Skip if Bit in I/O Register Cleared
Skip if Bit in I/O Register is Set
if (Rd = Rr) PC ← PC + 2 or 3
if (Rr(b)=0) PC ← PC + 2 or 3
if (Rr(b)=1) PC ← PC + 2 or 3
if (P(b)=0) PC ← PC + 2 or 3
if (R(b)=1) PC ← PC + 2 or 3
None
None
None
None
None
1/2/3
1/2/3
1/2/3
1/2/3
1/2/3
by
CPSE
SBRC
SBRS
SBIC
SBIS
11-59
“
Replace the Ordering Information
Power Supply
Speed (MHz)
Ordering Code
Package
2.7 - 6.0V
4
ATtiny22L-4PC
ATtiny22L-4SC
8P3
8S2
Commercial
(0°C to 70°C)
ATtiny22L-4PI
ATtiny22L-4SI
8P3
8S2
Industrial
(-40°C to 85°C)
ATtiny22-8PC
ATtiny22-8SC
8P3
8S2
Commercial
(0°C to 70°C)
ATtiny22-8PI
ATtiny22-8SI
8P3
8S2
Industrial
(-40°C to 85°C)
4.0 - 6.0V
Note:
8
Operation Range
The speed grade refers to maximum clock rate when using an external clock drive. The internal RC oscillator has the same
nominal clock frequency for all speed grades.”
by the following Ordering Information
“
Power Supply
Speed (MHz)
Ordering Code
Package
Operation Range
2.7 - 6.0V
Internal Osc.
[email protected]
ATtiny22L-1PC
ATtiny22L-1SC
8P3
8S2
Commercial
(0°C to 70°C)
ATtiny22L-1PI
ATtiny22L-1SI
8P3
8S2
Industrial
(-40°C to 85°C)
“
27
ATtiny28L/V
The latest data sheet on the web is rev. 1062B-10/99.
This data sheet is not in the printed data book.
Changes in the ATtinyL /V Data Sheet on the web:
None.
28
Data Book Updates and Changes
Data Book Updates and Changes
ATmega161/161L
The latest data sheet on the web is rev. 1228A-08/99.
The data sheet in the printed data book is rev. 1228A-05/99.
Changes in the ATmega161/161L data sheet:
Page: Change or Add:
12-25
Add the following note below table 2: “note: if BOOTRST fuse is programmed, the reset vector is located on program address $1e00, see table 38 on page 12-98 for details”.
Add this code example below the existing code example:
When the BOOTRST fuse is programmed, the most typical and general program setup for the Reset and Interrupt Vector
Addresses are:
Address
Labels
Code
Comments
.org $002
; Reset is located at $1e000
$002
jmp
EXT_INT0
; IRQ0 Handler
$004
jmp
EXT_INT1
; IRQ1 Handler
$006
jmp
EXT_INT2
; IRQ2 Handler
$008
jmp
TIM2_COMP
; Timer2 Compare Handler
$00a
jmp
TIM2_OVF
; Timer2 Overflow Handler
$00c
jmp
TIM1_CAPT
; Timer1 Capture Handler
$00e
jmp
TIM1_COMPA ; Timer1 CompareA Handler
$010
jmp
TIM1_COMPB ; Timer1 CompareB Handler
$012
jmp
TIM1_OVF
; Timer1 Overflow Handler
$014
jmp
TIM0_COMP
; Timer0 Compare Handler
$016
jmp
TIM0_OVF
; Timer0 Overflow Handler
$018
jmp
SPI_STC;
; SPI Transfer Complete Handler
$01a
jmp
UART_RXC0
; UART0 RX Complete Handler
$01c
jmp
UART_RXC1
; UART1 RX Complete Handler
$01e
jmp
UART_DRE0
; UDR0 Empty Handler
$020
jmp
UART_DRE1
; UDR1 Empty Handler
$022
jmp
UART_TXC0
; UART0 TX Complete Handler
$024
jmp
UART_TXC1
; UART1 TX Complete Handler
$026
jmp
EE_RDY
; EEPROM Ready Handler
$028
jmp
ANA_COMP
; Analog Comparator Handler
;
$02a
MAIN:
ldi r16,high(RAMEND); Main program start
$02b
out SPH,r16
$02c
ldi r16,low(RAMEND)
$02d
out SPL,r16
$02e
<instr>
xxx
;
.org $1e00
$1e00
…
…
jmp
…
RESET
…
; Reset handler
29
12-35
Table 7: remove this note: “Note: When changing the ISC11/ISC10 bits, INT1 must be disabled by clearing its Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
Table 8: remove this note: “Note: When changing the ISC01/ISC00 bits, INT0 must be disabled by clearing its Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are changed.”
At the end of the Interrupt Sense Control 2 description add this text: “When changing the ISC2 bit, an interrupt
can occur. Therefore, it is recommended to first disable INT2 by clearing its Interrupt Enable bit in the GIMSK register. Then, the ISC2 bit can be changed. Finally, the INT2 interrupt flag should be cleared by writing a logical one
to its Interrupt Flag bit in the GIFR register before the interrupt is re-enabled.”
12-36
At the end of the Power Save Mode section, add the paragraph “If the asynchronous timer is NOT clocked asynchronously, Power Down Mode is recommended instead of Power Save Mode because the contents of the registers in the asynchronous timer should be considered undefined after wake up in Power Save Mode even if AS2 is
0.”
12-46
Replace last paragraph on page,
“When asynchronous operation is selected, the 32 kHz oscillator for Timer/Counter2 is always running, except in power down
mode. After a power up reset or wake-up from power down, the user should be aware of the fact that this oscillator might take
as long as one second to stabilize. Therefore, the content of all Timer/Counter2 registers must be considered lost after a wakeup from power down, due to the unstable clock signal. The user is advised to wait for at least one second before using
Timer/Counter2 after power-up or wake-up from power down.”
by
“When the asynchronous operation is selected, the 32 kHZ oscillator for Timer/Counter2 is always running, except in power
down mode. After a power up reset or wake-up from power down, the user should be aware of the fact that this oscillator
might take as long as one second to stabilize. The user is advised to wait for at least one second before using Timer/Counter2
after power-up or wake-up from power down. The contents of all Timer/Counter2 registers must be considered lost after a
wake-up from power down due to unstable clock signal upon start-up, regardless of whether the oscillator is in use or a clock
signal is applied to the TOSC pin.”
12-55
In the note for Table 20, add “To avoid unintentional MCU resets, the Watchdog Timer should be disabled or reset
before changing the Watchdog Timer Prescale Select.”
12-56
In the EEPROM Read/Write Access description, replace the second sentence “The write access time is in the
range of 2.5 - 4 ms, depending on the Vcc voltages” by “The write access time is in the range of 1.9 - 3.4 ms,
depending of the frequency of the RC oscillator used to time the EEPROM access time. See table 21 for details.”
In the last sentence of the EEPROM Read/Write Access description, replace “When the EEPROM is read or written, the CPU is halted for two clock cycles before the next instruction is executed.” by “When the EEPROM is written, the CPU is halted for two clock cycles before the next instruction is executed. When the EEPROM is read, the
CPU is halted for four clock cycles before the next instruction is executed.”
In the EEPROM Control Register description, change the initial value of EEWE from “0” to “X”.
12-57
In the description of bit 1 - EEWE: EEPROM write Enable, replace “When the write access time (typically 2.5 ms at
Vcc = 5V or 4 ms at Vcc = 2.7V) has elapsed, “ by “When the write access time has elapsed, “
In the Bit1 - EEWE: EEPROM Write Enable description, change “4. Write a logical one to the EEMWE bit in
EECR” to “4. Write a logical one to the EEMWE bit in EECR (to be able to write a logical one to the EEMWE bit, the
EEWE bit must be written to zero in the same cycle).”
Under “Prevent EEPROM corruption”, note 3 replace the text: “Flash memory can not be updated by the CPU,
and will not be subject to corruption.” by “Flash memory can not be updated by the CPU unless the boot loader
software supports writing to the FLASH and the Boot Lock bits are configured so that writing to the FLASH memory
from CPU is allowed. See Boot Loader Support on page 12-98 for details.”
30
Data Book Updates and Changes
Data Book Updates and Changes
Add the text and table below to the EEPROM Read/Write section:
“An RC-oscillator is used to time EEPROM write access. In table 21 is the typical programming time listed for
EEPROM access from CPU.”
Table 21:
Symbol
Number of RCosc. cycles
Min programming time
Max programming time
EEPROM
write (from
CPU)
2048
2.0ms
3.4ms
Note:
See “Typical characteristics” to find typical RC-osc. frequency.
12-72
In the Analog Comparator Control and Status Register description, change the initial value of ACO from “0” to
“N/A”. Also change Read/Write status of AINBG from “R” to “R/W”.
12-79
In the Port A Input Pins Address - PINA description, change the Initial Values from “Hi-Z” to “N/A”.
12-81
In the Port B Input Pins Address - PINB description, change the Initial Values from “Hi-Z” to “N/A”.
12-87
In the Port C Input Pins Address - PINC description, change the Initial Values from “Hi-Z” to “N/A”.
12-89
In the Port D Input Pins Address - PIND description, change the Initial Values from “Hi-Z” to “N/A”.
12-94
In the Port E Input Pins Address - PINE description, change the Initial Values from “Hi-Z” to “N/A”.
12-98
Replace table 36 by:
BLB0 mode
BLB02
BLB01
1
1
1
No restrictions for SPM, LPM accessing the Application section
2
1
0
SPM is not allowed to write to the Application section
3
0
0
SPM is not allowed to write to the Application section, and LPM executing from the Boot
Loader section is not allowed to read from the Application section
4
0
1
LPM executing from the Boot Loader section is not allowed to read from the Application
section
12-98
Protection
Replace table 37 by:
BLB1 mode
BLB12
BLB11
1
1
1
No restrictions for SPM, LPM accessing the Boot Loader section
2
1
0
SPM is not allowed to write to the Boot Loader section
3
0
0
SPM is not allowed to write to the Boot Loader section, and LPM executing from the
Application section is not allowed to read from the Boot Loader section
4
0
1
LPM executing from the Application section is not allowed to read from the Boot Loader
section
12-99
Protection
In the section describing “Self-programming the Flash”, replace “The CPU is halted both during page erase and
during page write” by “The CPU is halted both during page erase and during page write and the SPMEN bit in the
SPMCR register will be auto-cleared. For future compatibility, however, it is recommended that the user software
verifies that the SPMEN bit is cleared before starting a new page-erase, page-write, or writing the lock-bits com-
31
mand. See code example below. It is essential that the page address used in both the page erase and page write
operation is addressing the same page.”
12-99
Add this text to the bottom of the “Perform a page write” sub-section: “When a page write operation is completed,
the Z pointer will point to the first word in the successive page.”
Code example:
Wait:
in
sbrc
rjmp
ldi
out
spm
r16,SPMCR ; read SPMCR register
r16,SPMEN ; Wait for SPMEN to be cleared (indicates that previous write operation is completed)
Wait
; if not cleared, keep waiting
r16,(1<<PGWRT) + (1<<SPMEN) ; The previous writing is completed, set up for next erase
SPMCR,r16 ; output to register
; start the erase operation
12-102 Replace table 39 by:
Memory Lock Bits
Protection Type
LB mode
LB1
LB2
1
1
1
No memory lock features enabled
2
0
1
Further programming of the Flash and EEPROM is disabled in parallel and serial programming mode. The
Fuse bits are locked in both serial and parallel programming mode.(1)
3
0
0
Further programming and verification of the Flash and EEPROM is disabled in parallel and serial
programming mode. The Fuse bits are locked in both serial and parallel programming mode.(1)
BLB0 mode
BLB02
BLB01
1
1
1
No restrictions for SPM, LPM accessing the Application section
2
1
0
SPM is not allowed to write to the Application section
3
0
0
SPM is not allowed to write to the Application section, and LPM executing from the Boot Loader
section is not allowed to read from the Application section
4
0
1
LPM executing from the Boot Loader section is not allowed to read from the Application section
BLB1 mode
BLB12
BLB11
1
1
1
No restrictions for SPM, LPM accessing the Boot Loader section
2
1
0
SPM is not allowed to write to the Boot Loader section
3
0
0
SPM is not allowed to write to the Boot Loader section, and LPM executing from the Application
section is not allowed to read from the Boot Loader section
4
0
1
LPM executing from the Application section is not allowed to read from the Boot Loader section
12-111 Replace the following parameters in table 44 by these values:
tWLRH
WR Low to RDY/BSY High
1
1.7
ms
tWLRH_CE
WR Low to RDY/BSY High for Chip Erase
16
28
ms
tWLRH_FLASH
WR Low to RDY/BSY High for Write Flash
8
14
ms
32
Data Book Updates and Changes
Data Book Updates and Changes
12-113 Replace table 45 by:
Symbol
Minimum Wait Delay
tWD_FLASH
14 ms
tWD_EEPROM
3.4 ms
and add this table:
Table 46 Minimum wait delay after a chip erase command
Symbol
Minimum Wait Delay
tWD_ERASE
28 ms
12-114 Replace the row “Write Fuse Bits” in table 46 by
1010 1100
Write Fuse Bits
101x xxxx
xxxx xxxx
1D1B A987
Set bits D - A, 9 - 7 = ’0’ to program,
‘1’ to unprogram
12-116: Replace the row below in DC characteristics:
VACIO
Analog Comparator
Input Offset Voltage
VCC = 5V
40
mV
Analog Comparator
Input Offset Voltage
VCC = 5V
Vin = VCC /2
40
mV
by:
VACIO
12-123 Add this text: “The characterization data is not tested during manufacturing.”.
12-129 In Register summary, replace the rows TIMSK and TIFR by
$39 ($59)
$38 ($58)
TIMSK
TIFR
TOIE1
TOV1
OCIE1A
OCF1A
OCIE1B
OCF1B
TOIE2
TOV2
TICIE1
ICF1
OCIE2
OCFI2
TOIE0
TOV0
OCIE0
OCIF0
page 12-32
page 12-33
12-129 In Register summary, replace “12-12-xx” by “12-xx”.
33
ATmega603/603/L and ATmega103/103L
The latest data sheet on the web is rev. 0945E-12/99.
The data sheet in the printed data book is rev. 0945D-06/99.
Changes in the ATmega103/103L data sheet on the web
None.
Changes in the ATmega103/103L section in the data book
Page: Change or Add:
13-5
Some text and symbols are outside the visible figure frame. The complete figure is given below.
Figure 1. The ATmega603/103 Block Diagram
PF0 - PF7
PA0 - PA7
PC0 - PC7
PORTA DRIVER/BUFFERS
PORTC DRIVERS
VCC
GND
PORTF BUFFERS
AVCC
ANALOG MUX
ADC
DATA REGISTER
PORTA
DATA DIR.
REG. PORTA
DATA REGISTER
PORTC
8-BIT DATA BUS
AGND
XTAL1
AREF
INTERNAL
OSCILLATOR
OSCILLATOR
XTAL1
PROGRAM
COUNTER
STACK
POINTER
WATCHDOG
TIMER
OSCILLATOR
TOSC2
PROGRAM
FLASH
SRAM
MCU CONTROL
REGISTER
TIMING AND
CONTROL
TOSC1
INSTRUCTION
REGISTER
INSTRUCTION
DECODER
+
-
ANALOG
COMPARATOR
CONTROL
LINES
DATA REGISTER
PORTE
DATA DIR.
REG. PORTE
RESET
ALE
TIMER/
COUNTERS
GENERAL
PURPOSE
REGISTERS
WR
RD
X
Y
Z
INTERRUPT
UNIT
ALU
EEPROM
STATUS
REGISTER
PROGRAMMING
LOGIC
SPI
UART
DATA REGISTER
PORTB
DATA DIR.
REG. PORTB
PEN
DATA REGISTER
PORTD
DATA DIR.
REG. PORTD
VCC
PORTE DRIVER/BUFFERS
PORTB DRIVER/BUFFERS
PORTD DRIVER/BUFFERS
GND
PE0 - PE7
34
PB0 - PB7
PD0 - PD7
Data Book Updates and Changes
Data Book Updates and Changes
13-7
Replace description of AVCC, “This is the supply voltage to the A/D Converter. It should be externally connected to
VCC via a low-pass filter. See page 13-68 for details on operation of the ADC“ by “Supply voltage for PortF, including ADC. The pin must be connected to Vcc when not used for the ADC. See ADC Noise Canceling Techniques
on page 13-78 for details when using the ADC“
13-7
In description of PEN, delete “low-voltage”.
13-19
In Figure 19, add a box containing “+1” as an input to the summation operator.
13-33
Table 10: remove this note: “Note: X=7, 6, 5 or 4. When changing the ISCX1/ISCX0 bits, the interrupt must be disabled by clearing its Interrupt Enable bit in the GIMSK register. Otherwise an interrupt can occur when the bits are
changed.”
13-36
At the end of the Power Save Mode section, add the paragraph “If the asynchronous timer is NOT clocked asynchronously, Power Down Mode is recommended instead of Power Save Mode because the contents of the registers in the asynchronous timer should be considered undefined after wake up in Power Save Mode even if AS0 is
0.”.
13-40
In line number 4 from the bottom, delete one “, 0“ from “| C, 0, 0, 0, 0, 0, 0, 0, 0|”.
13-44
Replace last paragraph on page,
“When asynchronous operation is selected, the 32 kHz oscillator for Timer/Counter0 is always running, except in
power down mode. After a power up reset or wake-up from power down, the user should be aware of the fact that
this oscillator might take as long as one second to stabilize. Therefore, the content of all Timer/Counter0 registers
must be considered lost after a wake-up from power down, due to the unstable clock signal. The user is advised to
wait for at least one second before using Timer/Counter0 after power-up or wake-up from power down.”
by
“When the asynchronous operation is selected, the 32kHz oscillator for Timer/Counter0 is always running, except
in power down mode. After a power up reset or wake-up from power down, the user should be aware of the fact
that this oscillator might take as long as one second to stabilize. The user is advised to wait for at least one second
before using Timer/Counter0 after power-up or wake-up from power down. The contents of all Timer/Counter0 registers must be considered lost after a wake-up from power down due to unstable clock signal upon start-up, regardless of whether the oscillator is in use or a clock signal is applied to the TOSC pin.”
13-52
After “This is shown in Table 21”, add paragraph “Note: If the compare register contains the TOP value and the
prescaler is not in use (CS12..CS10 = 001), the PWM output will not produce any pulse at all, because the upcounting and down-counting values are reached simultaneously. When the prescaler is in use (CS12..CS10 ≠ 001
or 000), the PWM output goes active when the counter reaches the TOP value, but the down-counting compare
match is not interpreted to be reached before the next time the counter reaches the TOP-value, making a oneperiod PWM pulse.”
13-54
In the note for Table 22, add “To avoid unintentional MCU resets, the Watchdog Timer should be disabled or reset
before changing the Watchdog Timer Prescale Select.”
13-55
In the Bit1 - EEWE: EEPROM Write Enable description, change “4. Write a logical one to the EEMWE bit in
EECR” to “4. Write a logical one to the EEMWE bit in EECR (to be able to write a logical one to the EEMWE bit, the
EEWE bit must be written to zero in the same cycle).”
13-59
Replace figure 39 and 40 by
35
Figure 39. SPI Transfer Format with CPHA = 0 and DORD = 0
SCK CYCLE #
(FOR REFERENCE)
1
2
3
4
5
6
7
8
SCK (CPOL=0)
SCK (CPOL=1)
MOSI
(FROM MASTER)
MISO
(FROM SLAVE)
MSB
MSB
6
5
4
3
2
1
LSB
6
5
4
3
2
1
LSB
*
SS (TO SLAVE)
SAMPLE
* Not defined but normally MSB of character just received.
Figure 40. SPI Transfer Format with CPHA = 1 and DORD = 0
SCK CYCLE #
(FOR REFERENCE)
1
2
3
4
5
6
7
8
SCK (CPOL=0)
SCK (CPOL=1)
MOSI
(FROM MASTER)
MISO
(FROM SLAVE)
*
MSB
6
5
4
3
2
1
MSB
6
5
4
3
2
1
LSB
LSB
SS (TO SLAVE)
SAMPLE
* Not defined but normally LSB of previously transmitted character.
13-67
In Analog Comparator Control and Status Register - ACSR, change the initial value of ACO from “0” to “X”.
13-74
At end of page, add the note ”Note: If a read is followed by a write, or opposite, there is no extra insertion of waitstates in-between. Since such short time for releasing the bus is difficult to obtain without making bus contention,
the user might insert a NOP between consecutive read and write operation to the external RAM.
13-77
In the Port A Input Pins Address - PINA description, change the Initial Values from “Hi-Z” to “N/A”.
13-79
In the Port B Input Pins Address - PINB description, change the Initial Values from “Hi-Z” to “N/A”.
13-86
In the Port D Input Pins Address - PIND description, change the Initial Values from “Hi-Z” to “N/A”.
13-89
In the Port E Input Pins Address - PINE description, change the Initial Values from “Hi-Z” to “N/A”.
13-93
In the Port F Input Pins Address - PINF description, change the Initial Values from “Hi-Z” to “N/A”.
13-95
Replace the table for Supply voltage during programming with the following:
Table
Part
Serial programming
Parallel programming
ATmega103
4.0 - 5.0V
4.0 - 5.0V
ATmega103L
3.2 - 3.6V
3.2 - 5.0V
13-108 In Table for DC Characteristics, replace the entry
36
Data Book Updates and Changes
Data Book Updates and Changes
VACIO
Analog Comp
Input Offset V
VCC = 5V
40
mV
Analog Comp
Input Offset V
VCC = 5V
VIN = VCC/2
40
mV
by
VACIO
13-110 In the table for “Data Memory Charactheristics, 2.7-3.6 Volts, No Wait State” replace the entry:
4
tAVLLC
Address Valid C to ALE Low
75.0
0.5tCLCL-50.0(1)
ns
Address Valid C to ALE Low
60.0
0.5tCLCL-65.0(1)
ns
by
4
tAVLLC
13-112 In the first line, change “These data are characterized, but not tested.” to “These figures are not tested during manufacturing.”.
13-123 In the Register Summary, replace the entry
$06 ($26)
ADCSR
ADES
ABSY
ADRF
ADIF
ADIE
ADPS2
ADPS1
ADPS0
page 13-72
ADEN
ADSC
-
ADIF
ADIE
ADPS2
ADPS1
ADPS0
page 13-72
by the entry
$06 ($26)
ADCSR
37
Instruction Set
The latest instruction set manual on the web is rev. 0856B-06/99.
The instruction set manual in the printed data book is rev. 0856B-06/99.
Changes in the Instruction Set Manual:
Page: Change or Add:
14-...
The MUL, MULS, MULSU, FMUL, FMULS, FMULSU, EIJMP, JMP, EICALL, CALL, MOVW, LDD, STD, LDS, STS,
ELPM, SPM, PUSH, and POP instructions are not implemented in all devices. Add the following note to the last
column of their respective rows of the instruction set summary, and as the last paragraph before the Operation
description of each instruction description: “This instruction is not available in all devices. Refer to the device specific instruction set summary.”
14-...
Some variants of the LD and ST instructions are not implemented in all devices. Add the following note to the last
column of their respective rows of the instruction set summary, and as the last paragraph before the Operation
description of each instruction description: “Not all variants of this instruction is available in all devices. Refer to the
device specific instruction set summary.”
14-11, 14-83 Some variants of the LPM instruction are not implemented in all devices. Furthermore, the LPM instruction is
not implemented at all in the AT90S1200 device. Add the following note to the last column of the LPM row of the
instruction set summary, and as the last paragraph before the Operation description of the LPM instruction
description: “Not all variants of the LPM instruction are available in all devices. Refer to the device specific instruction set summary. The LPM instruction is not implemented at all in the AT90S1200 device.”
14-10
In the Operation column of the STS row, change “Rd ← (k)” to “(k) ← Rd”
14-11, 14-65, 14-66 The ESPM instruction is not required and not implemented, as the SPM instruction can access the
entire program memory (see below). Remove the ESPM description.
14-63
In the ELPM description, add this paragraph after the first paragraph: “Devices with Self-Programming capability
can use the ELPM instruction to read the fuse and lock bit values. Refer to the device documentation for a detailed
description.”
14-67
In the FMUL description, insert the following paragraph after the paragraph starting with “Let (N.Q) denote a fractional number”: “The (1.7) format is most commonly used with signed numbers, while FMUL performs an unsigned
multiplication. This instruction is therefore most useful for calculating one of the partial products when performing a
signed multiplication with 16-bit inputs in the (1.15) format, yielding a result in the (1.31) format. Note: the result of
the FMUL operation may suffer from a 2's complement overflow if interpreted as a number in the (1.15) format. The
MSB of the multiplication before shifting must be taken into account, and is found in the carry bit. See the following
example.”
Replace the example with the following example (which illustrates the intended usage):
;******************************************************************************
;* DESCRIPTION
;*
Signed fractional multiply of two 16-bit numbers with 32-bit result.
;* USAGE
;*
r19:r18:r17:r16 = ( r23:r22 * r21:r20 ) << 1
;******************************************************************************
fmuls16x16_32:
38
clr
r2
fmuls
r23, r21
movw
r19:r18, r1:r0
;((signed)ah * (signed)bh) << 1
Data Book Updates and Changes
Data Book Updates and Changes
14-68
fmul
r22, r20
adc
r18, r2
movw
r17:r16, r1:r0
fmulsu
r23, r20
sbc
r19, r2
add
r17, r0
adc
r18, r1
adc
r19, r2
fmulsu
r21, r22
sbc
r19, r2
add
r17, r0
adc
r18, r1
adc
r19, r2
;(al * bl) << 1
;((signed)ah * bl) << 1
;((signed)bh * al) << 1
In the FMULS description, insert the following paragraph before the Operation description: “Note that when multiplying 0x80 (-1) with 0x80 (-1), the result of the shift operation is 0x8000 (-1). The shift operation thus gives a two’s
complement overflow. This must be checked and handled by software.”
Change “FMUL” in the Syntax description to “FMULS”.
14-69
In the FMULSU description, insert the following paragraph after the paragraph starting with “Let (N.Q) denote a
fractional number”: “The (1.7) format is most commonly used with signed numbers, while FMULSU performs a multiplication with one unsigned and one signed input. This instruction is therefore most useful for calculating two of
the partial products when performing a signed multiplication with 16-bit inputs in the (1.15) format, yielding a result
in the (1.31) format. Note: the result of the FMULSU operation may suffer from a 2's complement overflow if interpreted as a number in the (1.15) format. The MSB of the multiplication before shifting must be taken into account,
and is found in the carry bit. See the following example.”
Replace the example with the following example (which illustrates the intended usage):
;******************************************************************************
;* DESCRIPTION
;*
Signed fractional multiply of two 16-bit numbers with 32-bit result.
;* USAGE
;*
r19:r18:r17:r16 = ( r23:r22 * r21:r20 ) << 1
;******************************************************************************
fmuls16x16_32:
clr
r2
fmuls
r23, r21
movw
r19:r18, r1:r0
fmul
r22, r20
adc
r18, r2
movw
r17:r16, r1:r0
fmulsu
r23, r20
sbc
r19, r2
add
r17, r0
adc
r18, r1
adc
r19, r2
fmulsu
r21, r22
sbc
r19, r2
add
r17, r0
adc
r18, r1
adc
r19, r2
;((signed)ah * (signed)bh) << 1
;(al * bl) << 1
;((signed)ah * bl) << 1
;((signed)bh * al) << 1
39
14-75
In the LD(X) description, change the last sentence of the third paragraph from “The RAMPX register in the I/O area
is updated in parts with more than 64K bytes data space.” to “The RAMPX register in the I/O area is updated in
parts with more than 64K bytes data space or more than 64K bytes program memory, and the displacement is
added to the entire 24-bit address on such devices.”
14-77
In the LD(Y) description, change the last sentence of the third paragraph from “The RAMPY register in the I/O area
is updated in parts with more than 64K bytes data space.” to “The RAMPY register in the I/O area is updated in
parts with more than 64K bytes data space or more than 64K bytes program memory, and the displacement is
added to the entire 24-bit address on such devices.”
14-79
In the LD(Z) description, the last three sentences of the third paragraph are incorrect, starting with “The RAMPZ
register in the I/O area is updated in parts with more than 64K bytes data space, and that the displacement...”.
Change these sentences to “The RAMPY register in the I/O area is updated in parts with more than 64K bytes data
space or more than 64K bytes program memory, and the displacement is added to the entire 24-bit address on
such devices.”
14-83
In the LPM description, add this paragraph after the first paragraph: “Devices with Self-Programming capability can
use the LPM instruction to read the fuse and lock bit values. Refer to the device documentation for a detailed
description.”
14-90
In the MULSU description, replace the example with the following example:
;******************************************************************************
;* DESCRIPTION
;*
Signed multiply of two 16-bit numbers with 32-bit result.
;* USAGE
;*
r19:r18:r17:r16 = r23:r22 * r21:r20
;******************************************************************************
muls16x16_32:
clr
r2
muls
r23, r21
movw
r19:r18, r1:r0
mul
r22, r20
movw
r17:r16, r1:r0
mulsu
r23, r20
sbc
r19, r2
add
r17, r0
adc
r18, r1
adc
r19, r2
mulsu
r21, r22
sbc
r19, r2
add
r17, r0
adc
r18, r1
adc
r19, r2
; (signed)ah * (signed)bh
; al * bl
; (signed)ah * bl
; (signed)bh * al
ret
14-124 In the SPM description, at the end of the sentence “When writing the program memory, the Z register is used as
page or word address, and the R1:R0 register pair is used as data“, add the footnote “R1 determines the instruction high byte, and R0 determines the instruction low byte.”
14-124 In the SPM description, SPM is limited to the first 64 kB of program memory. This is not correct, SPM can access
the entire program memory, and uses the RAMPZ register together with the Z register. Consequently:
- In the first paragraph, change the last sentence to “This instruction can address the entire program memory.”
- In the first paragraph, change “the Z register” to “the RAMPZ and Z registers”.
- In the Operation description, change “(Z) to “(RAMPZ:Z)”.
40
Data Book Updates and Changes
Data Book Updates and Changes
For compatibility with future devices, it is recommended to poll the SPMEN bit in the SPMCR I/O register before
executing an SPM instruction. Replace the code example with the following (which shows code for parts with page
write, and includes a verify-loop):
;This example shows SPM write of one page for devices with page write
;- the routine writes one page of data from RAM to Flash
;
the first data location in RAM is pointed to by the Y pointer
;
the first data location in Flash is pointed to by the Z pointer
;- error handling is not included
;- the routine must be placed inside the boot space
;
(at least the do_spm sub routine)
;- registers used: r0, r1, temp1, temp2, looplo, loophi, spmcrval
;.equ
;
storing and restoring of registers is not included in the routine
;
register usage can be optimized at the expense of code size
PAGESIZEB = PAGESIZE*2;PAGESIZEB is page size in BYTES, not words
.org SMALLBOOTSTART
write_page:
;page erase
ldi
spmcrval, (1<<PGERS) + (1<<SPMEN)
call
do_spm
;transfer data from RAM to Flash page buffer
wrloop:
ldi
looplo, low(PAGESIZEB)
;init loop variable
ldi
loophi, high(PAGESIZEB)
;not required for PAGESIZEB<=256
ld
r0, Y+
ld
r1, Y+
ldi
spmcrval, (1<<SPMEN)
call
do_spm
adiw
ZH:ZL, 2
sbiw
loophi:looplo, 2
brne
wrloop
;use subi for PAGESIZEB<=256
;execute page write
subi
ZL, low(PAGESIZEB);restore pointer
sbci
ZH, high(PAGESIZEB)
ldi
spmcrval, (1<<PGWRT) + (1<<SPMEN)
call
do_spm
;not required for PAGESIZEB<=256
;read back and check, optional
rdloop:
ldi
looplo, low(PAGESIZEB)
;init loop variable
ldi
loophi, high(PAGESIZEB)
;not required for PAGESIZEB<=256
subi
YL, low(PAGESIZEB)
;restore pointer
sbci
YH, high(PAGESIZEB)
lpm
r0, Z+
ld
r1, Y+
cpse
r0, r1
jmp
error
sbiw
loophi:looplo, 2
brne
rdloop
;use subi for PAGESIZEB<=256
41
;return
ret
do_spm:
;input: spmcrval determines SPM action
;disable interrupts if enabled, store status
in
temp2, SREG
cli
;check for previous SPM complete
wait:
in
temp1, SPMCR
sbrc
temp1, SPMEN
rjmp
wait
;SPM timed sequence
out
SPMCR, spmcrval
spm
;restore SREG (to enable interrupts if originally enabled)
out
SREG, temp2
ret
14-125 In the ST(X) description, change the last sentence of the third paragraph from “The RAMPX register in the I/O area
is updated in parts with more than 64K bytes data space.” to “The RAMPX register in the I/O area is updated in
parts with more than 64K bytes data space or more than 64K bytes program memory, and the displacement is
added to the entire 24-bit address on such devices.”
14-127 In the ST(Y) description, change the last sentence of the third paragraph from “The RAMPY register in the I/O area
is updated in parts with more than 64K bytes data space.” to “The RAMPY register in the I/O area is updated in
parts with more than 64K bytes data space or more than 64K bytes program memory, and the displacement is
added to the entire 24-bit address on such devices.”
14-129 In the ST(Z) description, the last three sentences of the third paragraph are incorrect, starting with “The RAMPZ
register in the I/O area is updated in parts with more than 64K bytes data space, and the displacement...”. Change
these sentences to “The RAMPY register in the I/O area is updated in parts with more than 64K bytes data space
or more than 64K bytes program memory, and the displacement is added to the entire 24-bit address on such
devices.”
42
Data Book Updates and Changes