天天看点

Atmega series of AVR microcontrollers

    As all AVR microcontrollers Atmega microcontrollers are 8 bit RISC microcontrollers. Their core are the same as tiny series, just they are more powerful and has more peripheral devices built in like:

  • Flash memory is in range 8...256kB;
  • RAM is in range 1...4kB;
  • EEPROM is from 512B to 4kB;
  • SPI interface;
  • JTAG programming and debugging interface;
  • Self programming capability (boot-loading);
  • 4 types of clocking;
  • Power down modes;
  • BOD - Brown Out Detecting;
  • Up to 27 sources of interrupts;
  • Hardware multiplier;
  • 8 bit and 16 bit timers;
  • WDT – Watch Dog Timer;
  • Up to 3 channel PWM generation;
  • Analog comparator;
  • 10 bit ADC;
  • UART and USART;
  • I2C or TWI interface.
  • Working frequencies up to 20MHz.

In the market now you can find following Atmega microcontrollers:

  • ATmega48 4K byte self-programming Flash Program Memory, 512 byte SRAM, 256 Byte EEPROM, 8 Channel 10-bit A/D-converter(TQFP/MLF). debugWIRE On-chip Debug System. Up to 20 MIPS throughput at 20 MHz.

    8Kbyte version: ATmega88

    16Kbyte version: ATmega168

    Automotive Versions:ATmega48 Auto, ATmega88 Auto, ATmega168 Auto

  • ATmega8 8-Kbyte self-programming Flash Program Memory, 1-Kbyte SRAM, 512 Byte EEPROM, 6 or 8 Channel 10-bit A/D-converter. Up to 16 MIPS throughput at 16 Mhz. 2.7 - 5.5 Volt operation.
  • ATmega88 8K Byte self-programming Flash Program Memory, 1K Byte SRAM, 512 Bytes EEPROM, 8 Channel 10-bit A/D-converter(TQFP/MLF). debugWIRE On-chip Debug System. Up to 20 MIPS throughput at 20 MHz.

    4Kbyte version: ATmega48

    16Kbyte version: ATmega168

    Automotive Versions:ATmega48 Auto, ATmega88 Auto, ATmega168 Auto

  • ATmega8515 8-Kbyte self-programming Flash Program Memory, 544 Byte internal + up to 64 Kbyte external SRAM, 512 Byte EEPROM. Up to 16 MIPS throughput at 16 Mhz. 2.7 - 5.5 Volt operation.
  • ATmega8535 8-Kbyte self-programming Flash Program Memory, 544 Byte SRAM, 512 Byte EEPROM, 8-channel 10-bit A/D Converter. Up to 16 MIPS throughput at 16 MHz. 2.7 - 5.5 Volt operation.
  • ATmega16 16-Kbyte self-programming Flash Program Memory, 1-Kbyte SRAM, 512 Byte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 Mhz. 2.7 - 5.5 Volt operation.
  • ATmega162 16-Kbyte self-programming Flash Program Memory, 1-Kbyte SRAM, 512 Byte EEPROM, JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 1.8 - 5.5 Volt operation.
  • ATmega165 16-Kbyte self-programming Flash Program Memory, 1-Kbyte SRAM, 512 Byte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 1.8 - 5.5 Volt operation.
  • ATmega165P picoPower technology AVR Microcontroller.

    16-Kbyte self-programming Flash Program Memory, 1-Kbyte SRAM, 512 Byte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 1.8 - 5.5 Volt operation.

  • ATmega168 16K Byte self-programming Flash Program Memory, 1K Byte SRAM, 512 Bytes EEPROM, 8 Channel 10-bit A/D-converter(TQFP/MLF). debugWIRE On-chip Debug System. Up to 20 MIPS throughput at 20 MHz.

    4Kbyte version: ATmega48

    8Kbyte version: ATmega88

    Automotive Versions:ATmega48 Auto, ATmega88 Auto, ATmega168 Auto

  • ATmega32 32-Kbyte self-programming Flash Program Memory, 2-Kbyte SRAM, 1-Kbyte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 Mhz. 2.7 - 5.5 Volt operation.
  • ATmega325 32-Kbyte self-programming Flash Program Memory, 2-Kbyte SRAM, 1-KByte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 1.8 - 5.5 Volt Operation.

    100-pin version: ATmega3250

    64KB/64-pin version: ATmega645

    64KB/100-pin version: ATmega6450

  • ATmega3250 32-Kbyte self-programming Flash Program Memory, 2-Kbyte SRAM, 1-KByte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 1.8 - 5.5 Volt Operation.

    64-pin version: ATmega325

    64KB/64-pin version: ATmega645

    64KB/100-pin version: ATmega6450

  • ATmega644 64-Kbyte self-programming Flash Program Memory, 4-Kbyte SRAM, 2-KByte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 20 MIPS throughput at 20 MHz. 1.8 - 5.5 Volt Operation.
  • ATmega64 64-Kbyte self-programming Flash Program Memory, 4-Kbyte SRAM, 2-Kbyte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 Mhz. 2.7 - 5.5 Volt operation.
  • ATmega645 64-Kbyte self-programming Flash Program Memory, 4-Kbyte SRAM, 2-KByte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 1.8 - 5.5 Volt Operation.

    100-pin version: ATmega6450

    32KB/64-pin version: ATmega325

    32KB/100-pin version: ATmega3250

  • ATmega6450 64-Kbyte self-programming Flash Program Memory, 4-Kbyte SRAM, 2-KByte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 1.8 - 5.5 Volt Operation.

    64-pin version: ATmega645

    32KB/64-pin version: ATmega325

    32KB/100-pin version: ATmega3250

  • ATmega640 64-Kbyte self-programming Flash Program Memory, 8-Kbyte SRAM, 4-KByte EEPROM, 16 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 1.8 - 5.5 Volt Operation.

    128KB/64-pin version: ATmega1281

    128KB/100-pin version: ATmega1280

    256KB/64-pin version: ATmega2561

    256KB/100-pin version: Atmega2560

  • ATmega128 128-Kbyte self-programming Flash Program Memory, 4-Kbyte SRAM, 4-Kbyte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 2.7 - 5.5 Volt operation.
  • ATmega1281 128-Kbyte self-programming Flash Program Memory, 8-Kbyte SRAM, 4-KByte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 1.8 - 5.5 Volt Operation.

    64KB/100-pin version: ATmega640

    128KB/100-pin version: ATmega1280

    256KB/64-pin version: ATmega2561

    256KB/100-pin version: Atmega2560

  • ATmega1280 128-Kbyte self-programming Flash Program Memory, 8-Kbyte SRAM, 4-KByte EEPROM, 16 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 1.8 - 5.5 Volt Operation.

    64KB/100-pin version: ATmega640

    128KB/64-pin version: ATmega1281

    256KB/64-pin version: ATmega2561

    256KB/100-pin version: Atmega2560

  • ATmega2561 256-Kbyte self-programming Flash Program Memory, 8-Kbyte SRAM, 4-KByte EEPROM, 8 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 1.8 - 5.5 Volt Operation.

    64KB/100-pin version: ATmega640

    128KB/64-pin version: ATmega1281

    128KB/100-pin version: ATmega1280

    256KB/100-pin version: Atmega2560

  • ATmega2560 256-Kbyte self-programming Flash Program Memory, 8-Kbyte SRAM, 4-KByte EEPROM, 16 Channel 10-bit A/D-converter. JTAG interface for on-chip-debug. Up to 16 MIPS throughput at 16 MHz. 1.8 - 5.5 Volt Operation.

    64KB/100-pin version: ATmega640

    128KB/64-pin version: ATmega1281

    128KB/100-pin version: ATmega1280

    256KB/64-pin version: ATmega2561

  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

AVR microcontrollers are 8-bit on chip systems. AVR Tiny are very impressive microcontrollers. They small from outside, but inside they are not so small. In side is the same AVR RISC architecture which is compatible to all AVR microcontrollers. They have In system Programming (ISP) Flash memory, internal EEPROM and RAM, timers, interrupt sources, analog comparator, ADC and more.

Development tools for Tiny microcontrollers are the same as for other AVR MCU.

The biggest advantage of tiny microcontrollers is that they are extremely economical.

Arithmetic-Logic Unit (ALU) performs al calculations and it is connected to 32 general purpose registers directly. Because of this ALU performs one operation in one clock cycle.

Microcontroller is Harvard architecture -this means that MCU can work with data program memory and with data memory at the same time. Comparing AVR to other RISC microcontrollers it uses 2-level conveyor allowing during execution of one command to read another command code. This is why only one clock cycle is needed for execution of one command.

ATtiny family contains few series of microcontrollers:

  • ATtiny11 1-Kbyte In-System programmable Flash Program Memory, 32 byte SRAM, Up to 6 MIPS throughput at 6 Mhz.
  • ATtiny12 1-Kbyte In-System programmable Flash Program Memory, 32 byte SRAM, 64 Byte EEPROM, Up to 8 MIPS throughput at 8 Mhz.
  • ATtiny13 1-Kbyte In-System programmable Flash Program Memory, 64-Byte SRAM, 64-Byte EEPROM, 32-Byte Register File, 4-channel 10-bit A/D, Up to 20 MIPS throughput at 20 Mhz.
  • ATtiny15L 1-Kbyte In-System programmable Flash Program Memory, 64-Byte EEPROM, 32-Byte Register File, 4-channel 10-bit A/D, Up to 1.6 MIPS throughput at 1.6 MHz.
  • ATtiny2313 2K Bytes of In-System Self-Programmable Flash, 128 Bytes In-System Programmable EEPROM, 128 Bytes Internal SRAM. USI--Universal Serial Interface, Full Duplex UART. debugWIRE for on-chip-debug. Up to 20 MIPS throughput at 20 MHz. Compatible with Obsolete AT90S2313.
  • ATtiny24 2K Bytes of In-System Self-Programmable Flash, 128 Bytes In-System Programmable EEPROM, 128 Bytes Internal SRAM. 8-bit and 16-bit timer/counters with PWM, 10-bit ADC, USI-Universal Serial Interface, On-chip Temperature Sensor. debugWIRE for on-chip-debug. Up to 20 MIPS throughput at 20 MHz. 1.8 - 5.5 V operation.

    8KB version: ATtiny84

    4KB version: ATtiny44

  • ATtiny25 2K Bytes of In-System Self-Programmable Flash, 128 Bytes In-System Programmable EEPROM, 128 Bytes Internal SRAM. Two 8-bit timer/counters with PWM and prescaler, 10-bit ADC, USI-Universal Serial Interface. debugWIRE for on-chip-debug. Up to 20 MIPS throughput at 20 MHz. 1.8 - 5.5 V operation.

    8KB version: ATtiny85

    4KB version: ATtiny45

  • ATtiny26 2K Flash Program Memory, 128 Bytes SRAM, 128-Byte EEPROM, 11-Channel 10-bit A/D converter. Universal Serial Interface. High Frequency PWM. Up to 16 MIPS throughput at 16 MHz.
  • ATtiny28L 2K Flash Program Memory, 32 bytes register file, Keyboard interrupt, high-current LED driver, Analog Comparator. Up to 4 MIPS throughput at 4 MHz.
  • ATtiny44 4K Bytes of In-System Self-Programmable Flash, 256 Bytes In-System Programmable EEPROM, 256 Bytes Internal SRAM. 8-bit and 16-bit timer/counters with PWM, 10-bit ADC, USI-Universal Serial Interface, On-chip Temperature Sensor. debugWIRE for on-chip-debug. Up to 20 MIPS throughput at 20 MHz. 1.8 - 5.5 V operation.

    8KB version: ATtiny84

    2KB version: ATtiny24

  • ATtiny45 4K Bytes of In-System Self-Programmable Flash, 256 Bytes In-System Programmable EEPROM, 256 Bytes Internal SRAM. Two 8-bit timer/counters with PWM and prescaler, 10-bit ADC, USI-Universal Serial Interface. debugWIRE for on-chip-debug. Up to 20 MIPS throughput at 20 MHz. 1.8 - 5.5 V operation.

    8KB version: ATtiny85

    2KB version: ATtiny25

  • ATtiny84 8K Bytes of In-System Self-Programmable Flash, 512 Bytes In-System Programmable EEPROM, 512 Bytes Internal SRAM. 8-bit and 16-bit timer/counters with PWM, 10-bit ADC, USI-Universal Serial Interface, On-chip Temperature Sensor. debugWIRE for on-chip-debug. Up to 20 MIPS throughput at 20 MHz. 1.8 - 5.5 V operation.

    4KB version: ATtiny44

    2KB version: ATtiny24

  • ATtiny85 8K Bytes of In-System Self-Programmable Flash, 512 Bytes In-System Programmable EEPROM, 512 Bytes Internal SRAM. Two 8-bit timer/counters with PWM and prescaler, 10-bit ADC, USI-Universal Serial Interface. debugWIRE for on-chip-debug. Up to 20 MIPS throughput at 20 MHz. 1.8 - 5.5 V operation.

    4KB version: ATtiny45

    2KB version: ATtiny25

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This applies to all types of AVR microcontrollers because they all use same AVR core technology. So lets go through some of them:

  • Ability to work at 1MIPS/MHz (MIPS – Millions Instructions Per Second);
  • On chip Flash memory (now tiny series have up to 8kB, mega up to 256kB) with write cycle not less than 1000 times;
  • On chip RAM memory (tiny series up to 512B, mega up to 8kB);
  • On chip EEPROM memory (tiny series up to 512B, mega up to 4kB) with write cycle not less than 100000 times;
  • Working frequencies up to 20MHz;
  • Protection fuses from unintentional reading and modification of program and data memories;
  • Ability to program in system – directly on board using ISP cable;
  • Four types of clock generators: Internal generator, RC generator of clock cycles, Internal generator with external crystal resonator, and External synchronisation;
  • Two or three power down modes;
  • Some microcontroller can work at very low voltages like 1.8V;

Other internal processor properties:

  • Static architecture where minimal frequency equal to zero;
  • ALU is connected directly to general purpose registers;
  • Most of commands are performed in one clock cycle;
  • Multilevel system of interrupts;
  • Many sources of interrupts – two of them are external;
  • Three level hardware stack.

I/O system properties:

  • Software configurable and selection of I/O ports;
  • Ports can be programmed as inputs and outputs independently to each other;
  • Input buffers uses Smith triggers on all pins;
  • Support of Internal Pull-Up resistors (about 35 to 120kOhm);

Peripheral devices vary from device to device. Refer to datasheets to find out what peripherals are included in concrete model. In general we can mention:

  • 8 bit timer counter with pre-scaler;
  • 16 bit timer counter with pre-scaler ;
  • Watch dog timer;
  • PWM generator;
  • Analog comparator;
  • ADC;
  • Hardware modulator;
  • SPI interface;
  • TWI (I2C) interface;
  • UART;

For additional information refer to datasheets.