ATtiny20 8-bit AVR Microcontroller with 2K Bytes In-System Programmable Flash DATASHEET SUMMARY Features z High performance, low power 8-bit AVR® microcontroller z Advanced RISC architecture z z z z 112 powerful instructions – most single clock cycle execution 16 x 8 general purpose working registers Fully static operation Up to 12 MIPS throughput at 12MHz z Non-volatile program and data memories z z z z 2K bytes of in-system programmable flash program memory 128 bytes internal SRAM Flash write/erase cycles: 10,000 Data retention: 20 years at 85oC / 100 years at 25oC z Peripheral features z z z z z z z One 8-bit timer/counter with two PWM channels One 16-bit timer/counter with two PWM channels 10-bit analog to digital converter z 8 single-ended channels Programmable watchdog timer with separate on-chip oscillator On-chip analog comparator Master/slave SPI serial interface Slave TWI serial interface z Special microcontroller features z z z z z In-system programmable External and internal interrupt sources Low power idle, ADC noise reduction, stand-by and power-down modes Enhanced power-on reset circuit Internal calibrated oscillator z I/O and packages z z z z 14-pin SOIC/TSSOP: 12 programmable I/O lines 12-ball WLCSP: 10 programmable I/O lines 15-ball UFBGA: 12 programmable I/O lines 20-pad VQFN: 12 programmable I/O lines z Operating voltage: z 1.8 – 5.5V z Programming voltage: z 5V z Speed grade z z z 0 – 4MHz @ 1.8 – 5.5V 0 – 8MHz @ 2.7 – 5.5V 0 – 12MHz @ 4.5 – 5.5V z Industrial temperature range z Low power consumption Active mode: z 200 μA at 1MHz and 1.8V z Idle mode: z 25μA at 1MHz and 1.8V z Power-down mode: z < 0.1μA at 1.8V z Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 1. Pin Configurations 1.1 SOIC & TSSOP Figure 1-1. SOIC/TSSOP VCC (PCINT8/TPICLK/T0/CLKI) PB0 (PCINT9/TPIDATA/MOSI/SDA/OC1A) PB1 (PCINT11/RESET) PB3 (PCINT10/INT0/MISO/OC1B/OC0A/CKOUT) PB2 (PCINT7/SCL/SCK/T1/ICP1/OC0B/ADC7) PA7 (PCINT6/SS/ADC6) PA6 14 2 13 3 12 4 11 5 10 6 9 7 8 GND PA0 (ADC0/PCINT0) PA1 (ADC1/AIN0/PCINT1) PA2 (ADC2/AIN1/PCINT2) PA3 (ADC3/PCINT3) PA4 (ADC4/PCINT4) PA5 (ADC5/PCINT5) VQFN NOTE Bottom pad should be soldered to ground. DNC: Do Not Connect 16 17 18 13 4 12 5 11 10 3 9 14 8 15 2 7 1 6 (PCINT4/ADC4) PA4 (PCINT3/ADC3) PA3 (PCINT2/AIN1/ADC2) PA2 (PCINT1/AIN0/ADC1) PA1 (PCINT0/ADC0) PA0 19 20 DNC DNC DNC PA5 (ADC5/PCINT5) PA6 (ADC6/PCINT6/SS) Figure 1-2. VQFN PA7 (ADC7/OC0B/ICP1/T1/SCL/SCK/PCINT7) PB2 (CKOUT/OC0A/OC1B/MISO/INT0/PCINT10) PB3 (RESET/PCINT11) PB1 (OC1A/SDA/MOSI/TPIDATA/PCINT9) PB0 (CLKI/T0/TPICLK/PCINT8) DNC DNC GND VCC DNC 1.2 1 ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 2 1.3 UFBGA Figure 1-3. UFBGA 1 2 3 4 2 1 A B B C C D D BOTTOM VIEW UFBGA Pin Configuration 1 A 1.4 3 A TOP VIEW Table 1-1. 4 2 3 4 PA5 PA6 PB2 B PA4 PA7 PB1 PB3 C PA3 PA2 PA1 PB0 D PA0 GND GND VCC Wafer Level Chip Scale Package Figure 1-4. WLCSP 1 2 3 4 A A B B C C D D TOP VIEW Table 1-2. D 2 PA4 3 4 PA1 PA6 B C BOTTOM VIEW WLCSP Ball Configuration 1 A 6 5 4 3 2 1 PA5 6 PA2 GND PA7 PB2 5 VDD PB1 PB3 PB0 ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 3 1.5 Pin Description 1.5.1 VCC Supply voltage. 1.5.2 GND Ground. 1.5.3 RESET Reset input. A low level on this pin for longer than the minimum pulse length will generate a reset, even if the clock is not running and provided the reset pin has not been disabled. The minimum pulse length is given in Table 20-4 on page 170. Shorter pulses are not guaranteed to generate a reset. The reset pin can also be used as a (weak) I/O pin. 1.5.4 Port A (PA7:PA0) Port A is a 8-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The Port A output buffers have symmetrical drive characteristics with both high sink and source capability. As inputs, Port A pins that are externally pulled low will source current if the pull-up resistors are activated. The Port A pins are tri-stated when a reset condition becomes active, even if the clock is not running. Port A has alternate functions as analog inputs for the ADC, analog comparator and pin change interrupt as described in “Alternate Port Functions” on page 47. 1.5.5 Port B (PB3:PB0) Port B is a 4-bit bi-directional I/O port with internal pull-up resistors (selected for each bit). The Port B output buffers have symmetrical drive characteristics with both high sink and source capability except PB3 which has the RESET capability. To use pin PB3 as an I/O pin, instead of RESET pin, program (‘0’) RSTDISBL fuse. As inputs, Port B pins that are externally pulled low will source current if the pull-up resistors are activated. The Port B pins are tri-stated when a reset condition becomes active, even if the clock is not running. The port also serves the functions of various special features of the ATtiny20, as listed on page 37. ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 4 2. Overview ATtiny20 is a low-power CMOS 8-bit microcontroller based on the compact AVR enhanced RISC architecture. By executing powerful instructions in a single clock cycle, the ATtiny20 achieves throughputs approaching 1 MIPS per MHz allowing the system designer to optimize power consumption versus processing speed. Figure 2-1. Block Diagram VCC RESET PROGRAMMING LOGIC PROGRAM COUNTER INTERNAL OSCILLATOR CALIBRATED OSCILLATOR PROGRAM FLASH STACK POINTER WATCHDOG TIMER TIMING AND CONTROL INSTRUCTION REGISTER SRAM RESET FLAG REGISTER INSTRUCTION DECODER INTERRUPT UNIT MCU STATUS REGISTER CONTROL LINES GENERAL PURPOSE REGISTERS TIMER/ COUNTER0 X Y Z ISP INTERFACE TIMER/ COUNTER1 ALU SPI ANALOG COMPARATOR STATUS REGISTER TWI ADC 8-BIT DATA BUS DIRECTION REG. PORT A DATA REGISTER PORT A DRIVERS PORT A PA[7:0] DIRECTION REG. PORT B DATA REGISTER PORT B DRIVERS PORT B GND PB[3:0] ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 5 The AVR core combines a rich instruction set with 16 general purpose working registers and system registers. All 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 compact and code efficient while achieving throughputs up to ten times faster than conventional CISC microcontrollers. ATtiny20 provides the following features: z 2K bytes of in-system programmable Flash z 128 bytes of SRAM z Twelve general purpose I/O lines z 16 general purpose working registers z An 8-bit Timer/Counter with two PWM channels z A 16-bit Timer/Counter with two PWM channels z Internal and external interrupts z An eight-channel, 10-bit ADC z A programmable Watchdog Timer with internal oscillator z A slave two-wire interface z A master/slave serial peripheral interface z An internal calibrated oscillator z Four software selectable power saving modes The device includes the following modes for saving power: z Idle mode: stops the CPU while allowing the timer/counter, ADC, analog comparator, SPI, TWI, and interrupt system to continue functioning z ADC Noise Reduction mode: minimizes switching noise during ADC conversions by stopping the CPU and all I/O modules except the ADC z Power-down mode: registers keep their contents and all chip functions are disabled until the next interrupt or hardware reset z Standby mode: the oscillator is running while the rest of the device is sleeping, allowing very fast start-up combined with low power consumption. The device is manufactured using Atmel’s high density non-volatile memory technology. The on-chip, in-system programmable Flash allows program memory to be re-programmed in-system by a conventional, non-volatile memory programmer. The ATtiny20 AVR is supported by a suite of program and system development tools, including macro assemblers and evaluation kits. ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 6 3. General Information 3.1 Resources A comprehensive set of drivers, application notes, data sheets and descriptions on development tools are available for download at http://www.atmel.com/avr. 3.2 Code Examples This documentation contains simple code examples that briefly show how to use various parts of the device. These code examples assume that the part specific header file is included before compilation. Be aware that not all C compiler vendors include bit definitions in the header files and interrupt handling in C is compiler dependent. Please confirm with the C compiler documentation for more details. 3.3 Capacitive Touch Sensing Atmel QTouch Library provides a simple to use solution for touch sensitive interfaces on Atmel AVR microcontrollers. The QTouch Library includes support for QTouch® and QMatrix® acquisition methods. Touch sensing is easily added to any application by linking the QTouch Library and using the Application Programming Interface (API) of the library to define the touch channels and sensors. The application then calls the API to retrieve channel information and determine the state of the touch sensor. The QTouch Library is free and can be downloaded from the Atmel website. For more information and details of implementation, refer to the QTouch Library User Guide – also available from the Atmel website. 3.4 Data Retention Reliability Qualification results show that the projected data retention failure rate is much less than 1 PPM over 20 years at 85°C or 100 years at 25°C. 3.5 Disclaimer Typical values contained in this datasheet are based on simulations and characterization of other AVR microcontrollers manufactured on the same process technology. ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 7 4. Register Summary Address Name Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Page 0x3F SREG I T H S V N Z C Page 14 0x3E SPH Stack Pointer High Byte 0x3D SPL Stack Pointer Low Byte Page 13 Page 13 0x3C CCP CPU Change Protection Byte Page 13 0x3B RSTFLR – – – – WDRF BORF EXTRF PORF Page 35 0x3A MCUCR ICSC01 ICSC00 – BODS SM2 SM1 SM0 SE Pages 26, 38 – – – 0x39 OSCCAL 0x38 Reserved – – – Oscillator Calibration Byte – 0x37 CLKMSR – – – – – – CLKMS1 CLKMS0 Page 20 0x36 CLKPSR – – – – CLKPS3 CLKPS2 CLKPS1 CLKPS0 Page 21 – – – PRTWI PRSPI PRTIM1 PRTIM0 PRADC Page 27 0x35 PRR 0x34 QTCSR 0x33 NVMCMD – Page 22 – QTouch Control and Status Register – Page 7 NVM Command Page 166 0x32 NVMCSR NVMBSY – – – – – – – 0x31 WDTCSR WDIF WDIE WDP3 – WDE WDP2 WDP1 WDP0 Page 33 0x30 SPCR SPIE SPE DORD MSTR CPOL CPHA SPR1 SPR0 Page 132 0x2F SPSR SPIF WCOL – – – – SSPS SPI2X 0x2E SPDR SPI Data Register Page 166 Page 133 Page 134 0x2D TWSCRA TWSHE – TWDIE TWASIE TWEN TWSIE 0x2C TWSCRB – – – – – TWAA 0x2B TWSSRA TWDIF TWASIF TWCH TWRA TWC TWBE 0x2A TWSA TWI Slave Address Register 0x29 TWSAM TWI Slave Address Mask Register Page 147 0x28 TWSD TWI Slave Data Register Page 146 0x27 GTCCR TSM – – – – – – PSR Page 104 0x26 TIMSK ICE1 – OCIE1B OCIE1A TOIE1 OCIE0B OCIE0A TOIE0 Pages 74, 101 Pages 75, 102 TWPME TWSME TWCMD[1.0] TWDIR Page 143 Page 144 TWAS Page 145 Page 146 0x25 TIFR ICF1 – OCF1B OCF1A TOV1 OCF0B OCF0A TOV0 0x24 TCCR1A COM1A1 COM1A0 COM1B1 COM1B0 – – WGM11 WGM10 Page 96 0x23 TCCR1B ICNC1 ICES1 – WGM13 WGM12 CS12 CS11 CS10 Page 98 0x22 TCCR1C FOC1A FOC1B – – – – – – 0x21 TCNT1H Timer/Counter1 – Counter Register High Byte Page 100 Page 100 0x20 TCNT1L Timer/Counter1 – Counter Register Low Byte Page 100 0x1F OCR1AH Timer/Counter1 – Compare Register A High Byte Page 100 0x1E OCR1AL Timer/Counter1 – Compare Register A Low Byte Page 100 0x1D OCR1BH Timer/Counter1 – Compare Register B High Byte Page 101 0x1C OCR1BL Timer/Counter1 – Compare Register B Low Byte Page 101 0x1B ICR1H Timer/Counter1 - Input Capture Register High Byte Page 101 0x1A ICR1L Timer/Counter1 - Input Capture Register Low Byte 0x19 TCCR0A COM0A1 COM0A0 COM0B1 COM0B0 – – WGM01 WGM00 Page 69 0x18 TCCR0B FOC0A FOC0B – – WGM02 CS02 CS01 CS00 Page 72 Page 101 0x17 TCNT0 Timer/Counter0 – Counter Register Page 73 0x16 OCR0A Timer/Counter0 – Compare Register A Page 74 0x15 OCR0B 0x14 ACSRA Timer/Counter0 – Compare Register B ACD ACBG ACO ACI ACIE Page 74 ACIC ACIS1 ACIS0 Page 106 0x13 ACSRB HSEL HLEV ACLP – ACCE ACME ACIRS1 ACIRS0 Page 107 0x12 ADCSRA ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS0 Page 122 0x11 ADCSRB VDEN VDPD – – ADLAR ADTS2 ADTS1 ADTS0 Page 123 0x10 ADMUX – REFS REFEN ADC0EN MUX3 MUX2 MUX1 MUX0 Page 120 0x0F ADCH ADC Conversion Result – High Byte 0x0E ADCL ADC Conversion Result – Low Byte Page 121 0x0D DIDR0 ADC7D ADC6D ADC5D ADC4D ADC3D ADC2D ADC1D 0x0C GIMSK – – PCIE1 PCIE0 – – 0x0B GIFR – – PCIF1 PCIF0 – – 0x0A PCMSK1 – – – – PCINT11 0x09 PCMSK0 PCINT7 PCINT6 PCINT5 PCINT4 0x08 PORTCR – – – – Page 121 ADC0D Page 124 – INT0 Page 39 – INTF0 Page 40 PCINT10 PCINT9 PCINT8 Page 40 PCINT3 PCINT2 PCINT1 PCINT0 Page 41 – – BBMB BBMA Page 56 Page 57 0x07 PUEB – – – – PUEB3 PUEB2 PUEB1 PUEB0 0x06 PORTB – – – – PORTB3 PORTB2 PORTB1 PORTB0 Page 57 0x05 DDRB – – – – DDRB3 DDRB2 DDRB1 DDRB0 Page 57 0x04 PINB – – – – PINB3 PINB2 PINB1 PINB0 Page 58 0x03 PUEA PUEA7 PUEA6 PUEA5 PUEA4 PUEA3 PUEA2 PUEA1 PUEA0 Page 57 0x02 PORTA PORTA7 PORTA6 PORTA5 PORTA4 PORTA3 PORTA2 PORTA1 PORTA0 Page 57 0x01 DDRA DDRA7 DDRA6 DDRA5 DDRA4 DDRA3 DDRA2 DDRA1 DDRA0 Page 57 0x00 PINA PINA7 PINA6 PINA5 PINA4 PINA3 PINA2 PINA1 PINA0 Page 57 ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 8 Note: 1. For compatibility with future devices, reserved bits should be written to zero if accessed. Reserved I/O memory addresses should never be written. 2. I/O Registers within the address range 0x00 - 0x1F are directly bit-accessible using the SBI and CBI instructions. In these registers, the value of single bits can be checked by using the SBIS and SBIC instructions. 3. Some of the Status Flags are cleared by writing a logical one to them. Note that, unlike most other AVRs, the CBI and SBI instructions will only operation the specified bit, and can therefore be used on registers containing such Status Flags. The CBI and SBI instructions work with registers 0x00 to 0x1F only. ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 9 5. Instruction Set Summary Mnemonics Operands Description Operation Flags #Clocks ARITHMETIC AND LOGIC INSTRUCTIONS ADD Rd, Rr Add without Carry Rd ← Rd + Rr Z,C,N,V,S,H ADC Rd, Rr Add with Carry Rd ← Rd + Rr + C Z,C,N,V,S,H 1 SUB Rd, Rr Subtract without Carry Rd ← Rd - Rr Z,C,N,V,S,H 1 1 SUBI Rd, K Subtract Immediate Rd ← Rd - K Z,C,N,V,S,H 1 SBC Rd, Rr Subtract with Carry Rd ← Rd - Rr - C Z,C,N,V,S,H 1 SBCI Rd, K Subtract Immediate with Carry Rd ← Rd - K - C Z,C,N,V,S,H 1 AND Rd, Rr Logical AND Rd ← Rd • Rr Z,N,V,S 1 ANDI Rd, K Logical AND with Immediate Rd ← Rd • K Z,N,V,S 1 OR Rd, Rr Logical OR Rd ← Rd v Rr Z,N,V,S 1 ORI Rd, K Logical OR with Immediate Rd ← Rd v K Z,N,V,S 1 EOR Rd, Rr Exclusive OR Rd ← Rd ⊕ Rr Z,N,V,S 1 COM Rd One’s Complement Rd ← $FF − Rd Z,C,N,V,S 1 NEG Rd Two’s Complement Rd ← $00 − Rd Z,C,N,V,S,H 1 1 SBR Rd,K Set Bit(s) in Register Rd ← Rd v K Z,N,V,S CBR Rd,K Clear Bit(s) in Register Rd ← Rd • ($FFh - K) Z,N,V,S 1 INC Rd Increment Rd ← Rd + 1 Z,N,V,S 1 DEC Rd Decrement Rd ← Rd − 1 Z,N,V,S 1 TST Rd Test for Zero or Minus Rd ← Rd • Rd Z,N,V,S 1 CLR Rd Clear Register Rd ← Rd ⊕ Rd Z,N,V,S 1 SER Rd Set Register Rd ← $FF None 1 Relative Jump PC ← PC + k + 1 None 2 Indirect Jump to (Z) PC(15:0) ← Z, PC(21:16) ← 0 None 2 BRANCH INSTRUCTIONS RJMP k IJMP Relative Subroutine Call PC ← PC + k + 1 None 3/4 ICALL Indirect Call to (Z) PC(15:0) ← Z, PC(21:16) ← 0 None 3/4 RET Subroutine Return PC ← STACK None 4/5 RETI Interrupt Return PC ← STACK I Compare, Skip if Equal if (Rd = Rr) PC ← PC + 2 or 3 None RCALL CPSE k Rd,Rr 4/5 1/2/3 CP Rd,Rr Compare Rd − Rr Z, C,N,V,S,H 1 CPC Rd,Rr Compare with Carry Rd − Rr − C Z, C,N,V,S,H 1 CPI Rd,K Compare with Immediate Rd − K Z, C,N,V,S,H SBRC Rr, b Skip if Bit in Register Cleared if (Rr(b)=0) PC ← PC + 2 or 3 None 1/2/3 1/2/3 1 SBRS Rr, b Skip if Bit in Register is Set if (Rr(b)=1) PC ← PC + 2 or 3 None SBIC A, b Skip if Bit in I/O Register Cleared if (I/O(A,b)=0) PC ← PC + 2 or 3 None 1/2/3 SBIS A, b Skip if Bit in I/O Register is Set if (I/O(A,b)=1) PC ← PC + 2 or 3 None 1/2/3 BRBS s, k Branch if Status Flag Set if (SREG(s) = 1) then PC←PC+k + 1 None 1/2 BRBC s, k Branch if Status Flag Cleared if (SREG(s) = 0) then PC←PC+k + 1 None 1/2 BREQ k Branch if Equal if (Z = 1) then PC ← PC + k + 1 None 1/2 BRNE k Branch if Not Equal if (Z = 0) then PC ← PC + k + 1 None 1/2 BRCS k Branch if Carry Set if (C = 1) then PC ← PC + k + 1 None 1/2 BRCC k Branch if Carry Cleared if (C = 0) then PC ← PC + k + 1 None 1/2 BRSH k Branch if Same or Higher if (C = 0) then PC ← PC + k + 1 None 1/2 BRLO k Branch if Lower if (C = 1) then PC ← PC + k + 1 None 1/2 BRMI k Branch if Minus if (N = 1) then PC ← PC + k + 1 None 1/2 BRPL k Branch if Plus if (N = 0) then PC ← PC + k + 1 None 1/2 BRGE k Branch if Greater or Equal, Signed if (N ⊕ V= 0) then PC ← PC + k + 1 None 1/2 BRLT k Branch if Less Than Zero, Signed if (N ⊕ V= 1) then PC ← PC + k + 1 None 1/2 BRHS k Branch if Half Carry Flag Set if (H = 1) then PC ← PC + k + 1 None 1/2 BRHC k Branch if Half Carry Flag Cleared if (H = 0) then PC ← PC + k + 1 None 1/2 BRTS k Branch if T Flag Set if (T = 1) then PC ← PC + k + 1 None 1/2 BRTC k Branch if T Flag Cleared if (T = 0) then PC ← PC + k + 1 None 1/2 BRVS k Branch if Overflow Flag is Set if (V = 1) then PC ← PC + k + 1 None 1/2 BRVC k Branch if Overflow Flag is Cleared if (V = 0) then PC ← PC + k + 1 None 1/2 BRIE k Branch if Interrupt Enabled if ( I = 1) then PC ← PC + k + 1 None 1/2 BRID k Branch if Interrupt Disabled if ( I = 0) then PC ← PC + k + 1 None 1/2 BIT AND BIT-TEST INSTRUCTIONS LSL Rd Logical Shift Left Rd(n+1) ← Rd(n), Rd(0) ← 0 Z,C,N,V,H 1 LSR Rd Logical Shift Right Rd(n) ← Rd(n+1), Rd(7) ← 0 Z,C,N,V 1 ROL Rd Rotate Left Through Carry Rd(0)←C,Rd(n+1)← Rd(n),C←Rd(7) Z,C,N,V,H 1 ROR Rd Rotate Right Through Carry Rd(7)←C,Rd(n)← Rd(n+1),C←Rd(0) Z,C,N,V 1 ASR Rd Arithmetic Shift Right Rd(n) ← Rd(n+1), n=0..6 Z,C,N,V 1 SWAP Rd Swap Nibbles Rd(3..0)←Rd(7..4),Rd(7..4)←Rd(3..0) None 1 BSET s Flag Set SREG(s) ← 1 SREG(s) 1 BCLR s Flag Clear SREG(s) ← 0 SREG(s) 1 ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 10 Mnemonics Operands Description Operation Flags #Clocks SBI A, b Set Bit in I/O Register I/O(A, b) ← 1 None 1 CBI A, b Clear Bit in I/O Register I/O(A, b) ← 0 None 1 BST Rr, b Bit Store from Register to T T ← Rr(b) T 1 BLD Rd, b Bit load from T to Register Rd(b) ← T None 1 1 SEC Set Carry C←1 C CLC Clear Carry C←0 C 1 SEN Set Negative Flag N←1 N 1 CLN Clear Negative Flag N←0 N 1 SEZ Set Zero Flag Z←1 Z 1 CLZ Clear Zero Flag Z←0 Z 1 SEI Global Interrupt Enable I←1 I 1 CLI Global Interrupt Disable I←0 I 1 SES Set Signed Test Flag S←1 S 1 CLS Clear Signed Test Flag S←0 S 1 SEV Set Two’s Complement Overflow. V←1 V 1 CLV Clear Two’s Complement Overflow V←0 V 1 SET Set T in SREG T←1 T 1 CLT Clear T in SREG T←0 T 1 SEH CLH Set Half Carry Flag in SREG Clear Half Carry Flag in SREG H←1 H←0 H H 1 1 1 DATA TRANSFER INSTRUCTIONS MOV Rd, Rr Copy Register Rd ← Rr None LDI Rd, K Load Immediate Rd ← K None 1 LD Rd, X Load Indirect Rd ← (X) None 1/2 LD Rd, X+ Load Indirect and Post-Increment Rd ← (X), X ← X + 1 None 2 LD Rd, - X Load Indirect and Pre-Decrement X ← X - 1, Rd ← (X) None 2/3 1/2 LD Rd, Y Load Indirect Rd ← (Y) None LD Rd, Y+ Load Indirect and Post-Increment Rd ← (Y), Y ← Y + 1 None 2 LD Rd, - Y Load Indirect and Pre-Decrement Y ← Y - 1, Rd ← (Y) None 2/3 1/2 LD Rd, Z Load Indirect Rd ← (Z) None LD Rd, Z+ Load Indirect and Post-Increment Rd ← (Z), Z ← Z+1 None 2 LD Rd, -Z Load Indirect and Pre-Decrement Z ← Z - 1, Rd ← (Z) None 2/3 LDS Rd, k Store Direct from SRAM Rd ← (k) None 1 ST X, Rr Store Indirect (X) ← Rr None 1 ST X+, Rr Store Indirect and Post-Increment (X) ← Rr, X ← X + 1 None 1 ST - X, Rr Store Indirect and Pre-Decrement X ← X - 1, (X) ← Rr None 2 1 ST Y, Rr Store Indirect (Y) ← Rr None ST Y+, Rr Store Indirect and Post-Increment (Y) ← Rr, Y ← Y + 1 None 1 ST - Y, Rr Store Indirect and Pre-Decrement Y ← Y - 1, (Y) ← Rr None 2 ST Z, Rr Store Indirect (Z) ← Rr None 1 ST Z+, Rr Store Indirect and Post-Increment. (Z) ← Rr, Z ← Z + 1 None 1 ST -Z, Rr Store Indirect and Pre-Decrement Z ← Z - 1, (Z) ← Rr None 2 1 STS k, Rr Store Direct to SRAM (k) ← Rr None IN Rd, A In from I/O Location Rd ← I/O (A) None 1 OUT A, Rr Out to I/O Location I/O (A) ← Rr None 1 PUSH Rr Push Register on Stack STACK ← Rr None 2 POP Rd Pop Register from Stack Rd ← STACK None 2 MCU CONTROL INSTRUCTIONS BREAK Break (see specific descr. for Break) None 1 NOP No Operation None 1 SLEEP WDR Sleep Watchdog Reset None None 1 (see specific descr. for Sleep) (see specific descr. for WDR) ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 1 11 6. Ordering Information 6.1 ATtiny20 Speed Supply Voltage Temperature Range Package (2) 12U-1 14S1 12 MHz 1.8 – 5.5V 14X Industrial (-40°C to +85°C) (4) 15CC1 20M2 Ordering Code (1) ATtiny20-UUR ATtiny20-SSU ATtiny20-SSUR ATtiny20-XU ATtiny20-XUR ATtiny20-CCU ATtiny20-CCUR ATtiny20-MMH (3) ATtiny20-MMHR (3) Notes: 1. Code indicators: z H: NiPdAu lead finish z U: matte tin z R: tape & reel 2. All packages are Pb-free, halide-free and fully green and they comply with the European directive for Restriction of Hazardous Substances (RoHS). 3. Topside marking for ATtiny20: z 1st Line: T20 z 2nd & 3rd Line: manufacturing data 4. These devices can also be supplied in wafer form. Please contact your local Atmel sales office for detailed ordering information and minimum quantities. Package Type 12U-1 12-ball 1.540 x 1.388mm Body, 0.433 mm thick, 0.40 mm Pitch (3x4 Staggered Array), WLCSP 14S1 14-lead, 0.150" Wide Body, Plastic Gull Wing Small Outline Package (SOIC) 14X 14-lead, 4.4 mm Body, Thin Shrink Small Outline Package (TSSOP) 15CC1 15-ball (4 x 4 Array), 0.65 mm Pitch, 3.0 x 3.0 x 0.6 mm, Ultra Thin Fine-Pitch Ball Grid Array Package (UFBGA) 20M2 20-pad, 3 x 3 x 0.85 mm Body, Very Thin Quad Flat No Lead Package (VQFN) ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 12 7. Packaging Information 7.1 12U-3 *!j @; +, G &#&' * &#\ + ' $% ' + &k * - M Q &#&' P M Q &#&' P * H * &#&& - H H iJQ,W -; =$$=?%$H?-%=?Q?%@=$H-XHY$$W $%? G -<$*=> &#'[ &#+ &#[& &#&' &#& J &#Z &#Z &#ZZ $ + % & ' ' ? #&&&*- - &#Z*- H &#+&&*- - &#+&&*- &#&\' ; * \ * #+& H #&Z*- HQ$,W [email protected] #''' !$` $, Q$,W ?!]J]!^_!`!^!J""# """""# ?]]"_"f# ?=$ * *& !"#! 7,7/( 8qJ""#'''`#+&!!*vq&#'[!! _q&#+&!!_Q+`-vWq w>-Q'+&W *3& '5$:,1*12 5(9 ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 13 7.2 14S1 1 E H E N L Top View End View e COMMON DIMENSIONS (Unit of Measure = mm/inches) b A1 A D Side View MIN NOM MAX A 1.35/0.0532 – 1.75/0.0688 A1 0.1/.0040 – 0.25/0.0098 SYMBOL b 0.33/0.0130 – 0.5/0.0200 5 D 8.55/0.3367 – 8.74/0.3444 2 E 3.8/0.1497 – 3.99/0.1574 3 H 5.8/0.2284 – 6.19/0.2440 L 0.41/0.0160 – 1.27/0.0500 4 e Notes: NOTE 1.27/0.050 BSC 1. This drawing is for general information only; refer to JEDEC Drawing MS-012, Variation AB for additional information. 2. Dimension D does not include mold Flash, protrusions or gate burrs. Mold Flash, protrusion and gate burrs shall not exceed 0.15 mm (0.006") per side. 3. Dimension E does not include inter-lead Flash or protrusion. Inter-lead flash and protrusions shall not exceed 0.25 mm (0.010") per side. 4. L is the length of the terminal for soldering to a substrate. 5. The lead width B, as measured 0.36 mm (0.014") or greater above the seating plane, shall not exceed a maximum value of 0.61 mm (0.024") per side. 2/5/02 Package Drawing Contact: [email protected] TITLE DRAWING NO. 14S1, 14-lead, 0.150" Wide Body, Plastic Gull Wing Small Outline Package (SOIC) 14S1 ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 REV. A 14 7.3 14X Dimensions in Millimeters and (Inches). Controlling dimension: Millimeters. JEDEC Standard MO-153 AB-1. INDEX MARK PIN 1 4.50 (0.177) 4.30 (0.169) 5.10 (0.201) 4.90 (0.193) 0.65 (.0256) BSC 1.20 (0.047) MAX 0.15 (0.006) 0.05 (0.002) 0.30 (0.012) 0.19 (0.007) 6.50 (0.256) 6.25 (0.246) SEATING PLANE 0.20 (0.008) 0.09 (0.004) 0º~ 8º 0.75 (0.030) 0.45 (0.018) 05/16/01 Package Drawing Contact: [email protected] TITLE 14X (Formerly "14T") , 14-lead (4.4 mm Body) Thin Shrink Small Outline Package (TSSOP) DRAWING NO. . REV. . 14X B ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 15 7.4 15CC1 1 2 3 4 0.08 A Pin#1 ID B SIDE VIEW D C D b1 A1 E A A2 TOP VIEW E1 15-Øb e D e COMMON DIMENSIONS (Unit of Measure = mm) C D1 B A SYMBOL MIN NOM MAX A – – 0.60 A1 0.12 – – 0.38 REF A2 A1 BALL CORNER 1 2 3 4 BOTTOM VIEW b 0.25 b1 0.25 D 2.90 Note1: Dimension “b” is measured at the maximum ball dia. in a plane parallel 1 – – 2 3.00 3.10 1.95 BSC 3.10 3.00 1.95 BSC E1 e to the seating plane. 0.35 0.30 D1 E 2.90 NOTE 0.65 BSC Note2: Dimension “b1” is the solderable surface defined by the opening of the solder resist layer. TITLE Package Drawing Contact: pac[email protected] 15CC1, 15-ball (4 x 4 Array), 3.0 x 3.0 x 0.6 mm package, ball pitch 0.65 mm, Ultra thin, Fine-Pitch Ball Grid Array Package (UFBGA) GPC CBC DRAWING NO. 07/06/10 REV. 15CC1 ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 C 16 7.5 20M2 D C y Pin 1 ID E SIDE VIEW TOP VIEW A1 A D2 16 17 18 19 20 COMMON DIMENSIONS (Unit of Measure = mm) C0.18 (8X) 15 1 Pin #1 Chamfer (C 0.3) 14 2 e E2 13 3 12 4 11 5 b 10 9 8 7 6 K L BOTTOM VIEW 0.3 Ref (4x) SYMBOL MIN NOM MAX A 0.75 0.80 0.85 A1 0.00 0.02 0.05 b 0.17 0.22 0.27 C 0.152 D 2.90 3.00 3.10 D2 1.40 1.55 1.70 E 2.90 3.00 3.10 E2 1.40 1.55 1.70 e – 0.45 – L 0.35 0.40 0.45 – – 0.00 – K 0.20 y NOTE 0.08 10/24/08 Package Drawing Contact: [email protected] TITLE 20M2, 20-pad, 3 x 3 x 0.85 mm Body, Lead Pitch 0.45 mm, 1.55 x 1.55 mm Exposed Pad, Thermally Enhanced Plastic Very Thin Quad Flat No Lead Package (VQFN) GPC ZFC DRAWING NO. 20M2 ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 REV. B 17 8. Errata The revision letters in this section refer to the revision of the corresponding ATtiny20 device. 8.1 Rev. A Issue: Lock bits re-programming Resolution: Attempt to re-program Lock bits to present, or lower protection level (tampering attempt), causes erroneously one, random line of Flash program memory to get erased. The Lock bits will not get changed, as they should not. Workaround: Do not attempt to re-program Lock bits to present, or lower protection level. Issue: MISO output driver is not disabled by Slave Select (SS) signal Resolution: When SPI is configured as a slave and the MISO pin is configured as an output the pin output driver is constantly enabled, even when the SS pin is high. If other slave devices are connected to the same MISO line this behaviour may cause drive contention. Workaround: Monitor SS pin by software and use the DDRB2 bit of DDRB to control the MISO pin driver. ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 18 9. Datasheet Revision History Revision Date Comments 8235F 09/2014 Changed text in Section 7.1 from 12U-1 to 12U-3. Updated back page. 8235E 03/13 Updated WLCSP ball configuration on page 3. Updated WLCSP package drawing, “12U-3” on page 13 8235D 10/12 Updated Document template, and “Pin Configurations” on page 2 8235C 06/12 Updated “Ordering Information” on page 12. Added Wafer Level Chip Scale Package “12U-3” on page 13. Removed Preliminary status. 8235B 04/11 Updated Bit syntax throughout the datasheet, e.g. from CS02:0 to CS0[2:0], Idle Mode description on page 6, “Capacitive Touch Sensing” on page 7 (section updated and moved), “Disclaimer” on page 7, Sentence on low impedance sources in “Analog Input Circuitry” on page 116, Description on 16-bit registers on page 9, Description on Stack Pointer on page 10, List of active modules in “Idle Mode” on page 23, Description on reset pulse width in “Watchdog Reset” on page 30, Program code on page 37, Bit description in Figure 11-3 on page 62, Section “Compare Output Mode and Waveform Generation” on page 63, Signal descriptions in Figure 11-5 on page 64, and Figure 11-7 on page 67, Equations on page 65, page 66, and page 67, Terminology in sections describing extreme values on page 66, and page 67, Description on creating frequency waveforms on page 67, Signal routing in Figure 121 on page 76, TOP definition in Table 12-1 on page 77, Signal names in Figure 12-3 on page 79, TWSHE bit description in “TWSCRA – TWI Slave Control Register A” on page 143, SPI slave assembly code example on page 129, Table 21-1 on page 174, Section “Speed” on page 168, Characteristics in Figure 21-3 on page 176, and Figure 21-8 on page 179. Added Note on internal voltage reference in Table 15-4 on page 121, PRADC in Table 21-2 on page 175, MISO output driver errata for device rev. A in “Errata” on page 18 8235A 03/10 Initial revision ATtiny20 [DATASHEET] Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014 19 XXXXXX Atmel Corporation 1600 Technology Drive, San Jose, CA 95110 USA T: (+1)(408) 441.0311 F: (+1)(408) 436.4200 | www.atmel.com © 2014 Atmel Corporation. / Rev.: Atmel-8235FS-AVR-ATtiny20-Datasheet_09/2014. Atmel®, Atmel logo and combinations thereof, Enabling Unlimited Possibilities®, and others are registered trademarks or trademarks of Atmel Corporation in U.S. and other countries. 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. SAFETY-CRITICAL, MILITARY, AND AUTOMOTIVE APPLICATIONS DISCLAIMER: Atmel products are not designed for and will not be used in connection with any applications where the failure of such products would reasonably be expected to result in significant personal injury or death (“Safety-Critical Applications”) without an Atmel officer's specific written consent. Safety-Critical Applications include, without limitation, life support devices and systems, equipment or systems for the operation of nuclear facilities and weapons systems. Atmel products are not designed nor intended for use in military or aerospace applications or environments unless specifically designated by Atmel as military-grade. Atmel products are not designed nor intended for use in automotive applications unless specifically designated by Atmel as automotive-grade.