8-bit Atmel megaAVR Microcontroller ATmega16M1 / ATmega32M1 / ATmega64M1 Summary Features • • • • • • • • • • • • High performance, low power Atmel® AVR® 8-bit microcontroller Advanced RISC architecture – 131 powerful instructions - most single clock cycle execution – 32 × 8 general purpose working registers – Fully static operation – Up to 1 MIPS throughput per MHz – On-chip 2-cycle multiplier Data and non-volatile program memory – 16/32/64KBytes flash of in-system programmable program memory – 512B/1K/2KBytes of in-system programmable EEPROM – 1/2/4KBytes internal SRAM – Write/erase cycles: 10,000 flash/ 100,000 EEPROM – Data retention: 20 years at 85°C/ 100 years at 25°C (1) – Optional boot code section with independent lock bits In-system programming by on-chip boot program True read-while-write operation – Programming lock for flash program and EEPROM data security On-chip debug interface (debugWIRE) CAN 2.0A/B with six message objects - ISO 16845 certified LIN 2.1 and 1.3 controller or 8-bit UART One 12-bit high speed PSC (power stage controller) – Non overlapping inverted PWM output pins with flexible dead-time – Variable PWM duty cycle and frequency – Synchronous update of all PWM registers – Auto stop function for emergency event Peripheral features – One 8-bit general purpose timer/counter with separate prescaler, compare mode and capture mode – One 16-bit general purpose timer/counter with separate prescaler, compare mode and capture mode – One master/slave SPI serial interface – 10-bit ADC Up to 11 single ended channels and three fully differential ADC channel pairs Programmable gain (5×, 10×, 20×, 40×) on differential channels Internal reference voltage Direct power supply voltage measurement – 10-bit DAC for variable voltage reference (comparators, ADC) – Four analog comparators with variable threshold detection – 100µA ±2% current source (LIN node identification) – Interrupt and wake-up on pin change – Programmable watchdog timer with separate on-chip oscillator – On-chip temperature sensor Special microcontroller features – Low power idle, noise reduction, and power down modes – Power on reset and programmable brown-out detection – In-system programmable via SPI port – High precision crystal oscillator for CAN operations (16MHz) – Internal calibrated RC oscillator (8MHz) – On-chip PLL for fast PWM (32MHz, 64MHz) and CPU (16MHz) Operating voltage: 2.7V - 5.5V Extended operating temperature: – -40°C to +85°C Core speed grade: – 0 - 8MHz @ 2.7 - 4.5V – 0 - 16MHz @ 4.5 - 5.5V 8209ES–AVR–11/2012 1. Pin configurations PB7 (ADC4/PSCOUT0B/SCK/PCINT7) PB6 (ADC7/PSCOUT1B/PCINT6) PB5 (ADC6/INT2/ACMPN1/AMP2-/PCINT5) PC7 (D2A/AMP2+/PCINT15) PD0 (PCINT16/PSCOUT0A) PC0(PCINT8/INT3/PSCOUT1A) 32 31 30 29 28 27 26 25 PE0 (PCINT24/RESET/OCD) Atmel ATmega16M1/32M1/64M1 TQFP32/QFN32 (7mm × 7mm) package. PD1(PCINT17/PSCIN0/CLKO) Figure 1-1. 24 23 22 21 20 19 18 17 PB4 (AMP0+/PCINT4) PB3 (AMP0-/PCINT3) PC6 (ADC10/ACMP1/PCINT14) AREF(ISRC) AGND AVCC PC5 (ADC9/ACMP3/AMP1+/PCINT13) PC4 (ADC8/ACMPN3/AMP1-/PCINT12) 9 10 11 12 13 14 15 16 1 2 3 4 5 6 7 8 (PCINT1/MOSI/PSCOUT2B) PB1 (PCINT25/OC0B/XTAL1) PE1 (PCINT26/ADC0/XTAL2) PE2 (PCINT20/ADC1/RXD/RXLIN/ICP1A/SCK_A) PD4 (ADC2/ACMP2/PCINT21) PD5 (ADC3/ACMPN2/INT0/PCINT22) PD6 (ACMP0/PCINT23) PD7 (ADC5/INT1/ACMPN0/PCINT2) PB2 (PCINT18/PSCIN2/OC1A/MISO_A) PD2 (PCINT19/TXD/TXLIN/OC0A/SS/MOSI_A) PD3 (PCINT9/PSCIN1/OC1B/SS_A) PC1 VCC GND (PCINT10/T0/TXCAN) PC2 (PCINT11/T1/RXCAN/ICP1B) PC3 (PCINT0/MISO/PSCOUT2A) PB0 ATmega16M1/32M1/64M1 [DATASHEET] 8209ES–AVR–11/2012 2 1.1 Pin descriptions Table 1-1. Pinout description. QFN32 pin number Mnemonic Type 5 GND Power Ground: 0V reference 20 AGND Power Analog ground: 0V reference for analog part 4 VCC Power Power supply 19 AVCC Power Analog power supply: This is the power supply voltage for analog part Name, function, and alternate function For a normal use this pin must be connected 21 AREF Power Analog reference: reference for analog converter . This is the reference voltage of the A/D converter. As output, can be used by external analog ISRC (Current Source Output) MISO (SPI Master In Slave Out) 8 PB0 I/O PSCOUT2A (1) (PSC Module 2 Output A) PCINT0 (Pin Change Interrupt 0) MOSI (SPI Master Out Slave In) 9 PB1 I/O PSCOUT2B (1) (PSC Module 2 Output B) PCINT1 (Pin Change Interrupt 1) ADC5 (Analog Input Channel 5) 16 PB2 I/O INT1 (External Interrupt 1 Input) ACMPN0 (Analog Comparator 0 Negative Input) PCINT2 (Pin Change Interrupt 2) 23 PB3 I/O 24 PB4 I/O AMP0- (Analog Differential Amplifier 0 Negative Input) PCINT3 (Pin Change Interrupt 3) AMP0+ (Analog Differential Amplifier 0 Positive Input) PCINT4 (Pin Change Interrupt 4) ADC6 (Analog Input Channel 6) INT2 (External Interrupt 2 Input) 26 PB5 I/O ACMPN1 (Analog Comparator 1 Negative Input) AMP2- (Analog Differential Amplifier 2 Negative Input) PCINT5 (Pin Change Interrupt 5) ADC7 (Analog Input Channel 7) 27 PB6 I/O PSCOUT1B (1) (PSC Module 1 Output A) PCINT6 (Pin Change Interrupt 6) ADC4 (Analog Input Channel 4) 28 PB7 I/O PSCOUT0B (1) (PSC Module 0 Output B) SCK (SPI Clock) PCINT7 (Pin Change Interrupt 7) PSCOUT1A (1) (PSC Module 1 Output A) 30 PC0 I/O INT3 (External Interrupt 3 Input) PCINT8 (Pin Change Interrupt 8) ATmega16M1/32M1/64M1 [DATASHEET] 8209ES–AVR–11/2012 3 Table 1-1. Pinout description. (Continued) QFN32 pin number Mnemonic Type Name, function, and alternate function PSCIN1 (PSC Digital Input 1) 3 PC1 I/O OC1B (Timer 1 Output Compare B) SS_A (Alternate SPI Slave Select) PCINT9 (Pin Change Interrupt 9) T0 (Timer 0 clock input) 6 PC2 I/O TXCAN (CAN Transmit Output) PCINT10 (Pin Change Interrupt 10) T1 (Timer 1 clock input) 7 PC3 I/O RXCAN (CAN Receive Input) ICP1B (Timer 1 input capture alternate B input) PCINT11 (Pin Change Interrupt 11) ADC8 (Analog Input Channel 8) 17 PC4 I/O AMP1- (Analog Differential Amplifier 1 Negative Input) ACMPN3 (Analog Comparator 3 Negative Input ) PCINT12 (Pin Change Interrupt 12) ADC9 (Analog Input Channel 9) 18 PC5 I/O AMP1+ (Analog Differential Amplifier 1 Positive Input) ACMP3 (Analog Comparator 3 Positive Input) PCINT13 (Pin Change Interrupt 13) ADC10 (Analog Input Channel 10) 22 PC6 I/O ACMP1 (Analog Comparator 1 Positive Input) PCINT14 (Pin Change Interrupt 14) D2A (DAC output) 25 PC7 I/O AMP2+ (Analog Differential Amplifier 2 Positive Input) PCINT15 (Pin Change Interrupt 15) 29 PD0 I/O 32 PD1 I/O PSCOUT0A (1) (PSC Module 0 Output A) PCINT16 (Pin Change Interrupt 16) PSCIN0 (PSC Digital Input 0) CLKO (System Clock Output) PCINT17 (Pin Change Interrupt 17) OC1A (Timer 1 Output Compare A) 1 PD2 I/O PSCIN2 (PSC Digital Input 2) MISO_A (Programming & alternate SPI Master In Slave Out) PCINT18 (Pin Change Interrupt 18) TXD (UART Tx data) TXLIN (LIN Transmit Output) 2 PD3 I/O OC0A (Timer 0 Output Compare A) SS (SPI Slave Select) MOSI_A (Programming & alternate Master Out SPI Slave In) PCINT19 (Pin Change Interrupt 19) ATmega16M1/32M1/64M1 [DATASHEET] 8209ES–AVR–11/2012 4 Table 1-1. Pinout description. (Continued) QFN32 pin number Mnemonic Type Name, function, and alternate function ADC1 (Analog Input Channel 1) RXD (UART Rx data) 12 PD4 I/O RXLIN (LIN Receive Input) ICP1A (Timer 1 input capture alternate A input) SCK_A (Programming & alternate SPI Clock) PCINT20 (Pin Change Interrupt 20) ADC2 (Analog Input Channel 2) 13 PD5 I/O ACMP2 (Analog Comparator 2 Positive Input) PCINT21 (Pin Change Interrupt 21) ADC3 (Analog Input Channel 3) 14 PD6 I/O ACMPN2 (Analog Comparator 2 Negative Input) INT0 (External Interrupt 0 Input) PCINT22 (Pin Change Interrupt 22) 15 PD7 I/O 31 PE0 I/O or I ACMP0 (Analog Comparator 0 Positive Input) PCINT23 (Pin Change Interrupt 23) RESET (Reset Input) OCD (On Chip Debug I/O) PCINT24 (Pin Change Interrupt 24) XTAL1 (XTAL Input) 10 PE1 I/O OC0B (Timer 0 Output Compare B) PCINT25 (Pin Change Interrupt 25) XTAL2 (XTAL Output) 11 PE2 I/O ADC0 (Analog Input Channel 0) PCINT26 (Pin Change Interrupt 26) Note: 1. Only for Atmel Atmega32M1/64M1. 2. On the engineering samples, the ACMPN3 alternate function is not located on PC4. It is located on PE2. 2. Overview The Atmel ATmega16M1/32M1/64M1 is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture. By executing powerful instructions in a single clock cycle, the ATmega16M1/32M1/64M1 achieves throughputs approaching 1 MIPS per MHz allowing the system designer to optimize power consumption versus processing speed. ATmega16M1/32M1/64M1 [DATASHEET] 8209ES–AVR–11/2012 5 Block diagram Figure 2-1. Block diagram. Data bus 8-bit Flash program memory Program counter Status and control Interrupt unit SPI unit 32 x 8 general purpose registrers Instruction register Indirect addressing Control lines Watchdog timer Four analog comparators Instruction decoder Direct addressing 2.1 ALU HW LIN/UART Timer 0 Timer 1 Data SRAM ADC EEPROM DAC I/O lines MPSC Current source CAN The AVR core combines a rich instruction set with 32 general purpose working registers. All the 32 registers are directly connected to the Arithmetic Logic Unit (ALU), allowing two independent registers to be accessed in one single instruction executed in one clock cycle. The resulting architecture is more code efficient while achieving throughputs up to ten times faster than conventional CISC microcontrollers. The Atmel ATmega16M1/32M1/64M1 provides the following features: 16/32/64Kbytes of In-System Programmable Flash with Read-While-Write capabilities, 512B/1K/2Kbytes EEPROM, 1/2/4Kbytes SRAM, 27 general purpose I/O lines, 32 general purpose working registers, one Motor Power Stage Controller, two flexible Timer/Counters with compare modes and PWM, one UART with HW LIN, an 11-channel 10-bit ADC with two differential input stages with programmable gain, a 10-bit DAC, a programmable Watchdog Timer with Internal Individual Oscillator, an SPI serial port, an On-chip Debug system and four software selectable power saving modes. The Idle mode stops the CPU while allowing the SRAM, Timer/Counters, SPI ports, CAN, LIN/UART and interrupt system to continue functioning. The Power-down mode saves the register contents but freezes the Oscillator, disabling all other chip functions until the next interrupt or Hardware Reset. The ADC Noise Reduction mode stops the ATmega16M1/32M1/64M1 [DATASHEET] 8209ES–AVR–11/2012 6 CPU and all I/O modules except ADC, to minimize switching noise during ADC conversions. In Standby mode, the Crystal/Resonator Oscillator is running while the rest of the device is sleeping. This allows very fast start-up combined with low power consumption. The device is manufactured using the Atmel high-density nonvolatile memory technology. The On-chip ISP Flash allows the program memory to be reprogrammed in-system through an SPI serial interface, by a conventional nonvolatile memory programmer, or by an On-chip Boot program running on the AVR core. The boot program can use any interface to download the application program in the application Flash memory. Software in the Boot Flash section will continue to run while the Application Flash section is updated, providing true Read-While-Write operation. By combining an 8-bit RISC CPU with In-System Self-Programmable Flash on a monolithic chip, the Atmel ATmega16M1/32M1/64M1 is a powerful microcontroller that provides a highly flexible and cost effective solution to many embedded control applications. The Atmel ATmega16M1/32M1/64M1 AVR is supported with a full suite of program and system development tools including: C compilers, macro assemblers, program debugger/simulators, in-circuit emulators, and evaluation kits. ATmega16M1/32M1/64M1 [DATASHEET] 8209ES–AVR–11/2012 7 3. Ordering information 3.1 3.2 3.3 Note: Atmel ATmega16M1 Speed Power supply 16MHz 2.7V - 5.5V Ordering code Package ATmega16M1 - AU 32A ATmega16M1 - MU PV Ordering code Package Operation range Industrial (-40C to 85C) Atmel ATmega32M1 Speed Power supply 16MHz 2.7V - 5.5V ATmega32M1 - AU 32A ATmega32M1 - MU PV Ordering code Package Operation range Industrial (-40C to 85C) Atmel ATmega64M1 Speed Power supply 16MHz 2.7V - 5.5V ATmega64M1 - AU 32A ATmega64M1 - MU PV Operation range Industrial (-40C to 85C) All packages are Pb free, fully LHF. Package type 32A 32-lead, thin (1.0mm) plastic quad flat package (TQFP) PV PV, 32-lead, 7.0mm × 7.0mm body, 0.65mm pitch quad flat no lead package (QFN) ATmega16M1/32M1/64M1 [DATASHEET] 8209ES–AVR–11/2012 8 4. Packaging information 4.1 32A PIN 1 IDENTIFIER PIN 1 e B E1 E D1 D C 0°~7° A1 A2 A L COMMON DIMENSIONS (Unit of measure = mm) MIN NOM MAX A – – 1.20 A1 0.05 – 0.15 A2 0.95 1.00 1.05 D 8.75 9.00 9.25 D1 6.90 7.00 7.10 E 8.75 9.00 9.25 E1 6.90 7.00 7.10 B 0.30 – 0.45 C 0.09 – 0.20 L 0.45 – 0.75 SYMBOL Notes: 1. This package conforms to JEDEC reference MS-026, Variation ABA. 2. Dimensions D1 and E1 do not include mold protrusion. Allowable protrusion is 0.25mm per side. Dimensions D1 and E1 are maximum plastic body size dimensions including mold mismatch. 3. Lead coplanarity is 0.10mm maximum. e NOTE Note 2 Note 2 0.80 TYP 2010-10-20 R 2325 Orchard Parkway San Jose, CA 95131 TITLE 32A, 32-lead, 7 x 7mm body size, 1.0mm body thickness, 0.8mm lead pitch, thin profile plastic quad flat package (TQFP) DRAWING NO. REV. 32A C ATmega16M1/32M1/64M1 [DATASHEET] 8209ES–AVR–11/2012 9 4.2 PV PV, 32 - lead 7.0mm x 7.0mm body, 0.65mm pitch quad flat no lead package (QFN) ATmega16M1/32M1/64M1 [DATASHEET] 8209ES–AVR–11/2012 10 Atmel Corporation 1600 Technology Drive Atmel Asia Limited Unit 01-5 & 16, 19F Atmel Munich GmbH Business Campus Atmel Japan G.K. 16F Shin-Osaki Kangyo Bldg San Jose, CA 95110 BEA Tower, Millennium City 5 Parkring 4 1-6-4 Osaki, Shinagawa-ku USA 418 Kwun Tong Roa D-85748 Garching b. Munich Tokyo 141-0032 Tel: (+1) (408) 441-0311 Kwun Tong, Kowloon GERMANY JAPAN Fax: (+1) (408) 487-2600 HONG KONG Tel: (+49) 89-31970-0 Tel: (+81) (3) 6417-0300 www.atmel.com Tel: (+852) 2245-6100 Fax: (+49) 89-3194621 Fax: (+81) (3) 6417-0370 Fax: (+852) 2722-1369 © 2012 Atmel Corporation. All rights reserved. / Rev.: 8209ES–AVR–11/2012 Atmel®, Atmel logo and combinations thereof, Enabling Unlimited Possibilities®, and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others. Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN THE ATMEL TERMS AND CONDITIONS OF SALES LOCATED ON THE ATMEL WEBSITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS AND PROFITS, BUSINESS INTERRUPTION, OR LOSS OF INFORMATION) ARISING OUT OF THE USE OR INABILITY TO USE THIS DOCUMENT, EVEN IF ATMEL HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. Atmel makes no representations or warranties with respect to the accuracy or completeness of the contents of this document and reserves the right to make changes to specifications and products descriptions at any time without notice. Atmel does not make any commitment to update the information contained herein. Unless specifically provided otherwise, Atmel products are not suitable for, and shall not be used in, automotive applications. Atmel products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life.