AVR1320: True 400 khz operation for TWI slave. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Similar documents
AVR1309: Using the XMEGA SPI. 8-bit Microcontrollers. Application Note. Features. 1 Introduction SCK MOSI MISO SS

AVR1318: Using the XMEGA built-in AES accelerator. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

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

AVR1510: Xplain training - XMEGA USART. 8-bit Microcontrollers. Application Note. Prerequisites. 1 Introduction

AVR32138: How to optimize the ADC usage on AT32UC3A0/1, AT32UC3A3 and AT32UC3B0/1 series. 32-bit Microcontrollers. Application Note.

AVR1301: Using the XMEGA DAC. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

Using CryptoMemory in Full I 2 C Compliant Mode. Using CryptoMemory in Full I 2 C Compliant Mode AT88SC0104CA AT88SC0204CA AT88SC0404CA AT88SC0808CA

Atmel AVR4920: ASF - USB Device Stack - Compliance and Performance Figures. Atmel Microcontrollers. Application Note. Features.

AVR1600: Using the XMEGA Quadrature Decoder. 8-bit Microcontrollers. Application Note. Features. 1 Introduction. Sensors

AVR1900: Getting started with ATxmega128A1 on STK bit Microcontrollers. Application Note. 1 Introduction

AVR353: Voltage Reference Calibration and Voltage ADC Usage. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR319: Using the USI module for SPI communication. 8-bit Microcontrollers. Application Note. Features. Introduction

AVR32788: AVR 32 How to use the SSC in I2S mode. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

Atmel AVR4921: ASF - USB Device Stack Differences between ASF V1 and V2. 8-bit Atmel Microcontrollers. Application Note. Features.

AVR305: Half Duplex Compact Software UART. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR32701: AVR32AP7 USB Performance. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR115: Data Logging with Atmel File System on ATmega32U4. Microcontrollers. Application Note. 1 Introduction. Atmel

8-bit. Application Note. Microcontrollers. AVR282: USB Firmware Upgrade for AT90USB

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

AVR033: Getting Started with the CodeVisionAVR C Compiler. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR2006: Design and characterization of the Radio Controller Board's 2.4GHz PCB Antenna. Application Note. Features.

AVR287: USB Host HID and Mass Storage Demonstration. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR1321: Using the Atmel AVR XMEGA 32-bit Real Time Counter and Battery Backup System. 8-bit Microcontrollers. Application Note.

AVR315: Using the TWI Module as I2C Master. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE

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

AVR311: Using the TWI Module as I2C Slave. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE

AVR317: Using the Master SPI Mode of the USART module. 8-bit Microcontrollers. Application Note. Features. Introduction

Atmel AVR4903: ASF - USB Device HID Mouse Application. Atmel Microcontrollers. Application Note. Features. 1 Introduction

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

Atmel AVR1017: XMEGA - USB Hardware Design Recommendations. 8-bit Atmel Microcontrollers. Application Note. Features.

Application Note. 8-bit Microcontrollers. AVR270: USB Mouse Demonstration

AT91SAM ARM-based Flash MCU. Application Note

AVR125: ADC of tinyavr in Single Ended Mode. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE

How To Use An Atmel Atmel Avr32848 Demo For Android (32Bit) With A Microcontroller (32B) And An Android Accessory (32D) On A Microcontroller (32Gb) On An Android Phone Or

8051 Flash Microcontroller. Application Note. A Digital Thermometer Using the Atmel AT89LP2052 Microcontroller

32-bit AVR UC3 Microcontrollers. 32-bit AtmelAVR Application Note. AVR32769: How to Compile the standalone AVR32 Software Framework in AVR32 Studio V2

APPLICATION NOTE Atmel AT02509: In House Unit with Bluetooth Low Energy Module Hardware User Guide 8-bit Atmel Microcontroller Features Description

USER GUIDE EDBG. Description

General Porting Considerations. Memory EEPROM XRAM

Application Note. 8-bit Microcontrollers. AVR272: USB CDC Demonstration UART to USB Bridge

8-bit RISC Microcontroller. Application Note. AVR155: Accessing an I 2 C LCD Display using the AVR 2-wire Serial Interface

Application Note. Atmel ATSHA204 Authentication Modes. Prerequisites. Overview. Introduction

8-bit Microcontroller. Application Note. AVR415: RC5 IR Remote Control Transmitter. Features. Introduction. Figure 1.

APPLICATION NOTE. Atmel AVR443: Sensor-based Control of Three Phase Brushless DC Motor. Atmel AVR 8-bit Microcontrollers. Features.

APPLICATION NOTE. Atmel AT04389: Connecting SAMD20E to the AT86RF233 Transceiver. Atmel SAMD20. Description. Features

AVR245: Code Lock with 4x4 Keypad and I2C LCD. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR134: Real Time Clock (RTC) using the Asynchronous Timer. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

3-output Laser Driver for HD-DVD/ Blu-ray/DVD/ CD-ROM ATR0885. Preliminary. Summary. Features. Applications. 1. Description

Application Note. C51 Bootloaders. C51 General Information about Bootloader and In System Programming. Overview. Abreviations

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

APPLICATION NOTE. Atmel LF-RFID Kits Overview. Atmel LF-RFID Kit. LF-RFID Kit Introduction

Application Note. 8-bit Microcontrollers. AVR293: USB Composite Device

AVR2004: LC-Balun for AT86RF230. Application Note. Features. 1 Introduction

AT91 ARM Thumb Microcontrollers. AT91SAM CAN Bootloader. AT91SAM CAN Bootloader User Notes. 1. Description. 2. Key Features

AVR32100: Using the AVR32 USART. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

Application Note. Atmel CryptoAuthentication Product Uses. Atmel ATSHA204. Abstract. Overview

APPLICATION NOTE. Atmel AT02985: User s Guide for USB-CAN Demo on SAM4E-EK. Atmel AVR 32-bit Microcontroller. Features. Description.

8-bit RISC Microcontroller. Application Note. AVR910: In-System Programming

AVR030: Getting Started with IAR Embedded Workbench for Atmel AVR. 8-bit Microcontrollers. Application Note. Features.

APPLICATION NOTE. Atmel AT01095: Joystick Game Controller Reference Design. 8-/16-bit Atmel Microcontrollers. Features.

8-bit Microcontroller. Application Note. AVR134: Real-Time Clock (RTC) using the Asynchronous Timer. Features. Theory of Operation.

AT88CK490 Evaluation Kit

AN2824 Application note

CryptoAuth Xplained Pro

256K (32K x 8) Battery-Voltage Parallel EEPROMs AT28BV256

How To Design An Ism Band Antenna For 915Mhz/2.4Ghz Ism Bands On A Pbbb (Bcm) Board

USER GUIDE. ZigBit USB Stick User Guide. Introduction

AT91 ARM Thumb Microcontrollers. Application Note. Interfacing a PC Card to an AT91RM9200-DK. Introduction. Hardware Interface

APPLICATION NOTE. AT07175: SAM-BA Bootloader for SAM D21. Atmel SAM D21. Introduction. Features

AVR1324: XMEGA ADC Selection Guide. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

AN2680 Application note

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

Quick Start Guide. CAN Microcontrollers. ATADAPCAN01 - STK501 CAN Extension. Requirements

APPLICATION NOTE. Secure Personalization with Transport Key Authentication. ATSHA204A, ATECC108A, and ATECC508A. Introduction.

Atmel AVR4027: Tips and Tricks to Optimize Your C Code for 8-bit AVR Microcontrollers. 8-bit Atmel Microcontrollers. Application Note.

Introducing a platform to facilitate reliable and highly productive embedded developments

AVR32110: Using the AVR32 Timer/Counter. 32-bit Microcontrollers. Application Note. Features. 1 Introduction

8-bit Microcontroller. Application Note. AVR105: Power Efficient High Endurance Parameter Storage in Flash Memory

Application Note. 1. Introduction. 2. Associated Documentation. 3. Gigabit Ethernet Implementation on SAMA5D3 Series. AT91SAM ARM-based Embedded MPU

AVR131: Using the AVR s High-speed PWM. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE

8-bit RISC Microcontroller. Application Note. AVR236: CRC Check of Program Memory

AVR106: C functions for reading and writing to Flash memory. 8-bit Microcontrollers. Application Note. Features. Introduction

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

AT89C5131A Starter Kit... Software User Guide

AT89LP Flash Data Memory. Application Note. AT89LP Flash Data Memory API. 1. Introduction. 2. Theory of Operation. 2.1 Flash Memory Operation

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

8-bit Microcontroller. Application Note. AVR222: 8-point Moving Average Filter

AVR ONE!... Quick-start Guide. EVK Windows 32104B AVR ONE! 02/10

SMARTCARD XPRO. Preface. SMART ARM-based Microcontrollers USER GUIDE

64K (8K x 8) Parallel EEPROM with Page Write and Software Data Protection AT28C64B

AT15007: Differences between ATmega328/P and ATmega328PB. Introduction. Features. Atmel AVR 8-bit Microcontrollers APPLICATION NOTE

The I2C Bus. NXP Semiconductors: UM10204 I2C-bus specification and user manual HAW - Arduino 1

AVR442: PC Fan Control using ATtiny13. 8-bit Microcontrollers. Application Note. Features. 1 Introduction

AVR106: C Functions for Reading and Writing to Flash Memory. Introduction. Features. AVR 8-bit Microcontrollers APPLICATION NOTE

NB3H5150 I2C Programming Guide. I2C/SMBus Custom Configuration Application Note

How to Calculate the Capacitor of the Reset Input of a C51 Microcontroller 80C51. Application Note. Microcontrollers. Introduction

2-wire Serial EEPROM AT24C512

3-output Laser Driver for HD-DVD/ Blu-ray/DVD/ CD-ROM ATR0885. Preliminary. Summary

Application Note. USB Microcontrollers. USB PC Drivers Based on Generic HID Class. 1. Introduction

Transcription:

AVR1320: True 400 khz operation for TWI slave Features AVR XMEGA family devices C-code driver for TWI slave Compatible with Philips I 2 C protocol Uses the hardware TWI module Interrupt driven transmission No clock-stretching true 400 khz operation 1 Introduction The Two Wire serial Interface (TWI) is compatible with Philips' I 2 C protocol. The bus was developed to allow simple, robust and cost effective communication between integrated circuits in electronics. The strengths of the TWI bus includes the capability of addressing up to 128 devices on the same bus, arbitration, and the possibility to have multiple masters on the bus. A hardware TWI module is included in AVR XMEGA devices and implements both master and slave functionalities. This module is I 2 C and SMB bus compliant. If needed, to slow down the clock frequency or to insert wait states, AVR XMEGA devices allow in compliance with the I 2 C protocol, to stretch the low period of the clock. In this case, the master is forced into a wait state until the slave is ready. In some systems no clock stretching is allowed despite that the standard allows for it. This application note describes a TWI slave driver implementation for AVR XMEGA that ensures that the clock is not stretched. 8-bit Microcontrollers Application Note Rev.

2 TWI theory This section gives a short description of the TWI interface in general and the TWI module on AVR XMEGA. For more detailed information refer to the datasheet. 2.1 Two wire serial interface The TWI is ideally suited for typical microcontroller applications. The TWI protocol allows the system designer to interconnect up to 128 individually addressable devices using only two bi-directional bus lines, one for clock (SCL) and one for data (SDA). The only external hardware needed to implement the bus is a single pull-up resistor for each of the TWI bus lines. All devices connected to the bus have individual addresses, and mechanisms for resolving bus contention are inherent in the TWI protocol. Figure 2-1. TWI Bus Topology V CC R P R P TWI DEVICE #1 TWI DEVICE #2 TWI DEVICE #N SDA SCL Note: is optional The TWI bus is a multi-master bus where one or more devices, capable of taking control of the bus, can be connected. Only Master devices can drive both the SCL and SDA lines while a Slave device is only allowed to issue data on the SDA line. Data transfer is always initiated by a Master device. A high to low transition on the SDA line while SCL is high is defined to be a START condition or a repeated START condition. A START condition is always followed by the (unique) 7-bit slave address and then by a Data Direction bit. The addressed Slave device sends an acknowledge to the Master by holding SDA low for one clock cycle. If the Master does not receive any acknowledge the transfer is terminated. Depending on the Data Direction bit, the Master or Slave transmits 8-bit of data on the SDA line. The receiving device then acknowledges the data. Multiple bytes can be transferred in one direction before a repeated START or a STOP condition is issued by the Master. The transfer is terminated when the Master issues a STOP condition. A STOP condition is defined by a low to high transition on the SDA line while the SCL is high. All data packets transmitted on the TWI bus are 9 bits long, consisting of one data byte and an acknowledge bit. 2 AVR1320

AVR1320 During a data transfer, the master generates the clock, START and STOP conditions, while the receiver is responsible for acknowledging the reception. An acknowledge (ACK) is signaled by the receiver pulling the SDA line low during the ninth SCL cycle. If the receiver leaves the SDA line high, a NACK is sent. 2.2 TWI Clock stretching According to the I 2 C standard, all devices connected to the bus are allowed to stretch the low period of the clock to slow down the overall clock frequency or to insert wait states while processing data. A device that needs to stretch the clock can do this by holding/forcing the SCL line low after it detects a low level on the line (possible since the lines are driven low by open-drain and have pull-up resistors). If the device is in a sleep mode and a START condition is detected the clock is stretched during the device wake-up period. To avoid clock stretching in relation to use of sleep, only sleep mode with sufficiently fast wake-up time should be used. This could be e.g. IDLE, Standby and Extended Standby mode. 3 AVR XMEGA Slave mode - stretchless operation 3.1 TWI slave operation If the customer application doesn t support clock stretching, the AVR1320 proposes a true 400 khz TWI operation for an AVR XMEGA TWI slave. The TWI hardware module is common to AVR XMEGA. The AVR1320 software tests are performed on ATxmega128A1, but the driver is compatible with any AVR XMEGA. The TWI slave is byte-oriented with optional interrupts after each byte. There are separate slave Data Interrupt and Address/Stop Interrupt. Interrupt flags can also be used for polled operation. There are dedicated status flags for indicating ACK/NACK received, clock hold, collision, bus error and read/write direction. When an interrupt flag is set, the SCL line is forced low. This will give the slave time to respond or handle any data, and will in most cases require software interaction. The interrupt service routine (ISR) process needs to manage three major states: Slave address interrupt (see section 3.2) Data byte interrupt in write mode (see section 3.4) Data byte interrupt in read mode (see section 3.3). 3

Figure 3-1. Slave operation. Initialize slave Start condition? No Yes Address + R/W bit Address recognized? No Yes Need to signal error? No Write ctrl. reg. B Slave ACK Yes Write ctrl. reg. B Slave NACK Operation Transmit Receive Repeated start Receive Stop Data Read data register Write data register Transmit data Write ctrl. reg. B Slave ACK No Need to signal error? Master (N)ACK Yes Write ctrl. reg. B Slave NACK Master ACK? No Yes Legend Hardware / bus action Repeated start Receive Stop Software action 4 AVR1320

AVR1320 3.2 Reception of first byte (address) 3.3 Write operation slave received data 3.4 Read operation slave transmits data 3.5 SCL description In slave mode, the AVR XMEGA AVR receives a first byte with address and R/W bit (Data Direction). Then, the 9 th bit is dedicated to the ACK or NACK bit. An interrupt occurs after the 8 th bit. During the execution of the ISR, the AVR XMEGA holds SCL line low. SCL is released when Address/Stop Interrupt Flag (APIF) is cleared in STATUS register by clearing APIF or writing to CMD bits. If the TWI master does not support the clock stretching, the SCL line frequency during the 8 first bits and the 9 th must be same, and the SCL line must thus be released by the slave in due time to not stall the TWI master. In this case, the interrupt timing determines the maximum frequency allowed by the TWI interface. If the R/W bit of the address byte is equal to 0, a write operation is performed by the master. After the 8 th bit of the address byte, an interrupt occurs and the program jumps to the ISR. The first data byte from the master will be available in TWI DATA register when the next interrupt occurs. After a TWI write command, the data from the master must be recovered before the next byte is received. If the R/W bit of the address byte is equal to 1, a read operation is performed by the master. After the 8 th bit of the address byte, an interrupt occurs and the program jumps to the ISR. The first data byte to read needs to be loaded in the TWI DATA register during the ISR, without stretching the clock. The TWI frequency limit depends on time to release SCL in the ISR function. When APIF or Data Interrupt Flag (DIF) are set (see STATUS register), the slave forces the SCL line low. Clearing the interrupt flags will release the SCL line. DIF or APIF are automatically cleared when: Writing a 1 in the corresponding bit location Writing to the slave DATA register Reading the slave DATA register Writing a valid command to the CMD bits in the CTRLB register 5

4 Hardware description 4.1 CPU clock 4.2 Pull up values on SDA and SCL pins If the CPU clock of the TWI slave is increased more CPU cycles are available before the SCL must be release, and it is thus an advantage to run the TWI slave from a fast clock source to avoid clock stretching. AVR XMEGA offers a 32 MHz internal oscillator. The system clock control register is used to select the clock source. SCL and SDA pads are open drain and need pull up resistors. 2kOhms resistor values are recommended to have correct edges for a 400 khz frequency on TWI bus. 5 Software description 5.1 List of files The source code package consists in the following files (and corresponding header files): twi_example.c twi_slave_driver.c twic_it.asm clksys_driver.c 5.2 Software algorithms For a complete overview of the available driver interface functions and their use, please refer to the source code documentation (see readme.html). The TWI process is divided in two parts: A TWI ISR function An INT0 ISR function. When a byte is sent/received by the TWI hardware block and is ready to process, the TWI ISR enables INT0 ISR. The TWI ISR uses HIGH level interrupt and the INT0 ISR uses MEDIUM level interrupt. The SCL pin is connected to INT0 ISR. The next rising edge on SCL will start INT0 process function. The TWI ISR is short and implemented in assembly to ensure a quick SCL release. The INT0 ISR hence processes the TWI data. The splitting of ISR is used to ensure that long interrupt execution time does not violate the timing of the TWI driver and cause clock stretching. 6 AVR1320

AVR1320 The TWI ISR function stores STATUS register and DATA register value for the TWI_process() function. SCL is released when DATA register is read or write. When an address byte is received with R/W = 0, SCL is released after CTRLB write operation. Figure 5-1. ISR function. 5.3 TWI test measurements A TWI master sends TWI write/read commands in loop. Test description is: TWI clock = 400 khz Write command of 8 bytes Read command of 8 bytes A scope monitors stretching. No clock stretching is apparent for the example code. A signal (BUSY_SIGNAL) is added on scope to control the time spent in ISR function and in TWI_process. During ISR (in first) and TWI_process (just after), BUSY_SIGNAL is 0. The TWI software uses about half of the CPU bandwidth during a continues 400 khz transfer. 7

Figure 5-2. True 400kHz TWI signals 5.4 Limitations Because of the speed of the communication and the nature of the handling, if data is to be calculated and provided to the TWI module in real-time, the user processing routine must not exceed 16µs between packets before data underrun occurs. This equates to roughly 500 CPU cycles at 32 MHz. The HIGH and MEDIUM interrupt level should be reserved exclusively for the TWI functionality to ensure glitch-free stretchless operation. The MEDIUM level is used by a secondary (pin change) interrupt generated to run the TWI_process() function, since there is no time to do so in the TWI ISR. All interrupts added by the user should have LOW priority to guarantee stretchless operation of the TWI driver. The driver automatically sends the action defined in the ACKACT bit of the CTRLA register to the master when responding to a MASTER READ. If the user wishes to send NACK, this must be prepared by setting the ACKACT bit in advance. 5.5 Conclusion The AVR XMEGA supports true 400 khz TWI communication. The software example provided in this application note explains how to process this TWI interface in slave mode. The IAR TM program is available in AVR1320 application note. The driver does not compile with the GCC compiler. 8 AVR1320

AVR1320 The memory mapping of this code is the following: Table 5-1. Memory mapping Code memory DATA memory 1552 bytes 109 bytes 5.6 Doxygen Documentation All source code is prepared for automatic documentation generation using Doxygen. Doxygen is a tool for generating documentation from source code by analyzing the source code and using special keywords. For more details about Doxygen please visit http://www.doxygen.org. Precompiled Doxygen documentation is also supplied with the source code accompanying this application note, available from the readme.html file in the source code folder. 6 Getting started The user application can be added in the main function. After a TWI master write-command, the twislave.receiveddata[] buffer contains data. Before a TWI master read command, the twislave.senddata[] buffer must be ready. The TWIC_SlaveProcessData() is called after each received byte and allows to process sent/received buffers. 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 OTATUTORY 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. 2010 Atmel Corporation. All rights reserved. Atmel, logo and combinations thereof, AVR, AVR logo, and others, are the registered trademarks, XMEGA and others are trademarks of Atmel Corporation or its subsidiaries. Other terms and product names may be trademarks of others.