
- •1. Pin Configurations
- •1.1 Disclaimer
- •2. Overview
- •2.1 Block Diagram
- •2.2 Pin Descriptions
- •2.2.3 Port B (PB3...PB0)
- •2.2.4 RESET
- •2.2.5 Port A (PA7...PA0)
- •3. Resources
- •4. About Code Examples
- •5. CPU Core
- •5.1 Overview
- •5.2 Architectural Overview
- •5.4 Status Register
- •5.5 General Purpose Register File
- •5.6 Stack Pointer
- •5.7 Instruction Execution Timing
- •5.8 Reset and Interrupt Handling
- •5.8.1 Interrupt Response Time
- •6. Memories
- •6.2 SRAM Data Memory
- •6.2.1 Data Memory Access Times
- •6.3 EEPROM Data Memory
- •6.3.1 EEPROM Read/Write Access
- •6.3.2 Atomic Byte Programming
- •6.3.3 Split Byte Programming
- •6.3.4 Erase
- •6.3.5 Write
- •6.3.6 Preventing EEPROM Corruption
- •6.4 I/O Memory
- •6.4.1 General Purpose I/O Registers
- •6.5 Register Description
- •7. System Clock and Clock Options
- •7.1 Clock Systems and their Distribution
- •7.2 Clock Sources
- •7.3 Default Clock Source
- •7.4 Crystal Oscillator
- •7.6 Calibrated Internal RC Oscillator
- •7.7 External Clock
- •7.8 128 kHz Internal Oscillator
- •7.9 System Clock Prescaler
- •7.9.1 Switching Time
- •7.10 Register Description
- •8. Power Management and Sleep Modes
- •8.1 Sleep Modes
- •8.2 Idle Mode
- •8.3 ADC Noise Reduction Mode
- •8.5 Standby Mode
- •8.6 Power Reduction Register
- •8.7 Minimizing Power Consumption
- •8.7.1 Analog to Digital Converter
- •8.7.2 Analog Comparator
- •8.7.4 Internal Voltage Reference
- •8.7.5 Watchdog Timer
- •8.7.6 Port Pins
- •8.8 Register Description
- •9. System Control and Reset
- •9.0.1 Resetting the AVR
- •9.0.2 Reset Sources
- •9.0.3 Power-on Reset
- •9.0.4 External Reset
- •9.0.6 Watchdog Reset
- •9.1 Internal Voltage Reference
- •9.2 Watchdog Timer
- •9.3 Timed Sequences for Changing the Configuration of the Watchdog Timer
- •9.3.1 Safety Level 1
- •9.3.2 Safety Level 2
- •9.4 Register Description
- •10. Interrupts
- •10.1 Interrupt Vectors
- •11. External Interrupts
- •11.1 Pin Change Interrupt Timing
- •11.2 Register Description
- •12. I/O Ports
- •12.1 Overview
- •12.2 Ports as General Digital I/O
- •12.2.1 Configuring the Pin
- •12.2.2 Toggling the Pin
- •12.2.3 Switching Between Input and Output
- •12.2.4 Reading the Pin Value
- •12.2.5 Digital Input Enable and Sleep Modes
- •12.2.6 Unconnected Pins
- •12.3 Alternate Port Functions
- •12.3.1 Alternate Functions of Port A
- •12.3.2 Alternate Functions of Port B
- •12.4 Register Description
- •13. 8-bit Timer/Counter0 with PWM
- •13.1 Features
- •13.2 Overview
- •13.2.1 Registers
- •13.2.2 Definitions
- •13.3 Timer/Counter Clock Sources
- •13.4 Counter Unit
- •13.5 Output Compare Unit
- •13.5.1 Force Output Compare
- •13.5.2 Compare Match Blocking by TCNT0 Write
- •13.5.3 Using the Output Compare Unit
- •13.6 Compare Match Output Unit
- •13.6.1 Compare Output Mode and Waveform Generation
- •13.7 Modes of Operation
- •13.7.1 Normal Mode
- •13.7.2 Clear Timer on Compare Match (CTC) Mode
- •13.7.3 Fast PWM Mode
- •13.7.4 Phase Correct PWM Mode
- •13.8 Timer/Counter Timing Diagrams
- •13.9 Register Description
- •14. 16-bit Timer/Counter1
- •14.1 Features
- •14.2 Overview
- •14.2.1 Registers
- •14.2.2 Definitions
- •14.2.3 Compatibility
- •14.3.1 Reusing the Temporary High Byte Register
- •14.4 Timer/Counter Clock Sources
- •14.5 Counter Unit
- •14.6 Input Capture Unit
- •14.6.1 Input Capture Trigger Source
- •14.6.2 Noise Canceler
- •14.6.3 Using the Input Capture Unit
- •14.7 Output Compare Units
- •14.7.1 Force Output Compare
- •14.7.2 Compare Match Blocking by TCNT1 Write
- •14.7.3 Using the Output Compare Unit
- •14.8 Compare Match Output Unit
- •14.8.1 Compare Output Mode and Waveform Generation
- •14.9 Modes of Operation
- •14.9.1 Normal Mode
- •14.9.2 Clear Timer on Compare Match (CTC) Mode
- •14.9.3 Fast PWM Mode
- •14.9.4 Phase Correct PWM Mode
- •14.9.5 Phase and Frequency Correct PWM Mode
- •14.10 Timer/Counter Timing Diagrams
- •14.11 Register Description
- •15. Timer/Counter Prescaler
- •15.0.1 Prescaler Reset
- •15.0.2 External Clock Source
- •15.1 Register Description
- •16.1 Features
- •16.2 Overview
- •16.3 Functional Descriptions
- •16.3.2 SPI Master Operation Example
- •16.3.3 SPI Slave Operation Example
- •16.3.5 Start Condition Detector
- •16.3.6 Clock speed considerations
- •16.4 Alternative USI Usage
- •16.4.4 Edge Triggered External Interrupt
- •16.4.5 Software Interrupt
- •16.5 Register Descriptions
- •17. Analog Comparator
- •17.1 Analog Comparator Multiplexed Input
- •17.2 Register Description
- •18. Analog to Digital Converter
- •18.1 Features
- •18.2 Overview
- •18.3 ADC Operation
- •18.4 Starting a Conversion
- •18.5 Prescaling and Conversion Timing
- •18.6 Changing Channel or Reference Selection
- •18.6.1 ADC Input Channels
- •18.6.2 ADC Voltage Reference
- •18.7 ADC Noise Canceler
- •18.7.1 Analog Input Circuitry
- •18.7.2 Analog Noise Canceling Techniques
- •18.7.3 ADC Accuracy Definitions
- •18.8 ADC Conversion Result
- •18.8.1 Single Ended Conversion
- •18.8.2 Unipolar Differential Conversion
- •18.8.3 Bipolar Differential Conversion
- •18.9 Temperature Measurement
- •18.10 Register Description
- •18.10.3.1 ADLAR = 0
- •18.10.3.2 ADLAR = 1
- •19. debugWIRE On-chip Debug System
- •19.1 Features
- •19.2 Overview
- •19.3 Physical Interface
- •19.4 Software Break Points
- •19.5 Limitations of debugWIRE
- •19.6 Register Description
- •20. Self-Programming the Flash
- •20.0.1 Performing Page Erase by SPM
- •20.0.2 Filling the Temporary Buffer (Page Loading)
- •20.0.3 Performing a Page Write
- •20.1.1 EEPROM Write Prevents Writing to SPMCSR
- •20.1.2 Reading the Fuse and Lock Bits from Software
- •20.1.3 Preventing Flash Corruption
- •20.1.4 Programming Time for Flash when Using SPM
- •20.2 Register Description
- •21. Memory Programming
- •21.1 Program And Data Memory Lock Bits
- •21.2 Fuse Bytes
- •21.2.1 Latching of Fuses
- •21.3 Signature Bytes
- •21.4 Calibration Byte
- •21.5 Page Size
- •21.6 Serial Downloading
- •21.6.1 Serial Programming Algorithm
- •21.6.2 Serial Programming Instruction set
- •21.7 High-voltage Serial Programming
- •21.8.2 Considerations for Efficient Programming
- •21.8.3 Chip Erase
- •21.8.4 Programming the Flash
- •21.8.5 Programming the EEPROM
- •21.8.6 Reading the Flash
- •21.8.7 Reading the EEPROM
- •21.8.8 Programming and Reading the Fuse and Lock Bits
- •21.8.9 Reading the Signature Bytes and Calibration Byte
- •22. Electrical Characteristics
- •22.1 Absolute Maximum Ratings*
- •22.2 Speed Grades
- •22.3 Clock Characterizations
- •22.3.1 Calibrated Internal RC Oscillator Accuracy
- •22.3.2 External Clock Drive Waveforms
- •22.3.3 External Clock Drive
- •22.4 System and Reset Characterizations
- •22.6 Serial Programming Characteristics
- •22.7 High-voltage Serial Programming Characteristics
- •23.1 Active Supply Current
- •23.2 Idle Supply Current
- •23.3 Supply Current of IO modules
- •23.3.0.1 Example 1
- •23.5 Standby Supply Current
- •23.7 Pin Driver Strength
- •23.8 Pin Threshold and Hysteresis
- •23.9 BOD Threshold and Analog Comparator Offset
- •23.10 Internal Oscillator Speed
- •23.11 Current Consumption of Peripheral Units
- •23.12 Current Consumption in Reset and Reset Pulsewidth
- •24. Register Summary
- •25. Instruction Set Summary
- •26. Ordering Information
- •26.1 ATtiny24
- •26.2 ATtiny44
- •26.3 ATtiny84
- •27. Packaging Information
- •28. Errata
- •28.1 ATtiny24
- •28.2 ATtiny44
- •28.3 ATtiny84
- •29. Datasheet Revision History

ATtiny24/44/84
22.4System and Reset Characterizations
Table 22-3. |
Reset, Brown-out, and Internal Voltage Characteristics |
|
|
|
|
|||||||||||
Symbol |
|
Parameter |
Condition |
|
Min |
|
Typ |
Max |
Units |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
Power-on Reset Threshold |
TA = -40 - 85°C |
|
|
|
|
1.2 |
|
|
V |
||||
|
|
|
Voltage (rising) |
|
|
|
|
|
|
|||||||
VPOT |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Power-on Reset Threshold |
TA = -40 - 85°C |
|
|
|
|
1.1 |
|
|
V |
|||||
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
Voltage (falling)(1) |
|
|
|
|
|
|
|||||||
|
|
|
|
|
Pin Threshold |
|
|
|
|
|
|
|
|
|
|
|
VRST |
|
|
RESET |
VCC = 3V |
|
0.2 VCC |
|
|
0.85 VCC |
V |
||||||
|
|
Voltage |
|
|
|
|||||||||||
tRST |
|
|
Minimum pulse width on |
VCC = 3V |
|
|
|
|
900 |
|
|
ns |
||||
|
|
RESET |
Pin |
|
|
|
|
|
|
|||||||
VHYST |
|
|
Brown-out Detector |
|
|
|
|
|
|
50 |
|
|
mV |
|||
|
|
Hysteresis |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
tBOD |
|
|
Min Pulse Width on Brown- |
|
|
|
|
|
|
2 |
|
|
µs |
|||
|
|
out Reset |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VBG |
|
|
Bandgap reference voltage |
VCC = 2.7V, |
|
1.0 |
|
|
1.1 |
1.2 |
|
V |
||||
|
|
TA = 25°C |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
tBG |
|
|
Bandgap reference start-up |
VCC = 2.7V, |
|
|
|
|
40 |
70 |
|
µs |
||||
|
|
time |
TA = 25°C |
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
IBG |
|
|
Bandgap reference current |
VCC = 2.7V, |
|
|
|
|
15 |
|
|
µA |
||||
|
|
consumption |
TA = 25°C |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
Note: |
1. |
The Power-on Reset will not work unless the supply voltage has been below VPOT (falling) |
||||||||||||||
Table 22-4. |
BODLEVEL Fuse Coding(1) |
|
|
|
|
|
|
|
|
|||||||
BODLEVEL [2..0] Fuses |
|
Min VBOT |
|
Typ VBOT |
|
|
Max VBOT |
|
Units |
|||||||
|
|
|
111 |
|
|
|
|
|
BOD Disabled |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
110 |
|
|
|
|
1.8 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
101 |
|
|
|
|
2.7 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
100 |
|
|
|
|
4.3 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
011 |
|
|
|
|
2.3 |
|
|
|
|
|
V |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
010 |
|
|
|
|
2.2 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
001 |
|
|
|
|
1.9 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
000 |
|
|
|
|
2.0 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
||||||||||
Note: |
1. |
VBOT may be below nominal minimum operating voltage for some devices. For devices where |
||||||||||||||
|
|
this is the case, the device is tested down to VCC = VBOT during the production test. This guar- |
antees that a Brown-out Reset will occur before VCC drops to a voltage where correct operation of the microcontroller is no longer guaranteed.
183
8006E–AVR–09/06

22.5ADC Characteristics – Preliminary Data
Table 22-5. ADC Characteristics(1), Single Ended Channels. -40°C - 85°C
Symbol |
Parameter |
Condition |
Min |
Typ |
Max |
Units |
|
|
|
|
|
|
|
|
Resolution |
Single Ended Conversion |
|
|
10 |
Bits |
|
|
|
|
|
|
|
|
|
Single Ended Conversion |
|
|
|
|
|
|
VREF = 4V, VCC = 4V, |
|
2 |
|
LSB |
|
|
ADC clock = 200 kHz |
|
|
|
|
|
|
|
|
|
|
|
|
|
Single Ended Conversion |
|
|
|
|
|
|
VREF = 4V, VCC = 4V, |
|
3 |
|
LSB |
|
Absolute accuracy (Including |
ADC clock = 1 MHz |
|
|
|
|
|
|
|
|
|
|
|
|
Single Ended Conversion |
|
|
|
|
|
|
INL, DNL, quantization error, |
|
|
|
|
|
|
VREF = 4V, VCC = 4V, |
|
|
|
|
|
|
gain and offset error) |
|
1.5 |
|
LSB |
|
|
|
ADC clock = 200 kHz |
|
|
||
|
|
|
|
|
|
|
|
|
Noise Reduction Mode |
|
|
|
|
|
|
|
|
|
|
|
|
|
Single Ended Conversion |
|
|
|
|
|
|
VREF = 4V, VCC = 4V, |
|
2.5 |
|
LSB |
|
|
ADC clock = 1 MHz |
|
|
||
|
|
|
|
|
|
|
|
|
Noise Reduction Mode |
|
|
|
|
|
|
|
|
|
|
|
|
|
Single Ended Conversion |
|
|
|
|
|
Integral Non-linearity (INL) |
VREF = 4V, VCC = 4V, |
|
1 |
|
LSB |
|
|
ADC clock = 200 kHz |
|
|
|
|
|
|
|
|
|
|
|
|
Differential Non-linearity |
Single Ended Conversion |
|
|
|
|
|
VREF = 4V, VCC = 4V, |
|
0.5 |
|
LSB |
|
|
(DNL) |
|
|
|||
|
ADC clock = 200 kHz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Single Ended Conversion |
|
|
|
|
|
Gain Error |
VREF = 4V, VCC = 4V, |
|
2.5 |
|
LSB |
|
|
ADC clock = 200 kHz |
|
|
|
|
|
|
|
|
|
|
|
|
|
Single Ended Conversion |
|
|
|
|
|
Offset Error |
VREF = 4V, VCC = 4V, |
|
1.5 |
|
LSB |
|
|
ADC clock = 200 kHz |
|
|
|
|
|
|
|
|
|
|
|
|
Conversion Time |
Free Running Conversion |
13 |
|
260 |
µs |
|
|
|
|
|
|
|
|
Clock Frequency |
|
50 |
|
1000 |
kHz |
|
|
|
|
|
|
|
VIN |
Input Voltage |
|
GND |
|
VREF |
V |
|
Input Bandwidth |
|
|
38.5 |
|
kHz |
|
|
|
|
|
|
|
VINT |
Internal Voltage Reference |
|
1.0 |
1.1 |
1.2 |
V |
RAIN |
Analog Input Resistance |
|
|
100 |
|
MΩ |
Note: 1. |
Values are preliminary. |
|
|
|
|
|
184 ATtiny24/44/84
8006E–AVR–09/06

ATtiny24/44/84
Table 22-6. ADC Characteristics, Differential Channels, TA = -40°C to 85°C
Symbol |
Parameter |
Condition |
Min |
Typ |
Max |
Units |
|
|
|
|
|
|
|
|
Resolution |
Gain = 1x |
|
|
10 |
Bits |
|
|
|
|
|
|
|
|
Gain = 20x |
|
|
10 |
Bits |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
Gain = 1x |
|
|
|
|
|
|
VREF = 4V, VCC = 5V |
|
10 |
|
LSB |
|
Absolute Accuracy |
ADC clock = 50 - 200 kHz |
|
|
|
|
|
|
|
|
|
|
|
|
Gain = 20x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VREF = 4V, VCC = 5V |
|
16 |
|
LSB |
|
|
ADC clock = 50 - 200 kHz |
|
|
|
|
|
|
|
|
|
|
|
|
|
Gain = 1x |
|
|
|
|
|
Integral Non-Linearity (INL) |
VREF = 4V, VCC = 5V |
|
2 |
|
LSB |
|
ADC clock = 50 - 200 kHz |
|
|
|
|
|
|
(Accuracy after Calibration for Offset and |
|
|
|
|
|
|
|
|
|
|
|
|
|
Gain = 20x |
|
|
|
|
|
|
Gain Error) |
|
|
|
|
|
|
VREF = 4V, VCC = 5V |
|
4 |
|
LSB |
|
|
|
|
|
|||
|
|
ADC clock = 50 - 200 kHz |
|
|
|
|
|
|
|
|
|
|
|
|
Gain Error |
Gain = 1x |
|
2 |
|
% |
|
|
|
|
|
|
|
|
Gain = 20x |
|
2.5 |
|
% |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
Gain = 1x |
|
|
|
|
|
|
VREF = 4V, VCC = 5V |
|
4 |
|
LSB |
|
Offset Error |
ADC clock = 50 - 200 kHz |
|
|
|
|
|
|
|
|
|
|
|
|
Gain = 20x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VREF = 4V, VCC = 5V |
|
6 |
|
LSB |
|
|
ADC clock = 50 - 200 kHz |
|
|
|
|
|
|
|
|
|
|
|
|
Clock Frequency |
|
50 |
|
200 |
kHz |
|
|
|
|
|
|
|
|
Conversion Time |
|
26 |
|
65 |
µs |
|
|
|
|
|
|
|
VREF |
Reference Voltage |
|
2.0 |
|
AVCC - 0.5 |
V |
VIN |
Input Voltage |
|
GND |
|
VCC |
V |
VDIFF |
Input Differential Voltage |
|
0 |
|
VREF/Gain |
V |
|
ADC Conversion Output |
|
0 |
|
1023 |
LSB |
|
|
|
|
|
|
|
|
Input Bandwidth |
|
|
4 |
|
kHz |
|
|
|
|
|
|
|
VINT |
Internal Voltage Reference |
|
2.4 |
2.7 |
2.9 |
V |
RREF |
Reference Input Resistance |
|
|
32 |
|
kΩ |
RAIN |
Analog Input Resistance |
|
|
100 |
|
MΩ |
185
8006E–AVR–09/06

22.6Serial Programming Characteristics
Figure 22-3. Serial Programming Timing
MOSI |
|
|
|
|
tOVSH |
tSHOX |
tSLSH |
SCK |
tSHSL |
|
|
|
|
|
|
MISO |
|
|
|
|
|
|
tSLIV |
Figure 22-4. Serial Programming Waveforms |
|
|
|
SERIAL DATA INPUT |
MSB |
|
LSB |
(MOSI) |
|
|
|
SERIAL DATA OUTPUT |
MSB |
|
LSB |
(MISO) |
|
|
|
SERIAL CLOCK INPUT (SCK)
SAMPLE
Table 22-7. Serial Programming Characteristics, TA = -40°C to 85°C, VCC = 1.8 - 5.5V (Unless
Otherwise Noted)
Symbol |
Parameter |
Min |
Typ |
Max |
Units |
|
|
|
|
|
|
1/tCLCL |
Oscillator Frequency (ATtiny24/44/84V) |
0 |
|
4 |
MHz |
tCLCL |
Oscillator Period (ATtiny24/44/84V) |
250 |
|
|
ns |
1/tCLCL |
Oscillator Frequency (ATtiny24/44/84, VCC = 4.5V - |
0 |
|
20 |
MHz |
5.5V) |
|
||||
tCLCL |
Oscillator Period (ATtiny24/44/84, VCC = 4.5V - 5.5V) |
50 |
|
|
ns |
tSHSL |
SCK Pulse Width High |
2 tCLCL* |
|
|
ns |
tSLSH |
SCK Pulse Width Low |
2 tCLCL* |
|
|
ns |
tOVSH |
MOSI Setup to SCK High |
tCLCL |
|
|
ns |
tSHOX |
MOSI Hold after SCK High |
2 tCLCL |
|
|
ns |
tSLIV |
SCK Low to MISO Valid |
TBD |
TBD |
TBD |
ns |
Note: 1. |
2 tCLCL for fck < 12 MHz, 3 tCLCL for fck >= 12 MHz |
|
|
|
|
186 ATtiny24/44/84
8006E–AVR–09/06