F ollowing on from the success of the Atmel ATmega103(L) and ATmega163(L) microcontrollers, Atmel have recently introduced four new members to the ATmega AVR™ FLASH Microcontroller Family: ATmega8, ATmega161, ATmega323 & ATmega128. All four devices feature the powerful ‘MegaAVR’ core plus on-chip FLASH memory, EEPROM data memory, programmable UART(S)/USART(S), hardware multiplier, programmable brownout detector and 10bit A/D convertor. The ATmega8/161/163/323/128 feature 8K/16K/16K/32K/128K of on-chip ‘Self-programmable’ FLASH memory respectively. JTAG-ICE ATmega128 The flagship device of the family is the ATmega128 with its 128K FLASH, 4K EEPROM, 4K RAM, 53 I/O pins, 2 x USARTS plus configurable 1/2/4/8 MHz on-chip RC oscillator. This device is designed to be a drop-in replacement for the ATmega103 microcontroller, allowing existing users to take advantage of the myriad of new features which this device offers. A low-cost JTAG In-Circuit Emulator (JTAG ICE) is now available which supports On-Chip Debugging (OCD) of code on the actual target device. This interfaces to the new ‘STK501 - Adaptor/Development Board (STK501) for the ATmega128/103’ via a 10-pin JTAG ISP header. STK500 STK501 A typical ATmega128 Development System: The STK501 is plugged into the STK500 board and the JTAG-ICE connects to the JTAG Port on the STK501 ATmega8 The ATmega8 is the natural upgrade for the existing AT90S4433 microcontroller bringing the power of the MegaAVR family to a 28-pin DIP or 32-pin TQFP or 5mm x 5mm MLF package device. If you need a compact powerful microcontroller with A/D and the ability to re-program itself in-situ, then look no further! AVR™ Development Tools A B C D STK500 JTAG-ICE AVRISP EPSILON5 ATmega161 The ATmega161 is a drop-in replacement for the existing AT90S8515 microcontroller, doubling the Code memory capacity from 8K to 16K bytes and supporting the ability to ‘Self-Program’ the firmware/ EEPROM. The addition of a second serial UART makes this device ideal for many communications applications e.g. protocol convertor. JTAG debug/ISP Port on the STK501 E STK501 - AVR™ FLASH Microcontroller Starter System - In-circuit JTAG debugger for ATmega128/323 - Low-cost AVR™ ISP Programmer - Universal In-System Programming (ISP) Tool for Atmel, Atmel Wireless (Temic) & Philips FLASH Microcontrollers - Adaptor/Development Board for the ATmega128/103 B A C E ATmega323 The ATmega323 is an upgrade path for the existing ATmega163 and AT90S8535 devices. It features more FLASH memory (32K bytes), self-programming capability and a JTAG interface for debugging/programming. The peripherals are the same as on the existing AT90S AVR™ devices. D Please note: AVR™ is a trademark of the Atmel Corporation The source code for a sample ‘Boot Loader’ is freely available from Atmel allowing the developer to write custom loaders which could theoretically work over any communications medium e.g. SPI, UART, USB etc. More advanced boot loaders could provide encryption protection for product firmware/EEPROM data updates, thereby protecting the code and data against software piracy. The ‘Boot Loader’ section is configurable in size allowing for different complexities of Boot Loaders and also features separate ‘Security Lock Bits’ to the ‘Application FLASH Section’ for maximum security protection during firmware updates. The ‘Boot Block’ can not be erased or reprogrammed by the ‘Application FLASH Code’, so the Boot Loader firmware should be able to recover from any error during re-programming of the ‘Application Code’ without losing the whole device. If no Boot Loader capability is needed, the entire FLASH area is available for application code. JTAG On-chip Debug (OCD) support using the JTAG-ICE JTAG ISP Header RST TMS Vsupply TDI ATmegaXXX Microcontroller ATmegaXXX Microcontroller JTAG PORT TTL Level Boot Loader Section (Probably Not Used) User Target System FLASH Memory Map Figure 4: Typical development environment Using the actual device as the ‘Emulation Device’ has the following advantages: • Code is running on actual target device so the exact electrical and timing characteristics of the ‘real’ device are adhered to • Operation of I/O, timers, A/D etc. is exactly as per the ‘real’ device • No need for expensive and delicate surface mount emulator adaptors • Final hardware can be emulated without having to revert back to a prototype with emulator adaptor • The cost of the JTAG-ICE is significantly lower than a dedicated emulator RS-232 Port RS-232 Level PC TTL Level EPSILON5 Programmer User Target System Application Firmware Under Development Boot Loader Section (Configured) FLASH Memory Map Figure 5: Typical production environment AT-JTAGICE The ATmega128 has the following additional features to the ATmega103: TCK TCK TD0 JTAG TMS Port TDI Vcc GND JTAG-ICE PC Application Firmware Under Development The ATmega128 microcontroller is designed to be a drop-in replacement for the already established ATmega103 microcontroller. The ATmega128 has a special ‘ATmega103 Compatibility Mode’ which disables all the new features of the ATmega128 allowing the device to run the original ATmega103 firmware without re-compilation. This mode is enabled by default when the device leaves the factory. TDO TCK 1 TD0 3 TMS 5 TDI 9 Vcc 4 GND 2/10 Vsupply 7 nRST 6 nTRST 8 RS-232 Level ATmega128 is a drop-in replacement for the ATmega103 The ATmega323/128 microcontrollers feature powerful on-chip debug (OCD) hardware which allows an external emulator to debug code which is running on the actual device. A fast JTAG (IEEE1149.1 compliant) interface is used to pass data between the emulator and the OCD hardware and can also be used as a fast method of in-system programming the device in a production environment. LOAD RS-232 Port ATmegaXXX Microcontroller No Read While Write Section Read While Write Section The new ATmega microcontrollers have the ability to self-program both the FLASH and EEPROM areas of the device using an optional ‘Boot Loader’ which can be stored in the ‘Boot Loader’ section of the FLASH memory area. This effectively means that a product can update its own firmware without the need for an external programmer. This powerful feature opens up many possibilities for remote/field Program Memory firmware updates without BOOTSZ = '11' requiring any additional $0000 external hardware. The required ‘Boot Loader’ must be Application programmed into the device Flash Section using either the SPI or JTAG ISP port before the target system leaves the production End RWW facility. Typical applications of Start NRWW this technology could include Application remote firmware updating of Flash Section vending machines, portable End Application Boot Loader Flash Section Start Boot Loader instruments, telephone Flashend routers, distributed intelligent Figure 1: Memory Sections sensors etc. by combining up to 3 break-point registers. It is also possible to set ‘Software Breakpoints’, but these involve re-writing a page of FLASH memory every time they are updated. JTAG PORT Self-Programming of FLASH/EEPROM 1 2 3 4 5 6 7 8 9 10 GND VTref nSRST (nTRST) GND Figure 3: JTAG ISP Port Header 10-way IDC Figure 2: JTAG Port connections to an ATmegaxxx Microcontroller Atmel have recently launched the ‘JTAG ICE’ which is designed to support incircuit debugging of any current or future ATmega microcontroller which features the JTAG port. The ICE works by initially programming the user firmware/data into the FLASH/EEPROM memory of the actual target ATmega device and then controls the execution/debug of this code via the OCD hardware. The JTAG ICE supports reading/writing of the Program Counter (PC), FLASH, EEPROM, General Purpose Registers and SRAM contents to/from the PC control software suite, ‘AVR™ Studio’. A limited number of ‘Hardware Breakpoints’ are supported with the ability to generate valid break conditions • Maximum clock frequency: 16MHz (compared to a maximum 6MHz with the ATmega103) • On-chip calibrated RC Oscillator which can be configured to run at 1, 2, 4 or 8MHz • 52 fully configurable I/O pins (ATmega103 has 32 I/O pins plus 8 x Input Only and 8 x Output Only) • 2 x programmable serial USARTs • JTAG On-Chip Debug (OCD) and fast JTAG ISP port • User-configurable ‘Boot Block’ supporting ‘Self-Programming Mode’ • Byte-orientated 2-wire Serial Interface Please observe the following points when upgrading from the ATmega103 to ATmega128: i The ATmega128 programming algorithm must be used. ii The ATmega128 is shipped with a 1MHz (nominal) Internal RC oscillator enabled by default. It is necessary to re-program the ‘Clock Selection Fuses CKSEL 0..3’ to enable the device to work from an external crystal. iii The ATmega128 is shipped with the ‘JTAG Interface’ enabled. This must be disabled by un-programming the ‘JTAGEN’ fuse. STK500 - Professional AVR™ Starter System STK501 - Adaptor/Development Board for the ATmega128/103 The Atmel STK500 is a comprehensive Starter System for the Atmel AVR™ FLASH Microcontroller Family. The system comprises of a single board module which features IC STK500 Board sockets for all the popular dual-in-line AVR™ devices. It possible to in-system program (ISP) and ‘Parallel’ program AVR™ devices on the STK500 and also to use the board to ISP a device on a separate Target System. The STK500 can be used as an evaluation board by connecting up the various on-board peripherals including LED’s, push buttons and Serial Dataflash. The STK501 is a new plug-in module designed to add ATmega128/103 support to the existing Atmel STK500 development board. The module plugs into the two expansion STK501 Adaptor Board headers on the STK500 board thereby routing power and most of the I/O ports to the relevant ports on the STK500 board. The STK501 features a 64-pin TQFP Zero Insertion Force (ZIF) socket which will accept manual placement of either the ATmega128 or ATmega103 surface mount devices. All the new features of the ATmega128 device are supported including extra I/O ports, JTAG port and additional serial USART. The STK501 can be controlled from the STK500 via ‘AVR™ Studio’ or the ‘JTAG ICE’ can be plugged into the JTAG port and then used to program/ debug the target ATmega128 device. Features: • • • • • • • • • • • • • AVR™ Studio Software Interface RS-232 Interface to PC for Programming and Configuration Second RS-232 port for user application External power supply required (9V - 12V DC) Sockets for 8, 20, 28 and 40 pin AVR™ devices Serial In-System Programming (ISP) of AVR™ devices In-System Programmer for programming AVR™ device in an External Target System Parallel and Serial High-voltage programming of AVR™ devices 8 x Push buttons and 8 x LED’s for general use All AVR™ I/O ports easily accessible through pin header connectors Expansion connectors for plug-in modules (e.g. STK501) and prototyping area On-board 2 Megabit Serial Dataflash for non-volatile data storage Flexible clocking, voltage and reset system Device Support: • ISP (on-board) - AT90S, ATtiny, ATmega (ATmega103/128 - requires STK501) devices • Parallel (on-board) - AT90S, ATmega (ATmega103/128 - requires STK501) devices • ISP (off-board) - AT90S, ATtiny, ATmega AT-STK500 AVRISP - Low-cost In-System Programmer for Atmel AVR™ FLASH Microcontroller Family The ‘AVRISP’ is a low-cost in-system programmer (ISP) supporting the Atmel AVR™ FLASH Microcontroller Family. The programmer plugs into the user Target System via a 6 or 10-pin ISP header and draws its power from the target. The Atmel ‘AVR™ Studio’ application is used to control the programmer via a spare PC COM (serial) port. Features: • ISP programming of all in-system programmable AVR™ devices • Programs FLASH, EEPROM, FUSE and Security bits • Supports programming of the RC Oscillator Calibration Byte • Powers from Target System (2.7-5.5V - no external power supply required) • Adjustable SPI speed. Supports all Target Boards running at > 8KHz • ‘AVR™ Studio’ PC Interface Software • DOS Command Line Interface also available • Connects to spare PC COM (serial) port • Supplied with both Atmel 6-way and 10-way ISP cables AT-AVRISP Features: • • • • • • • • • STK500 Starter System compatible. AVR™ Studio compatible JTAG ICE compatible Supports ATmega128 and ATmega103 devices in TQFP package without soldering TQFP footprint to allow emulator (ICE) adaptor to be soldered to the module Supports all new features of the ATmega128 including extra I/O ports, JTAG port and additional serial USART Adds external SRAM support to the STK500 board On-board 32kHz clock oscillator for easy implementation of Real Time Clock (RTC) Supports programming of Atmega128 device via SPI, JTAG (using ‘JTAG ICE’ or ‘Epsilon5’) and high-voltage parallel mode AT-STK501 Epsilon5 MKII - ISP Programmer The Epsilon5 ISP programmer is an all-in-one development/field/production programmer supporting most in-system programmable microcontrollers from Atmel, Atmel Wireless (Temic) and Philips. The programmer can be controlled from the PC or used in Standalone Mode. Device support: • Atmel - LV SPI ISP: AT90S, ATtiny and ATmega AVR™ microcontrollers • Atmel - JTAG ISP: ATmega323/128 (license upgrade) • Atmel - HV (+12V Vpp) ISP: ATtiny11/12/15L • Atmel - AT89(L)S51/52/53/8252 8051 microcontrollers • Atmel Wireless (Temic) - Boot Loader: T89C51Rx2, T89C51CC01 • Philips - Boot Loader: P89C51Rx2, P89C66x Features: • Controlled/configured by Equinox EQTools Software • Powerful ‘project-based’ environment with full version control • Standalone Mode - programmer can used without a PC • Supports programming of FLASH, EEPROM, FUSE bits, Security bits and RC Oscillator Calibration bytes • Ideal for development, field or small-scale production use • Single Key Auto-Program • Status LED’s - Busy/Pass/Fail • 4 x ISP Headers - Atmel 6-way/10-way/JTAG, Equinox 10-way • 2Mbits of on-board non-volatile FLASH memory for user project storage • Can be powered directly from the Target System (3.0V to 5.0V) • JTAG Port - FAST ISP using JTAG algorithm (license upgrade) • Upgrades include JTAG ISP support, Labview control, Visual Basic control EQ-EPSILON5-A1 * Max speed depends on Vcc voltage. Frequencies and Currents listed are for Vcc = 5.0V & T = 25ºC Please verify correct part codes for low voltage parts before ordering. Key SRAM - Static RAM ISP - In-System Programmable BL - Boot Loader JTAG - JTAG ISP/Debug Port I/O - Input/Output ADC - Analogue to Digital Convertor SPI - Serial Peripheral Interface PWM - Pulse Width Modulation PAR - Parallel programming mode FLASH - Reprogrammable Code Memory EEPROM - Reprogrammable Data Memory YES1 - Nominal Frequency 1MHz YES2 - Nominal Frequency 1.6MHz YES3 - Nominal Frequency 1/2/4/8MHz LVISP - Low Voltage ISP (On target PCB) HVISP - High Voltage ISP L - Low Voltage (device) N/A - Not Available TBA - To Be Announced ICCAVR - AVR™ C Compiler - Full (302-2274) ATmega128 (L) ATmega103 (L) ON-CHIP MEMORY FLASH (Bytes) 8K 16K 32K 16K 128K EEPROM (Bytes) 512 512 1K 512 4K SRAM (Bytes) 1K 1K 2K 1K 4K In-System Programmable (ISP) YES+BL YES+BL YES+BL+JTAG YES+BL YES HARDWARE FEATURES I/O Pins 23 32 32 35 32I/O, 8O, 8I On-chip RC Oscillator YES3 YES1 YES NO NO Real Time Clock (RTC) YES YES YES YES YES SPI Port YES YES YES YES YES Full Duplex Serial UART 1 x (USART) 1 1 x (USART) 2 1 Watchdog Timer YES YES YES YES YES Timer/Counters 3 2 3 3 3 + RTC PWM Channels (10-bit) 3 4 4 2 2 Analogue Comparator YES YES YES YES NO A/D Channel (10-bit) 6/8 8 8 8 IDLE and Power Down modes YES YES YES YES YES Interrupts TBA 17 19 20 24 MISCELLANEOUS AVR™ Instructions 130 130 130 130 121 ATmegaxxxL (Low Voltage) 0-8MHz 0-4MHz 0-4MHz 0-4MHz 0-4MHz Frequency/Voltage Range 2.7-5.5V 2.7-5.5V 2.7-5.5V 2.7-5.5V 2.7-3.6V ATmegaxxx 0-16MHz 0-8MHz 0-8MHz 0-8MHz 0-6Mhz Frequency/Voltage Range 4.5-5.5V 4.0-5.5V 4.0-5.5V 4.5-5.5V 4.0-5.5V EQUINOX SUPPORT TOOLS Epsilon 5 LVISP/JTAG LVISP LVISP LVISP LVISP FS2000A LVISP LVISP LVISP LVISP LVISP PRO101 LVISP LVISP LVISP LVISP LVISP AVRISP LVISP LVISP LVISP LVISP LVISP STK500 LVISP/PAR LVISP/PAR LVISP/PAR LVISP/PAR LVISP STK500 C+ LVISP LVISP/PAR LVISP LVISP LVISP STK501 LVISP/PAR Imagecraft C Compiler ICCAVR ICCAVR ICCAVR ICCAVR ICCAVR PACKAGE TYPES 28P3 44A 40P6 40P6 64A 32A 40P6 44A 44A 128K 4K 4K YES+BL+JTAG 53 YES3 YES YES 2 x (USART) YES 4 + RTC 6 (16-bit) YES 17 YES 24+ Package Descriptions 8S2 - 8-Lead, 0.200” Wide, Plastic Gull-Wing Small Outline Package (EIAJ SOIC) 32A - 32-Lead, Thin (1.0mm) Plastic Gull-Wing Quad Flat Package (TQFP) 8P3 - 8-Lead, 0.300” Wide, Plastic Dual In-line Package (PDIP) 40P6 - 40-Lead, Thin (1.0mm) Plastic Dual In-line Package (PDIP) 20S - 20-Lead, 0.300” Wide, Plastic Gull-Wing Small Outline (SOIC) 44A - 44-Lead, Thin (1.0mm) Plastic Gull-Wing Quad Flat Package (TQFP) 20P3 - 20-Lead, 0.300” Wide, Plastic Dual In-line Package (PDIP) 44J - 44-Lead, Plastic J-Leaded Chip Carrier (PLCC) 28P3 - 28-Lead, 0.300” Wide, Plastic Dual In-line Package (PDIP) 64A - 64-Lead, Thin (1.0mm) Plastic Gull-Wing Quad Flat Package (TQFP) 133 0-8MHz 2.7-5.5V 0-16MHz 4.5-5.5V LVISP LVISP LVISP LVISP LVISP LVISP LVISP/PAR ICCAVR 64A Atmel AVR™ FLASH Microcontroller Pinouts NC* = DO NOT CONNECT (May be used in future devices) 40-pin PDIP (MOSI) PB5 (MISO) PB6 (SCK) PB7 RESET VCC GND XTAL2 XTAL1 (RXD) PD0 (TXD) PD1 (INT0) PD2 1 2 3 4 5 6 7 8 9 10 11 44-pin TQFP 24 23 22 21 20 19 18 17 AVCC GND AREF PF0 (ADC0) PF1 (ADC1) PF2 (ADC2) PF3 (ADC3) PF4 (ADC4/TCK) PF5 (ADC5/TMS) PF6 (ADC6TDO) PF7 (ADC7/TDI) GND VCC PA0 (AD0) PA1 (AD1) PA2 (AD2) 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 PC1 (ADC1) PC0 (ADC0) ADC7 AGND AREF ADC6 AVCC PB5 (SCK) 33 32 31 30 29 28 27 26 25 24 23 PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7) AREF AGND AVCC PC7 (TOSC2) PC6 (TOSC1) PC5 PC4 40-pin PDIP (OC2/OC1C) PB7 TOSC2/PG3 TOSC1/1PG4 RESET VCC GND XTAL2 XTAL1 (SCL/INT0) PD0 (SDA/INT1) PD1 (RXD1/INT2) PD2 (TXD1/INT3) PD3 (IC1) PD4 (XCK1) PD5 (T1) PD6 (T2) PD7 PA3 (AD3) PA4 (AD4) PA5 (AD5) PA6 (AD6) PA7 (AD7) PG2 (ALE) PC7 (A15) PC6 (A14) PC5 (A13) PC4 (A12) PC3 (A11) PC2 (A10) PC1 (A9) PC0 (A8) PG1(RD) PG0(WR) 64-pin TQFP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7) AREF AGND AVCC PC7 (TOSC2) PC6 (TOSC1) PC5 (TDI) PC4 (TD0) PC3 (TMS) PC2 (TCK) PC1 (SDA) PC0 (SCL) PD7 (OC2) PB4 (SS) PB3 (AIN1/OC0) PB2 (AIN0/INT2) PB1 (T1) PB0 (XCK/T0) GND VCC PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA4 (ADC3) (XCK/T0) PB0 (T1) PB1 (INT2/AIN0) PB2 (OC0/AIN1) PB3 (SS) PB4 (MOSI) PB5 (MISO) PB6 (SCK) PB7 RESET VCC GND XTAL2 XTAL1 (RXD) PD0 (TXD) PD1 (INT0) PD2 (INT1) PD3 (OC1B) PD4 (OC1A) PD5 (ICP) PD6 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 ATmega128(L) ATmega323(L) PB4 (SS) PB3 (AIN1) PB2 (AIN0) PB1 (T1) PB0 (T0) GND VCC PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA4 (ADC3) PA0 (ADC0) PA1 (ADC1) PA2 (ADC2) PA3 (ADC3) PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7) AREF AGND AVCC PC7 (TOSC2) PC6 (TOSC1) PC5 PC4 PC3 PC2 PC1 (SDA) PC0 (SCL) PD7 (OC2) 44 43 42 41 40 39 38 37 36 35 34 PA4 (AD4) PA5 (AD5) PA6 (AD6) PA7 (AD7) PE0 (ICP/INT2) NC* PE1 (ALE) PE2 (OC1B) PC7 (A15) PC6 (A14) PC5 (A13) 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 1 2 3 4 5 6 7 8 32-pin MLF (INT1) PD3 (OC1B) PD4 (OC1A) PD5 (ICP) PD6 (OC2) PD7 VCC GND (SCL) PC0 (SDA) PC1 PC2 PC3 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 12 13 14 15 16 17 18 19 20 21 22 1 2 3 4 5 6 7 8 9 10 11 (WR) PD6 (RD) PD7 XTAL2 XTAL1 GND NC* (A8) PC0 (A9) PC1 (A10) PC2 (A11) PC3 (A12) PC4 (MOSI) PB5 (MISO) PB6 (SCK) PB7 RESET (RXD0) PD0 NC* (TXD0) PD1 (INT0) PD2 (INT1) PD3 (TOSC1) PD4 (OC1A/TOSC2) PD5 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (INT1) PD3 (XCK/T0) PD4 GND VCC GND VCC (XTAL1/TOSC1) PB6 (XTAL2/TOSC2) PB7 32-pin TQFP ATmega163(L) (T0) PB0 (T1) PB1 (AIN0) PB2 (AIN1) PB3 (SS) PB4 (MOSI) PB5 (MISO) PB6 (SCK) PB7 RESET VCC GND XTAL2 XTAL1 (RXD) PD0 (TXD) PD1 (INT0) PD2 (INT1) PD3 (OC1B) PD4 (OC1A) PD5 (ICP) PD6 PC1 (ADC1) PC0 (ADC0) ADC7 AGND AREF ADC6 AVCC PB5 (SCK) 12 13 14 15 16 17 18 19 20 21 22 PB4 (SS) PB3 (TXD1/AIN1) PB2 (RXD1/AIN0) PB1 (OC2/T1) PB0 (OC0/T0) NC* VCC PA0 (AD0) PA1 (AD1) PA2 (AD2) PA3 (AD3) 28-pin PDIP 24 23 22 21 20 19 18 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 44 43 42 41 40 39 38 37 36 35 34 1 2 3 4 5 6 7 8 PEN RXD0/(PDI) PE0 (TXD0/PD0) PE1 (XCK0/AIN0) PE2 (OC3A/AIN1) PE3 (OC3B/INT4) PE4 (OC3C/INT5) PE5 (T3/INT6) PE6 (IC3/INT7) PE7 (SS) PB0 (SCK) PB1 (MOSI) PB2 (MISO) PB3 (OC0) PB4 (OC1A) PB5 (OC1B) PB6 (MOSI) PB5 (MISO) PB6 (SCK) PB7 RESET VCC GND XTAL2 XTAL1 (RXD) PD0 (TXD) PD1 (INT0) PD2 1 2 3 4 5 6 7 8 9 10 11 33 32 31 30 29 28 27 26 25 24 23 (INT1) PD3 (OC1B) PD4 (OC1A) PD5 (ICP) PD6 (OC2) PD7 VCC GND (SCL) PC0 (SDA) PC1 (TCK) PC2 (TMS) PC3 (INT1) PD3 (XCK/T0) PD4 GND VCC GND VCC (XTAL1/TOSC1) PB6 (XTAL2/TOSC2) PB7 40-pin PDIP 44-pin TQFP PD2 (INT0) PD1 (TXD) PD0 (RXD) PC6 (RESET) PC5 (ADC5/SCL) PC4 (ADC4/SDA) PC3 (ADC3) PC2 (ADC2) PC5 (ADC5/SCL) PC4 (ADC4/SDA) PC3 (ADC3) PC2 (ADC2) PC1 (ADC1) PC0 (ADC0) AGND AREF AVCC PB5 (SCK) PB4 (MISO) PB3 (MOSI/OC2) PB2 (SS/OC1B) PB1 (OC1A) 32 31 30 29 28 27 26 25 28 27 26 25 24 23 22 21 20 19 18 17 16 15 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 (T1) PD5 (AIN0) PD6 (AIN1) PD7 (ICP) PB0 (OC1A) PB1 (SS/OC1B) PB2 (MOSI/OC2) PB3 (MISO) PB4 (RESET) PC6 (RXD) PD0 (TXD) PD1 (INT0) PD2 (INT1) PD3 (XCK/T0) PD4 VCC GND (XTAL1/TOSC1) PB6 (XTAL2/TOSC2) PB7 (T1) PD5 (AIN0) PD6 (AIN1) PD7 (ICP) PB0 PD2 (INT0) PD1 (TXD) PD0 (RXD) PC6 (RESET) PC5 (ADC5/SCL) PC4 (ADC4/SDA) PC3 (ADC3) PC2 (ADC2) VCC PA0 (AD0) PA1 (AD1) PA2 (AD2) PA3 (AD3) PA4 (AD4) PA5 (AD5) PA6 (AD6) PA7 (AD7) PE0 (ICP/INT2) PE1 (ALE) PE2 (OC1B) PC7 (A15) PC6 (A14) PC5 (A13) PC4 (A12) PC3 (A11) PC2 (A10) PC1 (A9) PC0 (A8) 32 31 30 29 28 27 26 25 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 (T1) PD5 (AIN0) PD6 (AIN1) PD7 (ICP) PB0 (OC1A) PB1 (SS/OC1B) PB2 (MOSI/OC2) PB3 (MISO) PB4 (OC0/T0) PB0 (OC2/T1) PB1 (RXD1/AIN0) PB2 (TXD1/AIN1) PB3 (SS) PB4 (MOSI) PB5 (MISO) PB6 (SCK) PB7 RESET (RXD0) PD0 (TXD0) PD1 (INT0) PD2 (INT1) PD3 (TOSC1) PD4 (OC1A/TOSC2) PD5 (WR) PD6 (RD) PD7 XTAL2 XTAL1 GND ATmega8(L) 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 ATmega161(L) ATmega128(L) 12 13 14 15 16 17 18 19 20 21 22 ATmega161 (L) ATmega323 (L) ATmega163 (L) ATmega8 (L) Atmel AVR™ FLASH Microcontroller Family - Product Selection Guide 44-pin TQFP PA4 (ADC4) PA5 (ADC5) PA6 (ADC6) PA7 (ADC7) AREF AGND AVCC PC7 (TOSC2) PC6 (TOSC1) PC5 (TDI) PC4 (TD0) he Atmel ‘AVR™ FLASH Microcontroller Family’ brings low-cost, high-performance re-programmable microcontrollers within the reach of every embedded design engineer. These devices are supported by optimising high-level language compilers for ANSI C and Pascal so you can write portable non chip-specific code with no need to learn a new instruction set. A low-cost In-Circuit Emulator (ICE200) supports low and high-level language in-circuit emulation of most of the popular AT90S and ATtiny devices and nearly all devices can by programmed in-situ on your target board using a suitable ISP programmer. T AT90S AVR™ Family (AT90S1200/2313/4433/8515/8535) 3-WIRE IN/OUT SERIAL PERIPHERAL INTERFACE FLASH SRAM EEPROM PROGRAM COUNTER UART 32 GENERAL PURPOSE REGISTERS ADC INSTRUCTION REGISTER I/O MEM ANALOG COMPARATORS ALU CPU WATCHDOG TIMER I/O PORTS INTERRUPTS TIMER COUNTERS AVR™ Features: • Advanced RISC Architecture for high-performance and low-power • In-System Programmable FLASH CODE Memory (1,000+ Write/Erase cycles) • In System Programmable EEPROM DATA Memory (100K+ Write/Erase cycles) • Some devices support ‘Self Programming’ of the FLASH/EEPROM using a custom Boot Loader • On-chip Internal SRAM - 128 to 4K bytes • Throughput of up to 16 MIPS on higher-end devices • Device Pin counts from 8 to 64 pins • Configurable I/O pin architecture with Sink/Source capability • Support In-System Programming (ISP) via simple 3-wire SPI Interface + control of RESET pin • Wide voltage supply range (2.7 to 5.5V - choose ‘L’ device for <4V operation) • Many AVR™ devices feature on-chip RC Oscillator (1/4/8 MHz) • Programmable Watchdog Timer • On-chip brownout circuit to guard against power supply drop-out conditions • Multiple ‘Sleep Modes’ - ideal for low-power applications Please note: AVR™ is a trademark of the Atmel Corporation These devices offer a whole host of powerful features at a low cost. The 1200 and 2313 are both 20-pin devices with 15 I/O pins and are capable of speeds of up to 12 MIPS (1200). The 2313 has 2K FLASH CODE memory, 128 bytes of EEPROM and an on-chip UART making it ideal for many low-cost serial communications/control applications. At the top-end of the family, the 8535 features 8K FLASH CODE memory, 512 bytes of EEPROM and an on-chip 8-channel 10-bit A/D convertor. All devices are fully supported by the STK500(C+) Starter/Development Systems and the ICE200 In-Circuit Emulator. ATtiny AVR™ Family (ATtiny11/12/15) These low-cost ‘Tiny’ 8-pin microcontrollers feature a slightly reduced version of the standard AVR™ core with no on-chip SRAM. The ATtiny12 and ATtiny15 have on-chip EEPROM and have an internal RC oscillator so no external clock is required. The ATtiny15 even has a 4-channel 10-bit A/D. These devices are therefore ideal for high-volume applications where low cost and small physical size are required. (RESET) PB5 (XTAL1) PB3 (XTAL2) PB4 GND 1 2 3 4 8 7 6 5 ATtiny12 VCC PB2 (SCK/T0) PB1 (MISO/INT0/AIN1) PB0 (MOSI/AIN0) Pinout ATmega AVR™ Family (ATmega8/323/161/163/103) The first five members of the megaAVR family are highly integrated devices and have from 8K to 128K Bytes of Flash program Memory, EEPROM, a programmable UART, hardware multiplier, programmable brownout detector and 10 bit A/D converter. They are housed in the industry standard 32, 44 or 64 pin TQFP or 28 and 40 pin PDIP packages. With the exception of the ATmega103, all members of this family feature an optional ‘Boot Code’ section with can be used to store a custom Boot Loader allowing the FLASH/EEPROM to be re-programmed via any customer-specified interface. The Atmega128 and ATmega161 both feature two Serial Ports making them ideal for many control/communications applications. ICCAVR V6 (Full) - Low Cost ANSI-C Compiler IDE: Powerful IDE including Editor, Project Manager, C Compiler and assembler ANSI-C Compiler • Modern fast C Compiler with full support for the ANSI C language • Optimised ‘switch’ handling, algebraic simplifications, advanced register allocation, peephole optimization • Supports 32-bit longs & 32-bit IEEE single precision floating point • Full support for interrupt handlers in C • Supports in-line assembly • Supports automatic generation of bit I/O instructions • Strings can be placed in either RAM or FLASH • Subset of ANSI C library is provided which includes printf, memory allocation, strings and maths functions IM-AVRC-1 STK500 C+ FS2000A AVR™™ Professional FLASH Microcontroller Development System Portable Development/Field/Production ISP Programmer for Atmel AVR™ and AT89S Microcontrollers The Atmel STK500 C+ AVR™™ development system contains everything you need to develop projects for the Atmel AVR™ FLASH Microcontroller Family. The system includes an integrated AVR™ programming/evaluation/prototyping board, a fully functional C compiler (4K bytes code limit) and sample AVR™ microcontrollers. The STK500 module supports both parallel programming and off-board In-System Programming (ISP) of a user target system (not supplied). The software supplied includes the ‘ ICCAVR Integrated Development Environment (IDE)’ which is fully integrated with the Atmel ‘AVR™ Studio 3.0 Interface’ and supports compile, program to target device and run from a single menu selection. The STK500 starter kit includes the following: Software • AVR™ Studio 3.0 Interface software • Imagecraft ICCAVR ANSI C compiler and IDE for Atmel AVR™ (4K bytes code limit) Hardware • STK500 programming/evaluation/ prototyping board • Sample AVR™ FLASH microcontrollers • 9-way PC Serial Cable • Power cable (external PSU not supplied) • 10-way IDC cable (for off-board ISP) STK500 module features: • RS232 Interface to PC for Programming and Control • Power Supply Input: 10-15V DC regulated • Sockets for 8, 20, 28 and 40-pin AVR™ Microcontroller Devices • Serial In-System Programming (ISP) of AVR™ Devices • In-System Programmer (ISP) for Programming AVR™ Devices in External Target System • Parallel and Serial High-voltage Programming of most AVR™ Microcontroller Devices • Software Upgradable from AVR™ Studio to Support Future AVR™ Devices • All AVR™ I/O Ports Easily Accessible through Pin Header Connectors • RS232 Port for General Use • Expansion Connectors for Plug-in Modules and Prototype Area • On-board 2-megabit DataFlash™ for Nonvolatile Data Storage • 8 Push Buttons and 8 LED’s for General Use • Flexible Clocking, Voltage and Reset System STK500 C+ EPSILON5 MKII Universal In-System Programming (ISP) Tool for Atmel & Philips FLASH Microcontrollers The Epsilon5 ISP programmer is an all-in-one development/ field/production programmer supporting most in-system programmable microcontrollers from Atmel, Atmel Wireless (Temic) and Philips. The programmer can be controlled from the PC or used in Standalone Mode. Device support: • Atmel - LV SPI ISP: AT90S, ATtiny and ATmega AVR™ microcontrollers • Atmel - JTAG ISP: ATmega323/128 (license upgrade) • Atmel - HV (+12V Vpp) ISP: ATtiny11/12/15L • Atmel - AT89(L)S51/52/53/8252 8051 microcontrollers • Atmel Wireless (Temic) - Boot Loader: T89C51Rx2, T89C51CC01 • Philips - Boot Loader: P89C51Rx2, P89C66x Features: • Controlled/configured by Equinox EQTools Software • Powerful ‘project-based’ environment with full version control • Standalone Mode - programmer can used without a PC • Supports programming of FLASH, EEPROM, FUSE bits, Security bits and RC Oscillator Calibration bytes • Ideal for development, field or small-scale production use • Single Key Auto-Program • Status LED’s - Busy/Pass/Fail • 4 x ISP Headers - Atmel 6-way/10-way/JTAG, Equinox 10-way • 2Mbits of on-board non-volatile FLASH memory for user project storage • Can be powered directly from the Target System (3.0V to 5.0V) • JTAG Port - FAST ISP using JTAG algorithm (license upgrade) • Upgrades include JTAG ISP support, Labview control, Visual Basic control EPSILON5-A1 The FS2000A is an all-in-one Development/Field/ Production Programmer supporting high-speed in-system programming (ISP) of Atmel AVR™ and AT89S(8051) FLASH microcontrollers. The programmer can be controlled from a PC during the development phase and can also be used standalone for field and production applications. Any one of up to 64 independent ‘Programming Projects’ can be recalled from on-board non-volatile memory and then programmed into a Target Device by pressing a single key. Hardware features: • Very fast programming speeds suitable for high-throughput production environments • Portable programmer design - ideal for development, production or field use • Supports ‘Standalone’ operation i.e. no PC required after programmer has been configured • On-board 4Mbits FLASH Memory Store capable of storing up to 64 independent programming projects • Simple selection of project using LCD and keypad • Operator can not inadvertently change the programming data or settings • Single key auto-program mode • Can be powered from the target system (+5V only) or externally powered using PSU included • Robust SPI I/O stage • Supports both Atmel and Equinox 10-way target ISP header connections • Programmable frequency generator output on SCK2 pin supports external clocking of ATmega163, ATtiny12, AT90S2333/4433 AVR™ microcontrollers to speed up programming • Programmer firmware is field upgradable to cater for future algorithms System contents: • FS2000A Portable ISP Programmer • 10-way ISP Ribbon Cable • 9W PC Serial cable + 9-25W adaptor • User manual • EQTools software on CD-ROM FS2000A Ordering Information: The FS2000A is available with the following mains power supply types: FS2000A(UK) UK 3-pin 240V @ 50Hz FS2000A(EU) Euro 2-pin 230V @ 50Hz FS2000A(US) US 2-pin 110V @ 60Hz FS2000A(AS) ASIA 3-pin 240V @ 50Hz AVR™ ICE200 In-Circuit Emulator The ICE200 is a true Real-Time In-Circuit Emulator for the Atmel AVR™ Microcontroller Family. The system offers full speed emulation of most AT90S and ATtiny AVR™ derivatives including emulation of memory, I/O and on-chip peripherals. Full symbolic debugging in ‘C’ or assembler is supported using the powerful ‘AVR™ Studio’ IDE from Atmel. The ICE200 comes complete with target pods for 8-pin, 20-pin, 28-pin ATAVRSMD and 40-pin (standard and A/D) derivatives. Hardware Features: • Non-intrusive single-chip emulation of processor core, I/O, peripherals and EEPROM memory using dedicated AVR™ emulator chip from Atmel • Supports most AT90S derivatives plus ATtiny11/ATtiny12 derivatives (ATmega not supported) Surface Mount Adaptor Kit • Full support for devices featuring A/D converters • Emulation pods for 8-pin, 20-pin, 28-pin and 40-pin DIL devices included as standard • Wide target voltage range (+2.7V to +5.5V) with automatic voltage sensing AVR™ ICE200 ATAVRSMD 120 8MHz 4.0-6.0V 118 8MHz 4.0-6.0V 32 NO NO YES 1 YES 2 2 NO NO YES 13 120 8MHz 4.0-6.0V 32 NO NO YES 1 YES 2 3 NO 8 YES 17 8K 512 512 YES - 20S 690934 (C) SOIC Farnell Part Code 20S 111466 (C) - 20P3 111454 (C) - 8S2 111442 (C) - 44A TBA - 32A 3617956 (I) - 8P3 28P3 111430 (C) 3617944 (I) - 128K 4 4 YES+BL+JTAG - - - 64A TBA - LVISP LVISP LVISP LVISP ICCAVR 133 16MHz 4.5-5.5V - LVISP LVISP LVISP LVISP ICCAVR 121 6MHz 4.0-6.0V 32I/O, 8O, 8I 53 NO YES3 YES YES YES YES 2 x (USART) 1 YES YES 3+RTC 4+RTC 2 6 (16-BIT) NO YES 8 17 YES YES 24 24+ 128K 4K 4K YES ATmega103 44A 64A 3617968 (I) 3618031 (I) 120972 (C) - 40P6 40P6 111491 (C) 120960 (C) 44J 44J 111508 (C) 120959 (C) 118 10MHz 4.0-6.0V 20 NO NO YES 1 YES 1 1 YES 6 YES 14 8K 512 512 YES 20P3 690752 (C) - 118 10MHz 4.0-6.0V 89 12MHz 4.0-6.0V 5 YES1 NO NO YES 2 NO NO YES 3 AT90S4433 4K 256 128 YES AT90S8515 LVISP+PAR LVISP+PAR LVISP LVISP LVISP LVISP LVISP LVISP ZIF-ISP YES YES ICCAVR ICCAVR 15 NO NO NO 1 YES 2 1 YES NO YES 11 15 YES1 NO NO YES 1 YES NO YES 4 AT90S2343 2K 128 128 YES AT90S8535 LVISP+PAR LVISP+PAR LVISP+PAR LVISP+PAR LVISP LVISP LVISP LVISP LVISP LVISP LVISP LVISP LVISP LVISP LVISP LVISP PAR only PAR only YES YES YES YES ICCtiny ICCAVR ICCAVR ICCAVR 2K 128 128 YES AT90S2313 1K 64 0 YES AT90S1200 TQFP Farnell Part Code ON-CHIP MEMORY FLASH (Bytes) EEPROM (Bytes) SRAM (Bytes) In-System Programmable (ISP) HARDWARE FEATURES I/O Pins On-chip RC Oscillator Real Time Clock (RTC) SPI Port Full Duplex Serial UART Watchdog Timer Timer/Counters PWM Channels (10-bit) Analogue Comparator A/D Channel (10-bit) IDLE and Power Down modes Interrupts MISCELLANEOUS AVR™ Instructions Max External Clock Frequency Vcc Voltage Range (V) EQUINOX SUPPORT TOOLS STK500 C+ Epsilon 5 FS2000A PRO101 Micro-Pro Device Programmer AVR™ ICE200 Emulator Imagecraft C Compiler PACKAGE TYPES PDIP Farnell Part Code PLCC Farnell Part Code NEW NEW ATmega128 NEW NEW Atmel AVR™ FLASH Microcontroller Family - Product Selection Guide ATmega163 ATtiny11 PAR HVISP YES ICCtiny 90 6MHz 4.0-5.5V 5xO + 1I NO NO NO YES 1 YES NO YES 4 1K 0 0 NO 9 N/A 4.0-5.5V 5xO + 1I YES2 NO NO YES 2 1 YES 4 YES 8 1K 64 0 YES LVISP+PAR LVISP+PAR LV/HVISP LV/HVISP LVISP LVISP LVISP LVISP YES YES ICCtiny ICCtiny 90 8MHz 4.0-5.5V 5xO + 1I YES1 NO NO YES 1 YES NO YES 5 1K 64 0 YES ATtiny12 - 44A 3618055 (I) - - 8S2 8S2 8S2 3617970 (I) 3617993 (I) 3618018 (I) - 40P6 8P3 8P3 8P3 3618043 (I) 3617981 (I) 3618006 (I) 3618020 (I) - LVISP+PAR LVISP LVISP LVISP ICCAVR 130 8MHz 4.0-5.5V 32 YES1 YES YES 1 YES 2 4 YES 8 YES 17 16K 512 1K YES ATtiny15 Static RAM In-System Programmable Boot Loader JTAG ISP/Debug Port Input/Output Analogue to Digital Convertor Serial Peripheral Interface Pulse Width Modulation Parallel programming mode Reprogrammable Code Memory Reprogrammable Data Memory Nominal Frequency 1MHz Nominal Frequency 1.6MHz Nominal Frequency 1/2/4/8MHz Low Voltage ISP High Voltage ISP Not Available To Be Announced AVR™ C Compiler - Full (302-2274) ATtiny C Compiler (TBA) Package Descriptions 8S2 - 8-Lead, 0.200” Wide, Plastic Gull-Wing Small Outline Package (EIAJ SOIC) 32A - 32-Lead, Thin (1.0mm) Plastic Gull-Wing Quad Flat Package (TQFP) 8P3 - 8-Lead, 0.300” Wide, Plastic Dual Inline Package (PDIP) 40P6 - 40-Lead, Thin (1.0mm) Plastic Dual Inline Package (PDIP) 20S - 20-Lead, 0.300” Wide, Plastic Gull-Wing Small Outline (SOIC) 44A - 44-Lead, Thin (1.0mm) Plastic Gull-Wing Quad Flat Package (TQFP) 20P3 - 20-Lead, 0.300” Wide, Plastic Dual Inline Package (PDIP) 44J - 44-Lead, Plastic J-Ledded Chip Carrier (PLCC) 28P3 - 28-Lead, 0.300” Wide, Plastic Dual Inline Package (PDIP) 64A - 64-Lead, Thin (1.0mm) Plastic Gull-Wing Quad Flat Package (TQFP) Operating Temperature Ranges (C) - Commercial Operating Range (OºC to 70ºC) (I) - Industrial Operating Range (-40ºC to 85ºC) Key SRAM ISP BL JTAG I/O ADC SPI PWM PAR FLASH EEPROM YES1 YES2 YES3 LVISP HVISP N/A TBA ICCAVR ICCtiny - * Max speed depends on Vcc voltage. Frequencies and Currents listed are for Vcc = 5.0V & T = 25ºC Please verify correct part codes for low voltage parts before ordering.
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project