APPLICATION NOTE. Atmel AVR057: Internal RC Oscillator Calibration for ATtiny4/5/9/10/20/40. 8-bit Atmel Microcontrollers. Features.

Similar documents
APPLICATION NOTE. Atmel AVR1638: XMEGA RTC Calibration. 8-bit Atmel Microcontrollers. Features. Introduction

APPLICATION NOTE. AT03324: Atmel REB212BSMA-EK Quick Start Guide. Atmel MCU Wireless. Introduction

APPLICATION NOTE. Atmel AT03160: Migrating Bootloader from ATxmega128A1 to other Atmel XMEGA Devices. Atmel AVR XMEGA. Features.

APPLICATION NOTE. Atmel AT03304: SAM D20 I 2 C Slave Bootloader SAM D20. Description. Features

AVR1518: XMEGA-A1 Xplained Training - XMEGA Clock System. 8-bit Atmel Microcontrollers. Application Note. Prerequisites.

APPLICATION NOTE. Atmel AT01080: XMEGA E Schematic Checklist. Atmel AVR XMEGA E. Features. Introduction

Atmel AVR1619: XMEGA-B1 Xplained Demonstration. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

Hardware Prerequisites Atmel Xplained Pro Evaluation Kit Atmel WINC1500 extension USB Micro Cable (TypeA / MicroB)

Atmel QT600 Quick Start Guide Touch Solutions

APPLICATION NOTE. Atmel AT02260: Driving AT42QT1085. Atmel QTouch. Features. Description

STK521. User Guide B AVR 01/12

OLED display with pixels resolution Ambient light sensor CPU load Analog filter Quadrature Encoder with push button Digital I/O

APPLICATION NOTE. Atmel AVR3009: Driving QTouch Device with I 2 C Interface. Atmel QTouch. Introduction

APPLICATION NOTE. Atmel AVR536: Migration from ATmega644 to ATmega644A. 8-bit Atmel Microcontrollers. Introduction

APPLICATION NOTE. Atmel AT03782: Using Low Power Modes in SAM4N Microcontroller. Atmel 32-bit Microcontroller. Features.

Atmel AVR32847: Migration from/to the UC3L0 64/32/16 from/to the UC3L0 256/ bit Atmel Microcontrollers. Application Note.

USER GUIDE. Wireless Production Test Reference Protocol Specification Document. Atmel MCU Wireless. Description

Atmel AVR ATxmega384C3 microcontroller OLED display with 128x32 pixels resolution Analog sensors. Ambient light sensor Temperature sensor

Atmel AT697F. Rad-Hard 32-bit SPARC v8 Processor ERRATA SHEET. Active Errata List

Atmel LF-RFID Kit Comparison Chart. Application Note. Atmel LF-RFID Kit Comparison Chart. 1. Description

APPLICATION NOTE. Atmel AVR116: Wear Leveling on DataFlash. 32-bit Atmel Microcontrollers. Features. Description. Wear leveling

Atmel ATMXT143E touchscreen controller Capacitive touch ITO 320 x 240 pixel LCD display with SPI interface LED backlight

Section 5 SERCOM. Tasks SPI. In this section you will learn:

OLED display Sensors readout. Light sensor Temperature sensor

AVR32917: picopower Board getting started. 32-bit Microcontrollers. Application Note. Preliminary. Features. 1 Introduction

AVR1503: Xplain training - XMEGA Programmable Multi Interrupt Controller 8-bit Microcontrollers Application Note Prerequisites

AVR4018: Inertial Two (ATAVRSBIN2) Hardware User's Guide. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR134: Real Time Clock (RTC) Using the Asynchronous Timer. Features. Introduction. AVR 8-bit Microcontrollers APPLICATION NOTE

Atmel AVR1924: XMEGA-A1 Xplained Hardware User's Guide. 8-bit Atmel Microcontrollers. Application Note. Preliminary. Features.

APPLICATION NOTE. Atmel AVR2131: Lightweight Mesh Getting Started Guide. Atmel MCU Wireless. Features. Description

Atmel AT697F. Rad-Hard 32-bit SPARC v8 Processor ERRATA SHEET. Active Errata List

AVR42789: Writing to Flash on the New tinyavr Platform Using Assembly

AVR1303: Use and configuration of IR communication module. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

32Kbytes on-chip SRAM. Viterbi decoding and CRC PRIME compliant 128-bit AES encryption Channel sensing and collision pre-detection

Atmel AVR1926: XMEGA-B1 Xplained Getting Started Guide. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

AVR1501: Xplain training XMEGA Timer/Counter 8-bit Microcontrollers Application Note Prerequisites 1 Introduction

Getting Started with the SAM4L-EK Demo

AVR532: Migration from ATmega48/88/168 to ATmega48A/88A/168A. 8-bit Microcontrollers. Application Note. 1 Introduction

AVR1922: Xplain Board Controller Firmware 8-bit Microcontrollers Application Note Features 1 Introduction

Atmel CryptoAuthentication Starter Kit

Atmel AVR473: ATAVRSB202 Hardware User Guide. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

One-channel Toggle-mode Touch Sensor IC with Power Management Functions AT42QT1012. Summary

AVR1315: Accessing the XMEGA EEPROM. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR097: Migration between ATmega128 and ATmega1281/ATmega bit Microcontrollers. Application Note. Features. 1 Introduction

8-bit Microcontroller with 16K Bytes In-System Programmable Flash. ATtiny87 ATtiny167 Automotive

USER GUIDE EDBG. Description

AVR based 125kHz RFID Evaluation Kit (Re)Programming Guide ATA2270-EK1. Overview. Fuse Settings: ISP Programming

AVR32752: Using the AVR32 UC3 Static Memory Controller. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

Atmel AT32UC3A3256 microcontroller 64MBit SDRAM Analog input (to ADC) Temperature sensor RC filter

APPLICATION NOTE. AT11008: Migration from ATxmega16D4/32D4 Revision E to Revision I. Atmel AVR XMEGA. Introduction. Features

EDBG. Description. Programmers and Debuggers USER GUIDE

Atmel AVR ATxmega384C3 microcontroller OLED display with pixels resolution Analog sensors. Ambient light sensor Temperature sensor

AVR1508: Xplain training - XMEGA DAC 8-bit Microcontrollers Application Note Features 1 Introduction

USER GUIDE. ATmega168 Xplained Mini User Guide. Introduction

a clock signal and a bi-directional data signal (SCL, SDA)

AT09381: SAM D - Debugging Watchdog Timer Reset. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE

USER GUIDE. ZigBit USB Stick User Guide. Introduction

ATAES132A Firmware Development Library. Introduction. Features. Atmel CryptoAuthentication USER GUIDE

AVR32901: EVKLCD100/EVKLCD101 Hardware User's Guide. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR42772: Data Logger Demo Application on XMEGA A1U Xplained Pro. Introduction. Features. AVR XMEGA Microcontrollers APPLICATION NOTE

AT91 ARM Thumb Microcontrollers. Application Note. AT91 Host Flash Loader. 1. Package Contents. 2. Definition of Terms. 3.

AT06467: Getting started with SAM D09/D10/D11. Features. Description. SMART ARM-based Microcontrollers APPLICATION NOTE

AVR1512: XMEGA-A1 Xplained training - XMEGA Basics. 8-bit Atmel Microcontrollers. Application Note. Prerequisites. 1 Introduction

ATtiny104 Xplained Nano. Preface. AVR 8-bit Microcontrollers USER GUIDE

ATECC108/ATSHA204 USER GUIDE. Atmel Firmware Library. Features. Introduction

AVR515: Migrating from ATmega48/88/168 and ATmega48P/88P/168P/328P to ATtiny48/88. 8-bit Microcontrollers. Application Note. Features.

SAM4 Reset Controller (RSTC)

AT03975: Getting Started with SAM L21. Descripton. Features. SMART ARM-Based Microcontroller APPLICATION NOTE

8-bit Microcontroller with 2K/4K/8K Bytes In-System Programmable Flash. Appendix A. Preliminary. ATtiny261 ATtiny461 ATtiny861 Automotive

High-performance Electrically Erasable Programmable Logic Device

AT60142H/HT. Rad-Hard 512Kx8 Very Low Power CMOS SRAM ERRATA-SHEET. Active Errata List. Errata History. Abbreviations. 1.

Embedded AVR Microcontroller Including RF Transmitter and Immobilizer LF Functionality for Remote Keyless Entry ATA5795. Summary.

LBAT90USB162 Atmel. LBAT90USB162 Development Board User s Manual

Application Note. Microcontrollers. Using Keil FlashMon Emulator with AT89C51CC01/03 AT89C51CC01/ Summary. 2. Background overview

AVR32 UC3 Software Framework... User Manual

Native route discovery algorithm

SBAT90USB162 Atmel. SBAT90USB162 Development Board User s Manual

Smart RF Device Family - Getting Started Guide. Features. Description. References ATAN0115 APPLICATION NOTE

AT11512: SAM L Brown Out Detector (BOD) Driver. Introduction. SMART ARM-based Microcontrollers APPLICATION NOTE

QTouch 8-key Touch Sensor IC AT42QT1085. Summary

AVR501: Replacing ATtiny15 with ATtiny25. 8-bit Microcontrollers. Application Note PRELIMINARY. Features. 1 Introduction

8-bit Microcontroller. Application Note. AVR320: Software SPI Master

Asynchronous SRAM Operating Voltage: 5V Read Access Time: 40 ns Write Cycle Time: 30 ns Very Low Power Consumption (Pre-RAD)

USER GUIDE. Atmel OLED1 Xplained Pro. Preface

AVR32401: AVR32 AP7 Linux Interfacing DataFlash. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AT697E. Application Note. Checking AT697E Code for Occurrence of LDF/FPOPd Instructions Sequence with a dependency on an Odd-Numbered Register

Table Of Contents TABLE OF CONTENTS...1

AT91 ARM Thumb Microcontrollers. Application Note. Using the ECC Controller on AT91SAM9260/9263 and AT91SAM7SE Microcontrollers. 1.

ATDH2200E Programming Kit... User Guide

APPLICATION NOTE. How to Securely Switch Atmel s LIN Transceiver ATA6662/ATA6662C to Sleep Mode ATA6662/ATA6662C. Concerning Atmel ATA6662

Ethernet1 Xplained Pro

USER GUIDE. Atmel Segment LCD1 Xplained Pro. Preface

USER GUIDE. Atmel QT1 Xplained Pro. Preface

AT91 ARM Thumb-based Microcontroller. Application Note. AT91SAM7X and AT91SAM7XC Microcontroller Series Schematic Check List. 1.

8-megabyte, 4-megabyte, and 2-megabyte 2.7-volt Only DataFlash Cards AT45DCB008D AT45DCB004D AT45DCB002D. Not Recommended for New Design

APPLICATION NOTE. AT03498: Low Power Modes in SAM3 Family. Atmel AT91 ARM Cortex Microcontrollers. Introduction

AT21CS Series Reset and Discovery. Introduction. Serial EEPROM APPLICATION NOTE

This user guide describes how to run the Atmel ATWINC3400 Bluetooth Low Energy (BLE) Provisioning demo from out-of-box conditions.

APPLICATION NOTE. Atmel AT03261: SAM D20 System Interrupt Driver (SYSTEM INTERRUPT) SAM D20 System Interrupt Driver (SYSTEM INTERRUPT)

CAN, 80C51, AVR, Microcontroller. Application Note

Transcription:

APPLICATION NOTE Features Atmel AVR057: Internal RC Oscillator Calibration for ATtiny4/5/9/10/20/40 8-bit Atmel Microcontrollers Calibration of the internal 8MHz RC Oscillator for Atmel ATtiny4/5/9/10/20/40 devices Calibration implemented with the Atmel AVR918 (Using the Atmel TPI) and the Atmel AVR911 (AVROSP) Adjustable RC frequency with ±1% accuracy Tune RC oscillator at any operating voltage and temperature Tune RC oscillator to any frequency within specification Introduction The ATtiny4/5/9/10/20/40 devices feature an internal 8MHz RC oscillator with prescalar and calibration register (OSCCAL). The internal RC oscillator of these devices is factory calibrated for ±10% accuracy at 3V supply voltage and at 25 C. But most of the applications needs more accurate clock as their basic requirement. For such applications AVR offers a way to calibrate the internal RC oscillator. The internal RC oscillator can be user calibrated to ±1% accuracy by modifying the OSCCAL register. This application note provides an easy procedure for calibrating the internal 8MHz RC oscillator of the ATtiny4/5/9/10/20/40 devices. It uses the AVR918 (Using Atmel Tiny Programming Interface) application note for programming and calibration with the AVROSP as the software frontend.

Table of Contents 1. The internal RC oscillator... 3 1.1 User calibration... 3 2. Calibration protocol... 4 2.2 Workflow... 5 3. Hardware setup... 7 4. Quick start guide... 9 5. Revision history... 12 2

1. The internal RC oscillator Majority of the AVR MCUs have an internal calibrated RC oscillator as one of the clock sources. This internal RC oscillator runs without connecting any external components to the MCU and can be used as the system clock. In production the internal RC oscillator of the Atmel ATtiny4/5/9/10/20/40 devices is calibrated at 3V. The accuracy of the factory calibration is within ±10%. If a design s need for accuracy is beyond what can be offered by the standard calibration in factory by Atmel, it is possible to perform a secondary calibration of the RC oscillator. By doing this it is possible to obtain frequency accuracy within ±1%. A secondary calibration can thus be performed to improve or tailor the accuracy or frequency of the oscillator. 1.1 User calibration The ATtiny4/5/9/10/20/40 devices contain a register called OSCCAL (OSCillator CALibration) register. The frequency of the internal RC oscillator will vary depending on the value loaded into the OSCCAL register. As an example Figure 1-1 shows the typical variation of the internal RC oscillator frequency of the ATtiny10 device with respect to the OSCCAL value at 3V supply voltage. Figure 1-1. Internal RC oscillator frequency variation with respect to OSCCAL value (for ATtiny10 at V CC = 3V). From the above plot it can be inferred that the frequency of the internal RC oscillator varies with the OSCCAL value as well as the temperature. Hence for a particular operating environment the internal RC oscillator can be calibrated to ±1% accuracy by varying the OSCCAL register. The OSCCAL value corresponding to the factory calibration will be saved into the production signature row of the device. Hence every time after reset the device loads the saved OSCCAL value from production signature row into the OSCCAL register. This makes the device to run the internal RC oscillator at ±10% accuracy by default. The user application can then calibrate the internal RC oscillator by modifying the OSCCAL register value continuously until it reaches the specified accuracy. 3

2. Calibration protocol The protocol implemented in this application note will calibrate the internal RC oscillator based on externally applied 32kHz signal. The process of calibration is accomplished with the Atmel AVR918 TPI programmer itself. Detailed explanation of how the TPI programmer is used for calibration is explained in the upcoming section. This section simply explains how the target device performs the calibration based on the 32kHz signal applied to its TPICLK pin. Figure 2-1 provides the flowchart of the main calibration routine running inside the target MCU. Figure 2-1. Flowchart for the main calibration routine. The I/O pin of the TPI programmer which is connected to the TPIDATA pin of the target is configured as input with internal pull-up enabled. The 32kHz signal is applied to the TPICLK pin of the target. 4

2.2 Workflow As a brief outline of the process the protocol uses the 16-bit timer of the target device which runs with the I/O clock without any prescaling. For Atmel ATtiny4/5/9/10 devices Timer0 is used and for Atmel ATtiny20/40 Timer1 is used. The protocol first initializes the OSCCAL register with an initial value (typically half the maximum) and starts the timer based on a falling edge of the calibration clock applied to the TPICLK pin. The timer is kept running for 40 calibration clock cycles. After 40 cycles the timer is stopped and the TCNT value is checked whether it is inside the limits of accuracy. If the value is more than the maximum limit the OSCCAL is reduced and if the value is less than the minimum limit the OSCCAL is increased and again the timer is run for next 40 calibration clock cycles. This process is continued until the TCNT value is within the accuracy limits. Step by step implementation of the calibration code is explained below. 1. The target device starts up with the initialization routine. This routine does the following steps. Allocates registers for program variables and initialize the variables Calculates the frequency limits and timer count limits for specified accuracy Initiates step size to half the maximum OSCCAL value Selects internal RC oscillator as clock source (This setting is default after reset) Configure system clock prescaler to clock divided by 1 (Default configuration is divide by 8) Configure TPIDATA pin as output and TPICLK pin as input with internal pullup Enable pin change interrupt on TPICLK pin Load OSCCAL value with initial step size (127) Set global interrupt enable bit 2. After initialization the main code checks whether the variable CALIB_STATUS is zero. If so then it waits indefinitely until it becomes non-zero. If the variable becomes non-zero it stops the calibration process and starts to send the OSCCAL value bit by bit which will be explained shortly. 3. When the TPICLK pin starts receiving 32kHz signal it triggers the pin change interrupt which has been enabled during initialization. Whenever a pin change interrupt is triggered the target checks whether it is a falling edge. It ignores a rising edge. 4. If falling edge is detected it increments the CYCLE_COUNTER variable and checks whether it has reached the maximum value (40). If not the clock to the timer is enabled and the CPU is returned to main. 5. If CYCLE_COUNTER reaches the limit the TCNT value is checked whether it is within the accuracy limits. If TCNT is more than the maximum limit then the OSCCAL is reduced by half of the step size. If TCNT is less than the minimum limit then the OSCCAL is increased by half of the step size. If TCNT is within the limits then the TPIDATA pin is pulled down to indicate the TPI programmer that the calibration is completed and the interrupts are disabled. Once the calibration is over the CPU executes the routine for transmitting the OSCCAL value to the TPI programmer. 6. If TCNT is not within limits the TCNT register is cleared, CYCLE_COUNTER is cleared and step 4 continues. The TPI programmer will always monitors for a low level on the TPIDATA pin. If the TPIDATA pin is pulled low it understands that the calibration on the target is completed and stops providing calibration clock to the TPICLK pin. Now the OSCCAL value has to be read back from the target. Since the target (ATtiny4/5/9/10) does not has any communication interface the I/O pin of the TPI programmer connected to the TPICLK pin of the target is toggled to output the OSCCAL value bit by bit on the TPIDATA line. The bits from the TPIDATA pin are accumulated to form the OSCCAL value at the TPI programmer. Figure 2-2 depicts the workflow of this process. 5

Figure 2-2. Flowchart for the OSCCAL read back. During calibration the TPI programmer acts as normal I/O pin controller controlling signals on the I/O pins of the target device. In other words the target is not under programming mode and the reset line is not under the control of the TPI programmer. Once the calibration is successful and the TPI programmer has the OSCCAL value it holds the reset line and enters into programming mode. If the calibration fails (that is if the TPIDATA line is not pulled low before the AVROSP timeout) the AVROSP timeout occurs and an error message will be popped up in the command window. 6

3. Hardware setup The application note does the programming of the target device as well as calibration of the target internal RC oscillator using Atmel AVR918 as TPI programmer and Atmel AVR911 as software frontend. Figure 3-1 shows the block schematics of the hardware setup. Figure 3-1. Hardware setup block schematics. AVR918 example code uses the Atmel ATmega324 as the TPI programmer since it has two USART modules in it. The ATmega324 is connected with an external 11.0592MHz crystal which acts as the clock source with the CKDIV8 fuse disabled. The USART0 module is operated asynchronously connected to the computer s RS232 port (after proper level conversion) and is used for communicating with the AVROSP running on the computer. The USART1 module is operated synchronously which is used for the TPI programming and for calibration. The commands for programming the target is same as explained in the AVR918 application note. For calibration the -Y command should be used. When a -Y command is sent to the TPI programmer through AVROSP the TPI programmer (ATmega324) does the following steps. 1. Saves current values of PORT and DDR registers corresponding to USART1 and disables the USART1 module. 2. Configures TXD1 & RXD1 pins as input with internal pull-up. 3. Configures XCK1 pin as output to send calibration clock. 4. Starts the Timer 1 to output 32kHz signal on XCK1 pin (OC1B pin Timer 1 operated in CTC mode with OC1B toggling on compare match). 5. Waits until RXD1 is pulled low. 6. Once the RXD1 is pulled low timer is stopped and signal on XCK1 pin is toggled to make the target send the OSCCAL value. For every toggling the programmer accumulates the value seen on RXD1 pin. This happens for eight times (1 byte OSCCAL value). 7. It then enables the USART1 module, restores the PORT and DDR values and sends back the OSCCAL value to the AVROSP. The Y command should be provided with the byte address of the flash to where the OSCCAL value is written. Also in the command line the Y command should be accompanied with the programming commands of final application hex code. For example the Y command should be used as below. avrosp.exe dattiny40 s Y5FF e pf vf ifuser.hex 7

When the above command is executed, after calibration the AVROSP reads the user.hex file and programs the target device with the hex file. While programming the hex file the AVROSP also programs the final OSCCAL value to the specified address (0x05FF byte address) of the flash. If the specified byte address is within the user hex file application code range then error message will be thrown. 8

4. Quick start guide 1. Download and extract the AVR057 zip file. 2. Open the folder AVR918_HEX_FILES. This folder contains the hex file of the TPI programmer. There will be three hex files available in this folder. One for the Atmel ATtiny4/5/9/10 devices, one for the Atmel ATtiny20 device and the third one for the Atmel ATtiny40 device. Select the required hex file and program the Atmel ATmega324 device with the hex file. 3. Connect an 11.0592MHz crystal between the XTAL1-XTAL2 pins of the ATmega324 and modify the fuse settings such that external crystal oscillator is selected as clock source and the CKDIV8 fuse is disabled. 4. Connect the TPI programmer to the computer as well as to the target device as shown in the block schematic in Figure 3-1. 5. Once the connections are done open command prompt and navigate to the Debug folder inside the AVR057 folder where the avrosp.exe file resides. Now execute the following commands. mode com1 baud=115200 parity=n data=8 avrosp.exe dattiny40 Y0 The first command configures the COM port of the computer and the second command start the calibration. The calibration clock will be now available on the PD4 (XCK1) pin of the TPI programmer (ATmega324). Using an oscilloscope measure the frequency of the clock signal on this pin (should be approximately 32kHz). Note: The AVROSP timeout error will be thrown on the command prompt. This error happens because we have not loaded the calibration firmware to the target. Ignore the error and reset the TPI programmer. 6. Now open the AVR057 folder extracted from the zip file and open the Atmel Studio 6 Solution file inside the folder. 7. Open the AVR057.asm file from the solution explorer and specify the device name in the first line of the code. For example if the device is ATtiny40 then mention.equ ATTINY = 40. 8. Specify the calibration clock frequency in the line.equ CALIB_CLOCK_FREQ = 31800 with the frequency measured in step 5. 9. Change the device in the Atmel Studio 6 project using Project -> AVR057 Properties -> Device -> Change Device. 10. Save the project and rebuild the project using Build -> Rebuild solution. The avr057.hex file will be generated inside the Debug folder of the project. The Debug folder also contains the avrosp.exe file as well as a batch file (avr057.bat) for convenience. 11. Open the avr057.bat batch file with notepad and specify the device name in the CPU field. Also specify the final application code hex file name in the CUSTOMERCODE field (currently it is set to user.hex) and save the batch file. 12. Copy the final application code hex file into the Debug folder of the AVR057 where the batch file exists and execute the batch file. 13. The batch file will first program the calibration firmware into the target device. Once the programming is successful the target device needs to be cycle powered. The batch file displays this message as shown in Figure 4-1. 9

Figure 4-1. Output after programming the target device with the AVR057.hex file. 14. Now cycle power the target device, reset the TPI programmer and hit a key enter on the computer s keyboard. 15. Once this is done the calibration starts followed by the programming of the user code. The final OSCCAL value is written to the flash location which is mentioned along with the Y command. Figure 4-2 shows the command output when the calibration and user code programming are successful. 10

Figure 4-2. Output after calibration with the OSCCAL value displayed. 11

5. Revision history Doc. rev. Date Comments 42038A 10/2012 Initial document release 12

Atmel Corporation 2325 Orchard Parkway San Jose, CA 95131 USA Tel: (+1)(408) 441-0311 Fax: (+1)(408) 487-2600 www.atmel.com Atmel Asia Limited Unit 01-5 & 16, 19F BEA Tower, Millennium City 5 418 Kwun Tong Road Kwun Tong, Kowloon HONG KONG Tel: (+852) 2245-6100 Fax: (+852) 2722-1369 Atmel Munich GmbH Business Campus Parkring 4 D-85748 Garching b. Munich GERMANY Tel: (+49) 89-31970-0 Fax: (+49) 89-3194621 Atmel Japan G.K. 16F Shin-Osaki Kangyo Building 1-6-4 Osaki Shinagawa-ku, Tokyo 141-0032 JAPAN Tel: (+81)(3) 6417-0300 Fax: (+81)(3) 6417-0370 2012 Atmel Corporation. All rights reserved. / Rev.: Atmel, Atmel logo and combinations thereof, AVR, 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.