Datasheet

22
ATmega48/88/168
2545DS–AVR–07/04
Errata ATmega168 The revision letter in this section refers to the revision of the ATmega168 device.
Rev A Wrong values read after Erase Only operation
Part may hang in reset
1. Wrong values read after Erase Only operation
At supply voltages below 2.7 V, an EEPROM location that is erased by the Erase
Only operation may read as programmed (0x00).
Problem Fix/Workaround
If it is necessary to read an EEPROM location after Erase Only, use an Atomic Write
operation with 0xFF as data in order to erase a location. In any case, the Write Only
operation can be used as intended. Thus no special considerations are needed as
long as the erased location is not read before it is programmed.
2. Part may hang in reset
Some parts may get stuck in a reset state when a reset signal is applied when the
internal reset state-machine is in a specific state. The internal reset state-machine is
in this state for approximately 10 ns immediately before the part wakes up after a
reset, and in a 10 ns window when altering the system clock prescaler. The problem
is most often seen during In-System Programming of the device. There are theoreti-
cal possibilities of this happening also in run-mode. The following three cases can
trigger the device to get stuck in a reset-state:
- Two succeeding resets are applied where the second reset occurs in the 10ns win-
dow before the device is out of the reset-state caused by the first reset.
- A reset is applied in a 10 ns window while the system clock prescaler value is
updated by software.
- Leaving SPI-programming mode generates an internal reset signal that can trigger
this case.
The two first cases can occur during normal operating mode, while the last case
occurs only during programming of the device.
Problem Fix/Workaround
The first case can be avoided during run-mode by ensuring that only one reset
source is active. If an external reset push button is used, the reset start-up time
should be selected such that the reset line is fully debounced during the start-up
time.
The second case can be avoided by not using the system clock prescaler.
The third case occurs during In-System programming only. It is most frequently
seen when using the internal RC at maximum frequency.
If the device gets stuck in the reset-state, turn power off, then on again to get the
device out of this state.