Atmel AVR4902: ASF - USB Composite Device. Atmel Microcontrollers. Application Note. Features. 1 Introduction

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

Atmel AVR4905: ASF - USB Device HID Generic. 8-/32-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

Atmel AVR4904: ASF - USB Device HID Keyboard Application. Atmel 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.

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

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

Atmel AVR4950: ASF - USB Host Stack. 8-bit Atmel Microcontrollers. Application Note. Features. 1 Introduction

Atmel AVR4907: ASF - USB Device CDC Application. Atmel Microcontrollers. Application Note. Features. 1 Introduction

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

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

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

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

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

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

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

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 AT02985: User s Guide for USB-CAN Demo on SAM4E-EK. Atmel AVR 32-bit Microcontroller. Features. Description.

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

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

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

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

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

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

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

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

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

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

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

AT91SAM ARM-based Flash MCU. Application Note

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

USER GUIDE EDBG. Description

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

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

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

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

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

Introducing a platform to facilitate reliable and highly productive embedded developments

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

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

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

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

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

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

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

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

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

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

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

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

AT88CK490 Evaluation Kit

Software Prerequisites Linux Ubuntu LTS. Estimated completion time: 15min. The goal of this hands-on is to:

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

APPLICATION NOTE. Atmel AVR600: STK600 Expansion, Routing and Socket Boards. Atmel Microcontrollers. Introduction

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

AT89C5131A Starter Kit... Software User Guide

USER GUIDE. ZigBit USB Stick User Guide. Introduction

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

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

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

APPLICATION NOTE. Atmel AVR2033: SAM-ICE Adapter Hardware User Manual. 8-bit Atmel Microcontrollers. Features. Introduction

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

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

APPLICATION NOTE. Atmel AT01180: Barcode and QR code scanner User Guide. Atmel 32-bit Microcontroller. Features. Introduction

General Porting Considerations. Memory EEPROM XRAM

AT09333: USB Host Interface (UHI) for Communication Class Device (CDC) Introduction. Atmel Microcontrollers APPLICATION NOTE

CryptoAuth Xplained Pro

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

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

APPLICATION NOTE. AT16268: JD Smart Cloud Based Smart Plug Getting. Started Guide ATSAMW25. Introduction. Features

Two mechanical buttons Two user LEDs Four expansion headers. Board controller with USB interface. One power LED and one status LED

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

APPLICATION NOTE. Authentication Counting. Atmel CryptoAuthentication. Features. Introduction

8-bit Atmel Microcontrollers. Application Note. Atmel AVR211: Wafer Level Chip Scale Packages

Section 1 Introduction to the AT91SAMD20 and the Development Environment

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

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

Atmel ATSAM3X8E microcontroller Atmel AT86RF GHz radio transceiver Atmel proprietary Lightweight Mesh software stack 10/100Mbps Ethernet

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

AN3354 Application note

AT11805: Capacitive Touch Long Slider Design with PTC. Introduction. Features. Touch Solutions APPLICATION NOTE

Dell Spotlight on Active Directory Server Health Wizard Configuration Guide

MODFLEX MINI GATEWAY ETHERNET USER S GUIDE

APPLICATION NOTE. AT12405: Low Power Sensor Design with PTC. Atmel MCU Integrated Touch. Introduction

Dell One Identity Cloud Access Manager How to Configure vworkspace Integration

QT1 Xplained Pro. Preface. Atmel QTouch USER GUIDE

Using WinUSB in a Visual Studio Project with Freescale USB device controller

Quest vworkspace Virtual Desktop Extensions for Linux

Designing Feature-Rich User Interfaces for Home and Industrial Controllers

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

APPLICATION NOTE. Atmel AT02845: Coexistence between ZigBee and Other 2.4GHz Products. Atmel MCU Wireless. Description. Features

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

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

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

formerly Help Desk Authority Quest Free Network Tools User Manual

Capacitive Touch Technology Opens the Door to a New Generation of Automotive User Interfaces

APPLICATION NOTE. AT03155: Real-Time-Clock Calibration and Compensation. SAM3 / SAM4 Series. Scope

AN2680 Application note

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

Atmel Power Line Communications. Solutions for the Smart Grid

Transcription:

Atmel AVR4902: ASF - USB Composite Device Features USB 2.0 compliance - Chapter 9 certified - Control, Bulk, Isochronous and Interrupt transfer types - Low Speed (1.5Mbit/s), Full Speed (12Mbit/s), High Speed (480Mbit/s) data rates Small stack size free space for main application Real time (OS compliance, no latency) Supports 8-bit and 32-bit AVR platforms USB DMA support increases speed performance Supports most USB classes and ready to use (HID, CDC, MSC, PHDC) Atmel Microcontrollers Application Note 1 Introduction The aim of this document is to provide an easy way to integrate a USB composite device application on a new or existing project. This document is associated to USB device class Atmel application notes AVR4903 to AVR4909. Rev.

2 Abbreviations ASF: AVR Software Framework CDC: Communication Device Class FS: USB Full Speed HID: Human interface device HS: USB High Speed UDC: USB device Controller UDD: USB device Descriptor UDI: USB device Interface USB: Universal Serial Bus MSC: Mass Storage Class PHDC: Peripheral Health Device Class 2 Atmel AVR4902

Atmel AVR4902 3 Overview This document includes two sections: Quick start Describes how to start a ready to use composite device example Building a USB composite device Describes how to create a USB composite device For all these sections, it is recommended to know the main modules organization of a USB composite device application: User Application USB device Interfaces (UDI) USB device Controller (UDC) USB device Driver (UDD) For more advanced information concerning the USB stack implementation, please refer to the Atmel AVR4900 ASF USB device stack application note. The current UDIs supported in a composite device are: USB device Mouse Interfaces (UDI-HID Mouse) USB device Keyboard Interfaces (UDI-HID Keyboard) USB device HID Generic Interfaces (UDI-HID Generic) USB device Mass Storage Interface (UDI-MSC) USB device Communication Interface (UDI-CDC) USB device Personal Health Interfaces (UDI-PHDC) Figure 3-1. USB composite device architecture. Application UDC UDI UDI Mouse s UDI button UDD USB Device stack from the ASF NOTE The USB device stack is available in the ASF in the common/services/usb/ directory. 3

4 Quick start The USB composite device examples are available in Atmel AVR Studio 5 and ASF. Here, the examples provide a composite device supporting a mouse and U-Disk. 1. Powering the board through the USB connection. Connect a USB cable between board and USB Host, this cable powers the board. 2. AVR Studio 5 allows the creation of a New Example Project. In the examples list, select a USB Composite Device Example HID mouse and MSC corresponding to the Atmel board used. Use the filter list to find quickly the example. 3. Compile, load and execute. The project does not require any modification and only needs to be compiled, loaded and run. Connect the Atmel debugger supported by the board and press F5. 4. Use it. One or more new removal disks are displayed on the USB Host and new mouse is installed. 4 Atmel AVR4902

Atmel AVR4902 The board user s interface to control the mouse and monitor the disk access is described at the end of ui.c source file provided in the example. Figure 4-1. Example of user interface description using an Atmel EVK1100 board. USB LED1 blinks showing composite device is enumerated LED0 is ON showing USB in IDLE mode LED5 green is ON showing read operation on disk LED5 red is ON showing write operation on disk Joystick is used to move mouse Mouse s buttons: left, middle, right Joystick s button is pushed to wakeup USB Host 5

5 Building a USB composite device The Atmel AVR Software Framework (ASF) provides many USB Interface modules which can be added on a USB composite device. These modules are available in Atmel AVR Studio 5 and can be imported in an AVR Studio 5 project. This section describes how to add a USB composite device in an existing project: 1. Import USB modules. 2. Configure personal USB parameters. 3. Call USB routines to run the USB application. 5.1 Import USB modules To import the USB modules, follow the instructions below: 1. Open or create your project: 2. From Project menu, choose Select Drivers from AVR Software Framework. 3. Select Services, choose the USB interface (Composite Device) required by the application and click on the Add to selection button. 1 2 3 6 Atmel AVR4902

Atmel AVR4902 5.2 USB configuration All USB stack configurations are stored in the conf_usb.h file in the application module. The conf_usb.h file provided by Atmel AVR Studio 5 contains all default configurations for device and each interface described in next sections. Thus, the user can easily modify these parameters. NOTE It is important to verify the configuration defined in conf_clock.h file, because the USB hardware requires a specific clock frequency (see comment in conf_clock.h file). 5.2.1 USB high level configuration The high level configurations are simple and do not require any specific USB knowledge. These are already described in following application notes for each USB modules: UDC, UDI and UDD. The UDC configuration possibilities are described in the Atmel AVR4900 application note in the section 7.1.1: USB device configuration. The UDD configuration possibilities are described in the Atmel AVR4900 application note in the section 7.1.3: USB drivers configuration. The UDI configuration possibilities are described in the Atmel AVR4903 to AVR4909 application notes in the section USB configuration. 5.2.2 USB low level configuration The low level configuration is required for a composite device. Three general parameters must be configured for the USB device: USB_DEVICE_EP_CTRL_SIZE: endpoint control size. This must be: o 8 for low speed o 8, 16, 32 or 64 for full speed device (8 is recommended to save RAM) o 64 for a high speed device USB_DEVICE_NB_INTERFACE: Total Number of interfaces on this USB device USB_DEVICE_MAX_EP: Total number of endpoints on this USB device. This must include each endpoint for each interface Example for a USB composite device mouse and CDC: //! Device configuration #define USB_DEVICE_EP_CTRL_SIZE 64 // Control endpoint size #define USB_DEVICE_NB_INTERFACE 3 // 1 for mouse + 2 for CDC #define USB_DEVICE_MAX_EP 4 // 1 for mouse + 3 for CDC Two types of parameters are required for each USB interface: UDI_X_IFACE_NUMBER: The interface index of an interface starting from 0 UDI_X_EP: The endpoint number starting from 1. This must be defined together with the USB direction USB_EP_DIR_IN or USB_EP_DIR_OUT The above values must be defined following a simple number enumeration. NOTE _X_: stands for the interface name: HID_MOUSE, CDC_COMM, CDC_DATA, MSC, HID_KEYBOARD, PHDC, 7

Example for a USB composite device mouse and CDC: // Interface number definitions #define UDI_HID_MOUSE_IFACE_NUMBER #define UDI_CDC_COMM_IFACE_NUMBER #define UDI_CDC_DATA_IFACE_NUMBER 0 // Mouse interface number 1 // CDC COMM interface number 2 // CDC DATA interface number // Endpoint number definitions #define UDI_HID_MOUSE_EP_IN (1 USB_EP_DIR_IN) // Mouse #define UDI_CDC_DATA_EP_IN (2 USB_EP_DIR_IN) // CDC TX #define UDI_CDC_DATA_EP_OUT (3 USB_EP_DIR_OUT) // CDC RX #define UDI_CDC_COMM_EP (4 USB_EP_DIR_IN) // CDC Notify 5.2.3 USB descriptors NOTE Each USB interface class in ASF provides one or more descriptors*. These are used to fill the following lists of descriptors dedicated to an application: //! List of descriptor structures UDI_COMPOSITE_DESC_T //! List of descriptors for Full Speed or Low speed UDI_COMPOSITE_DESC_FS //! List of descriptors for high speed UDI_COMPOSITE_DESC_HS //! List of Interface APIs corresponding at interface descriptors UDI_COMPOSITE_API The descriptors order in these four lists must be the same that order defined by interface index, see Section 5.2.2 on page 7. *The descriptors are defined in the Atmel AVR4903 to AVR4909 application notes in the section Interface in a USB composite device. Extract of conf_usb.h for a USB composite device mouse and CDC: //! Define structure of composite interfaces descriptor #define UDI_COMPOSITE_DESC_T \ udi_hid_mouse_desc_t udi_hid_mouse \ // interface index 0 usb_iad_desc_t udi_cdc_iad; \ // interface association udi_cdc_comm_desc_t udi_cdc_comm; \ // interface index 1 udi_cdc_data_desc_t udi_cdc_data; // interface index 2 //! Fill composite interface descriptors for Full Speed #define UDI_COMPOSITE_DESC_FS \.udi_hid_mouse = UDI_HID_MOUSE_DESC, \.udi_cdc_iad = UDI_CDC_IAD_DESC, \.udi_cdc_comm = UDI_CDC_COMM_DESC, \.udi_cdc_data = UDI_CDC_DATA_DESC //! Fill composite interface descriptors for High Speed #define UDI_COMPOSITE_DESC_HS \.udi_hid_mouse = UDI_HID_MOUSE_DESC, \.udi_cdc_iad = UDI_CDC_IAD_DESC, \.udi_cdc_comm = UDI_CDC_COMM_DESC, \.udi_cdc_data = UDI_CDC_DATA_DESC //! Fill Interface APIs corresponding at interfaces descriptors 8 Atmel AVR4902

Atmel AVR4902 #define UDI_COMPOSITE_API \ &udi_api_hid_mouse, \ &udi_api_cdc_comm, \ &udi_api_cdc_data 5.3 USB implementation 5.3.1 USB device control This section describes source code to add and to run a USB device application. The implementation is comprised of three steps: 1. Start USB device. 2. Wait the enable of the interfaces by the Host. 3. Transfer data on USB bus. Only two function calls are needed to start a USB device application, see Figure 5-1: Figure 5-1. USB device application sequence. To start a USB device application udc_start() no VBUS monitoring available udc_include_vbus_monitoring() yes Wait for VBUS power UDC_VBUS_EVENT() no yes Enable D+ or D- pull-up resistor udc_attach() Bus enumeration NOTE In case of a new project, the USB stack requires to enable interrupts and to initialize the clock and sleepmgr services. 9

Example: <conf_usb.h> #define UDC_VBUS_EVENT(b_vbus_high) \ vbus_event(b_vbus_high) <main C file>: main() { // Authorize interrupts irq_initialize_vectors(); cpu_irq_enable(); // Initialize the sleep manager service sleepmgr_init(); // Initialize the clock service sysclk_init(); // Enable USB Stack Device udc_start(); if (!udc_include_vbus_monitoring()) { // VBUS monitoring is not available on this product // thereby VBUS has to be considered as present vbus_event (true); vbus_event(b_vbus_high) { if (b_vbus_high) { // Connect USB device udc_attach(); else{ // Disconnect USB device udc_detach(); 5.3.2 USB interface control After the device enumeration (Detecting and identifying USB devices), the USB Host starts the device configuration. When a USB interface is accepted by the USB Host, the corresponding callback function UDI_X_ENABLE_EXT() is called. When the USB device is unplugged or is reset by the USB Host, the USB interfaces are disabled and the UDI_X_DISABLE_EXT() callback functions are called. Recommendation about content of these callback functions is available in the application note corresponding to the related USB device class: Atmel AVR4903 up to AVR4009 section USB interface control. NOTE _X_ : stands for the interface name: HID_MOUSE, CDC_COMM, CDC_DATA, MSC, HID_KEYBOARD, PHDC, 10 Atmel AVR4902

USB Composite Device example using HID and CDC interfaces: <conf_usb.h> #define UDI_HIDMOUSE_ENABLE_EXT() \ mouse_enable() #define UDI_CDC_ENABLE_EXT() \ cdc_enable()... Atmel AVR4902 <main C file>: cdc_enable() { // Open UART and enable UART transition interrupts return true; mouse_enable() { // Enable sensor and start process to scan sensor... 5.3.3 USB data transfer Finally, developer must use the specific interface functions which come with a dedicated USB class added in the project. Refer to the Atmel AVR4903 to AVR4909 application notes, section USB control to know the specific interface function available. Example: scheduler() { if (is_a_board_button_press()) { // Send a button event on USB Line via HID Mouse udi_hid_mouse_btnleft(hid_mouse_btn_down); // Send a data on USB line via CDC udi_cdc_putc(0x55);... Basis of the project is now completed. All interface functions are accessible from the user level to handle any USB composite device application. 11

6 Table of contents Features... 1 1 Introduction... 1 2 Abbreviations... 2 3 Overview... 3 4 Quick start... 4 5 Building a USB composite device... 6 5.1 Import USB modules... 6 5.2 USB configuration... 7 5.2.1 USB high level configuration... 7 5.2.2 USB low level configuration... 7 5.2.3 USB descriptors... 8 5.3 USB implementation... 9 5.3.1 USB device control... 9 5.3.2 USB interface control... 10 5.3.3 USB data transfer... 11 6 Table of contents... 12 12 Atmel AVR4902

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, Milennium 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 16F, Shin Osaki Kangyo Bldg. 1-6-4 Osaki Shinagawa-ku Tokyo 104-0032 JAPAN Tel: (+81) 3-6417-0300 Fax: (+81) 3-6417-0370 2011 Atmel Corporation. All rights reserved. Atmel, Atmel logo and combinations thereof, AVR, AVR Studio, 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 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 products are not intended, authorized, or warranted for use as components in applications intended to support or sustain life.