AVR1606: XMEGA Internal RC Oscillator Calibration. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Similar documents
AVR1003: Using the XMEGA Clock System. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR122: Calibration of the AVR's internal temperature reference. 8-bit Microcontrollers. Application Note. Features.

AVR1302: Using the XMEGA Analog Comparator. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1311: Using the XMEGA Timer/Counter Extensions. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Flasher IC with 18-mΩ Shunt U6043B

8-bit. Application Note. Microcontrollers. AVR077: Opto Isolated Emulation for the DebugWIRE

AVR053: Calibration of the internal RC oscillator. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR055: Using a 32kHz XTAL for run-time calibration of the internal RC. 8-bit Microcontrollers. Application Note. Features.

UHF ASK/FSK Receiver ATA5721 ATA5722. Features

Atmel ATA6629/ Atmel ATA6631 Development Board V2.2. Application Note. Atmel ATA6629/ATA6631 Development Board V

8-bit Microcontroller with 2K Bytes In-System Programmable Flash. ATtiny261A. Appendix A. Appendix A ATtiny261A Specification at 105 C

AVR32908: EVK1104 Getting Started Guide. 32-bit Microcontrollers. EVK1104 Getting Started Guide. Features. 1 Introduction

Atmel U6032B. Automotive Toggle Switch IC DATASHEET. Features. Description

Flasher, 18-mΩ Shunt, Frequency Doubling Disabling U6433B

Flasher, 30 mω Shunt, Pilot Lamp to GND or V Batt U2043B

APPLICATION NOTE. AT11009: Migration from ATxmega64D3/128D3/192D3/256D3 Revision E to Revision I. Introduction. Features.

Flasher IC with U643B

AVR443: Sensor-based control of three phase Brushless DC motor. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

1-Megabit (64K x 16) OTP EPROM AT27C1024

4-Megabit (256K x 16) OTP EPROM AT27C4096

ATA6140. Flasher Application Module. Application Note. ATA Flasher Application Module. 1. Description

Current Monitor IC U4793B

Application Note. 8-bit Microcontrollers. AVR092: Replacing ATtiny11/12 by ATtiny13. Features. Introduction

Digital Window Watchdog Timer U5021M

Low-cost Phase-control IC with Soft Start

Rad Hard 128K x volt Very Low Power CMOS SRAM M65609E

256K (32K x 8) Unregulated Battery-Voltage High-Speed OTP EPROM AT27BV256

APPLICATION NOTE. Atmel AVR127: Understanding ADC Parameters. Atmel 8-bit Microcontroller. Features. Introduction

AVR443: Sensorbased control of three phase Brushless DC motor. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

8Mb (1M x 8) One-time Programmable, Read-only Memory

8-bit Microcontroller. Application Note. AVR084: Replacing ATmega323 by ATmega32. Features. Introduction. ATmega323 Errata Corrected in ATmega32

Atmel ATA5791. Embedded AVR Microcontroller Including RF Transmitter and Complete LF Functionality for Passive Entry/Passive Start Keys

All-in-One IC Solution for Active Antennas ATR4252. Summary

Atmel AVR042: AVR Hardware Design Considerations. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

Rear Window Heating Timer/ Long-term Timer U6046B

AVR042: AVR Hardware Design Considerations. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

256K (32K x 8) Unregulated Battery. Programmable, Read-only Memory

Application Note. How to Connect C51 Microcontroller to ATR Microcontrollers

1Mb (128K x 8) Low Voltage, One-time Programmable, Read-only Memory

ATAVRAUTO User Guide

1Mb (128K x 8) Unregulated Battery Voltage, One-time Programmable, Read-only Memory

APPLICATION NOTE. Atmel AVR2067: Crystal Characterization for AVR RF. Atmel MCU Wireless. Features. Description

Application Note. 8-Bit Microcontrollers. AVR433: Power Factor Corrector (PFC) with AT90PWM2 Re-triggable High Speed PSC

Rad. Tolerant 8K x 8-5 volts Very Low Power CMOS SRAM AT65609EHW

Frequency Synthesizer for Radio Tuning ATR4256

Read/Write Crypto Transponder for Short Cycle Time TK5561A-PP

Application Note. Preliminary. 8-bit Microcontrollers

PWM Power Control IC with Interference Suppression U6083B

8-bit Microcontroller. Application Note. AVR400: Low Cost A/D Converter

Rad. Tolerant 128Kx8, 5-Volt Very Low Power CMOS SRAM M65608E

1Mb (64K x 16) Unregulated Battery Voltage, High-speed, One-time Programmable, Read-only Memory

Zero-voltage Switch with Adjustable Ramp T2117

APPLICATION NOTE. ATA6629/ATA6631 Development Board V2.2 ATA6629/ATA6631. Introduction

AT15291: Migrating QTouch Designs from SAM D MCUs to SAM C MCUs. Scope. Features. QTouch APPLICATION NOTE

512K (64K x 8) Unregulated Battery. Programmable, Read-only Memory

Atmel RF Products. RF Selection Guide

AVR221: Discrete PID Controller on tinyavr and megaavr devices. Introduction. AVR 8-bit Microcontrollers APPLICATION NOTE

Two-relay Flasher ATA6140

Read/Write Base Station U2270B

AT14164: User Calibration of Internal Temperature Sensor - SAM R21. Introduction. SMART ARM-based MCUs APPLICATION NOTE

AVR600: RZ600 HW Manual. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

ATF15xx Power-On Reset Hysteresis Feature. Abstract. Features. Complex Programmable Logic Device APPLICATION NOTE

Fast read access time 70ns Low-power CMOS operation 100μA max standby 30mA max active at 5MHz. JEDEC standard packages 32-lead PDIP 32-lead PLCC

8-bit Microcontroller. Application Note. AVR083: Replacing ATmega163 by ATmega16

300-MHz Quadrature Modulator U2793B

Transceiver Base Station Board ATAB542x-x-B. Application Note. Bill of Materials and Implementation of the Transceiver Base Station Board ATAB542x-x-B

8-bit RISC Microcontroller. Application Note. AVR182: Zero Cross Detector

QTouch Capacitive Touch Technology Copyright Atmel Atmel Corporation

Transceiver Base Station Board ATAB5823-x-B/ ATAB5824-x-B. Application Note

Low-power Audio Amplifier for Telephone Applications U4083B

IR Receiver for Data Communication U2538B

AN3332 Application note

AN3101 Application note

Atmel ATA6628/ Atmel ATA6630 Development Board V1.1. Application Note. Atmel ATA6628/ATA6630 Development Board V

Low-cost Phase-control IC with Soft Start U2008B

Can Transceiver IC B10011S

AN Programming the PCA200x family of watch ICs. Document information

8-bit Microcontroller. Application Note. AVR085: Replacing AT90S8515 by ATmega8515. Features. Introduction. AT90S8515 Errata Corrected in ATmega8515

1-Megabit (64K x 16) OTP EPROM AT27C1024

Phase-control IC with Current Feedback and. Overload. Protection

8Mb (1M x 8) One-time Programmable, Read-only Memory

Driving LEDs with a PIC Microcontroller Application Note

AN2581 Application note

Low-power Flasher IC with 18-m Shunt U6432B

AN4014 Application Note Adjustable LED blinking frequency using a potentiometer and STM8SVLDISCOVERY Application overview

Standard Read/Write ID Transponder with Anticollision TK5551

Designing With CryptoAuthentication Client Devices

Special Fail-safe IC U6808B

Low-noise, High-dynamicrange. Antenna Amplifier IC ATR4251

2-Megabit (128K x 16) OTP EPROM AT27C2048

1-Megabit (128K x 8) OTP EPROM AT27C010

AN3252 Application note

8-bit RISC Microcontroller. Application Note. AVR314: DTMF Generator

Introduction. Reference Documents. AFE Calibration on SAM V/E/S7x Microcontrollers. SMART ARM-based Microcontrollers APPLICATION NOTE

APPLICATION NOTE. Atmel ATA6286-EK3 Active RFID Evaluation Kit. Atmel ATAN0057. Description

APPLICATION NOTE. ATA6621, ATA6621N, ATA6622, ATA6622C, ATA6624, ATA6624C, ATA6626, ATA6626C Development Board ATA6621/22/24/26.

AN3300 Application note

Atmel LED Driver-MSLB9061 LED Driver Module. Compact, 6-channel LED Driver Board with I 2 C Interface. Datasheet

UM0791 User manual. Demonstration firmware for the DMX-512 communication protocol receiver based on the STM32F103Zx. Introduction

Atmel ATR4253C. Integrated Circuit Solution for Active Antennas DATASHEET. Features

Transcription:

AVR1606: XMEGA Internal RC Oscillator Calibration Features Adjustable RC frequency with +/-1% accuracy Support for all XMEGA s with tunable RC oscillator via JTAG interface Calibration using JTAGICE mkii and AVRONE for one time Tune RC oscillator at any operating voltage and temperature Firmware implementation for use during production programming 8-bit Microcontrollers Application Note 1 Introduction This application note describes a fast and accurate method to calibrate the internal RC oscillator. It offers an easily adaptable calibration firmware source code, which can be used with any XMEGA with internal tunable RC oscillator and JTAG interface. This firmware allows device calibration using the AVR tools JTAGICE mkii and AVRONE. The internal RC oscillator frequency can be calibrated to within +/-1% of the frequency specified in the datasheet for the XMEGA device. This feature offers great flexibility and significant cost savings compared to using an external oscillator. The calibration performed in the Atmel factory is made at a fixed operating voltage and temperature (typically 85 C, 3V). As the frequency of internal RC oscillators are affected by both operating voltage and temperature, it may be desired to perform a secondary calibration, which matches the specific application environment. This secondary calibration can be performed to gain higher accuracy than the standard calibration offers, to match a specific operating voltage or temperature. The calibration method described in this application note only takes a fraction of a second longer than reading the factory calibration byte from the signature row and writing it back to the to the device memory. Thus, the overall programming time is almost unaffected when performing calibration in the programming step in production. In some systems it may be more beneficial to perform run-time calibration of the oscillator. This may be desirable in applications that need an accurate system clock over the entire temperature range and independent of operating voltage. In that case a 32.768 khz watch crystal may offer a reliable and cost efficient solution. Automatic runtime calibration is covered by chapter 7 Runtime calibration A Quick Start Guide is found at the end of this document. Rev.

2 Theory of operation the internal RC oscillators In production the internal RC oscillators are mostly calibrated at 3V/85 C. Refer to Oscillator Characteristics in the datasheet of the individual devices for information about the operating voltage used during calibration. If a design s need for accuracy is +/-1% at other operating voltage and temperature 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 at any operating voltage and temperature. A secondary calibration can thus be performed to improve or tailor the accuracy or frequency of the oscillator. 2.1 Clock selection The XMEGA System Clock source is selectable from software, and can be changed during normal operation. Each oscillator option has a status flag that can be read from software to check that the oscillator is ready. After reset the XMEGA starts up running from the 2 MHz internal calibrated RC oscillator. An overview of the clock selection is available in the datasheets. 2.2 Internal calibrated RC oscillator overview 2.2.1 Calibrated 32.768 khz RC Oscillator 2.2.2 Calibrated 2 MHz RC Oscillator 2.2.3 Calibrated 32 MHz RC Oscillator There are three internal calibrated RC oscillators on XMEGA, ranging from 32.768 khz RC oscillator to a 32 MHz factory calibrated RC oscillator with auto calibration features. All calibrated oscillators can be used as main system clock. The following sections provide an overview of the internal calibrated RC oscillators available in the XMEGA microcontrollers. This RC oscillator provides an approximate 32.768 khz clock. A factory-calibrated value is written to the 32.768 khz oscillator calibration register during reset to ensure that the oscillator is running within its specification. The calibration register can also be written from software for runtime calibration of the oscillator frequency. The oscillator employs a built in prescaler providing both a 32.768 khz output and a 1.024 khz output. This RC oscillator provides an approximate 2 MHz clock. The oscillator employs a Digital Frequency Looked Loop (DFLL) that can be enabled for automatic run-time calibration of the oscillator. A factory-calibrated value is written to the 2 MHz DFLL Calibration Register during reset to ensure that the oscillator is running within its specification. The calibration register can also be written from software for manual run-time calibration of the oscillator. This RC oscillator provides an approximate 32 MHz clock. The oscillator employs a Digital Frequency Locked Loop (DFLL) that can be enabled for automatic run-time calibration of the oscillator. A factory-calibrated value is written to the 32 MHz DFLL Calibration Register during reset to ensure that the oscillator is running within its 2 AVR1606

2.3 Oscillator characteristics AVR1606 specification. The calibration register can also be written from software for manual run-time calibration of the oscillator. The frequency of the internal 32.768 khz RC oscillator is depending on the temperature and operating voltage. An example of this dependency is seen in Figure 2-1, which shows the 1.024 khz output frequency of the 32.768 khz RC oscillator of the ATxmega128A1. As seen from the figure, the frequency increases with increasing temperature, and decreases slightly with increasing operating voltage. These characteristics will vary from device to device. For details on a specific device refer to its datasheet. Figure 2-1. Internal 32.768 khz oscillator Frequency vs. Temperature (1.024 khz output) All XMEGA devices with tunable 32.768 khz RC oscillators have an RC32KCAL register for tuning the oscillator frequency. An increasing value in RC32KCAL will result in an increase in frequency. This information is very relevant when searching for the best calibration value to fit a given frequency. The two built in Digital Frequency Locked Loops (DFLLs) in all XMEGA devices can be used to improve the accuracy of the 2 MHz and 32 MHz internal oscillators. The reference clock sources can be selected to be the internal 32.768 Hz RC oscillator or an external 32.768 khz watch crystal. That means the 2 MHz and 32 MHz internal oscillators precision will be decided by the reference clock accuracy. When the DFLL is enabled it will count each oscillator clock cycle, and for each reference clock edge, the counter value is compared to the fixed ideal relationship between the reference clock and the oscillator frequency. If the internal oscillator runs too fast or too slow, the DFLL will decrement or increment the corresponding DFLL Calibration Register value by one to adjust the oscillator frequency slightly. For details refer to the XMEGA manual. 3

2.4 Implementation of the calibration 2.5 Calibration protocol 4 AVR1606 Knowing the fundamental characteristics of the RC oscillators, it is possible to make an efficient calibration routine that calibrates the RC oscillator to a given frequency, at any operating voltage and at any temperature with an accuracy of +/-1%. This section is divided into a description of the calibration protocol and a description of the firmware. The protocol can be adapted into any test or programming tool to support calibration. The AVR tools JTAGICE mkii and AVRONE support the implemented calibration protocol. The usage of these tools to calibrate a device is described later. The calibration support in JTAGICE mkii and AVRONE is at present only supported in the command-line version of the tools. The calibration is supported for JTAGICE mkii and AVRONE in AVR Studio version 4.18 (or later). The newest release of AVR Studio can be downloaded from www.atmel.com/avrstudio. The calibration support for STK600 will be present in future version. The protocol for calibration uses TDI and TDO on the JTAG interface so that that the calibration can be used in production environment for a final product (or on PCB). The basic concept is that the programmer generates the calibration clock (C-clock), and the device uses this as a reference to calibrate its internal RC oscillator. When the device has completed the calibration it signals OK to the programmer on the TDO line. In the protocol of calibration, the XMEGA device should enable pull-up resistor on the TDI line, and the programmer (JTAGICE mkii and AVRONE) should enable pull-up resistor on the TDO line. Unfortunately the programmer is in many cases behind level converters, so the device sets the TDI line high also. This is done to ensure that noise is unlikely to corrupt the calibration. The programmer can use 5120 C-cycles (cycles on the C-clock) as time-out period, as the calibration routine is guaranteed to be completed within this number of C- cycles. The calibration procedure runs through the following steps: 1. The programmer writes the calibration firmware into the device and possibly enables the TDO pull-up, and releases the reset line. The JTAG disable bit in MCUCSR is set. The calibration clock is applied on the TDI line. The frequency of this is 32.768 khz. 2. The device enables the internal pull-up on the TDI line, sets the TDO line high, and starts listening for the calibration clock on TDI. 3. When the device detects the calibration clock a binary search is used to find an RC32KCAL value that meets the criteria of 1% accuracy. If calibration fails the TDO line is set low and program flow goes to step 6. 4. The calibration value is stored in EEPROM (skipped if calibration fails). 5. TDO line is toggled 8 times / 4 cycles by the device. The toggling of the TDO line is performed on the falling edge of the clock on the TDI line (C-clock), but 5 to 10 CPU cycles delayed. In the case of failing calibration the TDO line is not toggled. 6. JTAG interface is re-enabled and the device goes into an infinite loop.

2.6 The calibration firmware 2.6.1 Method for determining the oscillator frequency AVR1606 7. If the device does not have an EESAVE fuse, the programmer must read back the calibration byte from EEPROM, for later restoring when the calibration firmware has been erased from the Flash. If the device have an EESAVE fuse, this fuse can be set so that erasing the Flash does not also erase the EEPROM. Please note it is necessary to copy the calibration byte from EEPROM or FLASH to the calibration register at run-time. A routine for this must therefore be implemented in the final firmware. The calibration code is written in C, for the AVR Studio 4.18 / IAR 5.20 (or later) with the calibration package installed. The root file refers to (includes) the following files: 1. The common calibration code main.c. 2. The driver of XMEGA event system code event_system_driver.c 3. The driver of XMEGA clock system code clksys_driver.c 4. The driver of XMEGA EEPROM code eeprom_driver.c 5. The driver of XMEGA timer/counter code TC_driver.c The comparison between the Calibration clock (C-clock) and the internal RC oscillator are performed using the 16-bit Timer/Counter C0 (TCC0). It is used since it is be present in all devices that have tunable RC oscillator. The idea is to capture the frequency of C-clock cycles using XMEGA event system and compare the frequency to predefined limits. The C-frequency in the present implementation is given in the interface specific include file. The method for determining the oscillator frequency is described in the flowchart in Figure 2-2. 5

Figure 2-2. Flowchart of algorithm determining relationship between the C-clock and the internal oscillator frequency Start Initialize Timer/ counter 0 and event system Step size = 0x80 Enable Auto calibration Wait frequency stable N Step size == 1? Y Divide stepsize by two Calibration precision in 1% Y Capture frequency < std. value N Y Save value in EEPROM N Increase RC32KCAl with stepsize Decrease RC32KCAl with stepsize Send Handshake signal Return 3 Calibrating with JTAGICE mkii or AVRONE The source code of the calibration firmware and the batch file provided is made as an example of how to use JTAGICE mkii or AVRONE to perform calibration. The firmware needs few or no modifications to be used in other calibration systems. 3.1 Make the calibration firmware 6 AVR1606 To make the project in IAR EWAVR:

AVR1606 Add the.c files for the given example to your project. Select device type and enable bit definitions in I/O include files, optimization low for debug target and high for release, output format: ubrof8 for Debug and intel_extended for Release, select Normal DLIB as library. To make the project in WinAVR: Add the.c files (and.s files where applicable) for the given example to your project. Select device type, optimization low for debug target and high for release. 3.2 Using the command line tools The calibration support in JTAGICE mkii and AVRONE is at present only supported in the command-line version of the tools (AVR Studio 4.18 or later). The software package that provides this support can be found at http://www.atmel.com/avr/. Please install this package for calibration support. The package includes a new firmware for the AVR tools, which is required to enable calibration. The firmware upgrade is automatic when first connecting to the tool with AVR Studio 4.18 (or later) or manual as described in the AVR Studio help. Batch files are provided along with the source code. These batch files show how the command line tools can be used to program the calibration code into the target device, perform the calibration and hence reprogram the device with the final firmware. The batch files are performing calibration of the ATxmega128A1 through JTAGICE mkii and AVRONE respectively. Please study these batch files and the AVR Studio integrated help to understand the use of JTAGICE mkii and AVRONE command line tools. Table 3-1 includes a list of the new commands to the.exe files that are related to the calibration operation. Table 3-1. New oscillator calibration specific options in jtagice.exe Command Description -Z [addr] Read calibration byte from EEPROM memory. addr is byte address. The read operation is performed before the chip erase is executed. Using -S# will re-write the value to flash or EEPROM after the chip erase. -Y Perform the oscillator calibration sequence. This command will override all other operations. The exe file will return an errorlevel 1 if it does not get the acknowledge signal from the target device. 4 Performance of the Calibration firmware The code has been written with focus on efficiency: The entire calibration should be performed fairly quickly. The performance therefore depends on the size of the calibration firmware and the time it takes to complete the calibration. The calibration routine is completed in less than 5120 calibration cycles. The shortest duration is however dependent on how fast the binary search algorithm can find a suitable RC32KCAL value, and the write time of the EEPROM. In the present implementation, using JTAGICEII.exe or AVRONE.exe, the calibration itself is completed in less than 1s. 7

5 Calibration Clock Accuracy The accuracy of the calibration is highly dependent on the accuracy of the external calibration clock. The calibration clock frequency generated by the AVR tools may vary. It is therefore important to measure the exact frequency on the TDI pin on the JTAG interface and change it into the main.c file. Since resonators are dependent on both operating voltage and temperature, the calibration frequency should be measured when these parameters equals the conditions during calibration. 6 Quick Start Guide to Calibration of the internal RC using AVR Studio To get started using the calibration feature in one of the device already supported one can follow steps below. 1. Download and unzip the source code for AVR1606 (any location can be used, here called \AVR1606\). 2. Download and install AVR Studio 4.18 (or later) from http://www.atmel.com/avr/ 3. Open AVR Studio, create a new AVR GCC project called rc_calib, and add root source code file to the project. 4. Select a target device from AVR Studio <project> <configuration option> 5. Measure the frequency of the calibration clock with a frequency counter or an oscilloscope. This signal can be found on the TDI pin on JTAG interface. Change the line in the main.c file #define CAL_REF_CLOCK_FREQ (xxxxx) to reflect the measure frequency. 6. Compile the project to generate the hex binary file that should be programmed into the device. 7. Open the batch file corresponding to the tool, and edit the file to match the desired device, by changing the datxmega128a1 argument to d[target device]. a) JTAGICE_mkII_rc_calib.bat for JTAGICE mkii with JTAG interface. b) AVRONE_rc_calib.bat for AVRONE with JTAG interface. 8. Please note that the reset line must be available. 9. Change the fuse setting to the desired setting. Make sure that the watchdog timer always on fuse is not set. 10. If the install path for AVR Studio differs from the one used in the batch file (the standard in English windows versions), please change the path to the relevant.exe file. 11. For production calibration the @PAUSE command at successful calibration should be removed. 12. Save the batch file. 13. Connect the JTAGICE mkii or AVRONE to the target board. Power the tool and application. Make sure that the USB cable is attached between the tool and the PC. 14. Open a command shell window (a DOS prompt), navigate to the directory \AVR1606\Batch file\, and execute the batch file (JTAGICE_mkII_rc_calib.bat or AVRONE_rc_calib.bat). Or simply just run the batch file from a file browser. 15. Wait a short while for the calibration to complete. 8 AVR1606

AVR1606 The batch file can also be modified to program a custom firmware rather than the test.hex firmware after the calibration. Be aware that the new calibration value should be loaded into the RC32KCAL, DFLLRC32M and DFLLRC2M register at runtime by the firmware. 7 Runtime calibration using a 32.768 khz reference clock The XMEGA Clock System provides two Digital Frequency-locked Loops (DFLLs), one for the 2 MHz RC oscillator and one for the 32 MHz RC oscillator. The DFLLs can be configured individually to use either the internal 32.768 khz RC oscillator or an external 32.768 khz watch crystal as a reference for the calibration process. Once enabled, a DFLL provides continuous calibration of its oscillator based on the clock reference. When entering sleep mode, the current state is frozen and the calibration loop continues from where it stopped when exiting from sleep mode again. If a DFLL is disabled, the current calibration value for the oscillator will remain in effect until the DFLL is enabled again and the calibration process continues. For more information please refer to the device datasheet and application note AVR1003. 9

Disclaimer Headquarters International Atmel Corporation 2325 Orchard Parkway San Jose, CA 95131 USA Tel: 1(408) 441-0311 Fax: 1(408) 487-2600 Atmel Asia Unit 1-5 & 16, 19/F BEA Tower, Millennium City 5 418 Kwun Tong Road Kwun Tong, Kowloon Hong Kong Tel: (852) 2245-6100 Fax: (852) 2722-1369 Atmel Europe Le Krebs 8, Rue Jean-Pierre Timbaud BP 309 78054 Saint-Quentin-en- Yvelines Cedex France Tel: (33) 1-30-60-70-00 Fax: (33) 1-30-60-71-11 Atmel Japan 9F, Tonetsu Shinkawa Bldg. 1-24-8 Shinkawa Chuo-ku, Tokyo 104-0033 Japan Tel: (81) 3-3523-3551 Fax: (81) 3-3523-7581 Product Contact Web Site http://www.atmel.com/ Technical Support avr@atmel.com Sales Contact www.atmel.com/contacts Literature Request www.atmel.com/literature 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 ATMEL S TERMS AND CONDITIONS OF SALE LOCATED ON ATMEL S WEB SITE, 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 OF 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 product 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 s products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life. 2009 Atmel Corporation. All rights reserved. Atmel, Atmel logo and combinations thereof, AVR, AVR logo, AVR Studio and others, are the registered trademarks, XMEGA and others are trademarks of Atmel Corporation or its subsidiaries. Windows is a registered trademark of Microsoft Corporation in U.S. and or other countries. Other terms and product names may be trademarks of others.