32-bit Atmel Microcontroller. Application Note. Atmel AVR32842: AVR UC3 Audio Player - WMA Decoder

Similar documents
Atmel AVR4921: ASF - USB Device Stack Differences between ASF V1 and V2. 8-bit 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 AVR4920: ASF - USB Device Stack - Compliance and Performance Figures. Atmel Microcontrollers. Application Note. Features.

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

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

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

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 AVR134: Real Time Clock (RTC) Using the Asynchronous Timer. Atmel AVR 8-bit Microcontroller. Introduction.

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. Atmel AT04389: Connecting SAMD20E to the AT86RF233 Transceiver. Atmel SAMD20. Description. Features

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

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

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

Introducing a platform to facilitate reliable and highly productive embedded developments

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

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

AT91SAM ARM-based Flash MCU. Application Note

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

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

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

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

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

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

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

AVR1318: Using the XMEGA built-in AES accelerator. 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. AVR270: USB Mouse Demonstration

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

AT88CK490 Evaluation Kit

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

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

USER GUIDE. ZigBit USB Stick User Guide. Introduction

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

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

General Porting Considerations. Memory EEPROM XRAM

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

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

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

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

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

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

Section 1 Introduction to the AT91SAMD20 and the Development Environment

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

Designing Feature-Rich User Interfaces for Home and Industrial Controllers

USER GUIDE EDBG. Description

AN3998 Application note

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

Dell Statistica. Statistica Document Management System (SDMS) Requirements

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

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

APPLICATION NOTE. Atmel AVR911: AVR Open Source Programmer. 8-bit Atmel Microcontrollers. Features. Introduction

New Features and Enhancements

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

Atmel AVR4904: ASF - USB Device HID Keyboard Application. Atmel Microcontrollers. Application Note. Features. 1 Introduction

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

Atmel AVR1618: ATxmegaB ASCII Character Mapping. 8-bit Atmel 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

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

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

Company Profile Osaki, Shinagawa-ku, Tokyo, Japan Tel

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

AN3354 Application note

CryptoAuth Xplained Pro

Quest vworkspace Virtual Desktop Extensions for Linux

1Mb (64K x 16) One-time Programmable Read-only Memory

Atmel AVR4029: Atmel Software Framework User Guide. Atmel Microcontrollers. Application Note. Features. 1 Introduction

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

formerly Help Desk Authority Quest Free Network Tools User Manual

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

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

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

Spotlight Management Pack for SCOM

Dell One Identity Cloud Access Manager How to Configure vworkspace Integration

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

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

Dell Migration Manager for Enterprise Social What Can and Cannot Be Migrated

Introduction to Version Control in

More Secure, Less Costly IoT Edge Node Security Provisioning

Proximity Design Guide. Proximity Design Guide. Application Note QTAN Introduction

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

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

Dell Spotlight on Active Directory Server Health Wizard Configuration Guide

Transcription:

Atmel AVR32842: AVR UC3 Audio Player - WMA Decoder Features Software WMA decoder Implementation Player implementation Player configuration Licensing 32-bit Atmel Microcontroller Application Note 1. Introduction This application note is an extension of the application note Atmel AVR32839: AVR UC3 Audio Player. The aim is to give the reader all he needs about implementation and configuration of the Microsoft WMA decoder in the Atmel AVR UC3 Audio Player.

2. Atmel AVR UC3 Audio Player 2.1 Overview 2.2 Package The UC3 audio player is a generic audio player interface and is designed to support multiple audio formats like MP3, WMA, AAC This document details the implementation of the Microsoft WMA decoder in this player. The UC3 audio player package implementing the WMA decoder is the: audio_player-evk1104-evk1105-wma-<version>.zip file. It can be requested from the Atmel WMA registration page: http://www.atmel.com/forms/wma_reg.asp. 2.3 WMA decoder 2.3.1 Overview Windows Media Audio (WMA) is an audio data compression technology developed by Microsoft. A WMA file is encapsulated or contained in the Advanced Systems Format (ASF) container format featuring a single audio track using one of following codecs: WMA Standard, WMA Pro, WMA Lossless, or WMA Voice. WMA can sample audio signals at up to 48KHz. The ASF container format contains metadata similar to the ID3 tags used by MP3 files. WMA Metadata include song name, track number and artist name. The AVR UC3 WMA decoder is limited to Standard WMA 10 format up to 320Kbps. More information can be retrieved from the Microsoft Windows Media Codecs page: http://msdn.microsoft.com/en-us/library/gg153556%28v=vs.85%29.aspx. 2.3.2 Supported devices The WMA decoder can only be executed on Atmel AVR UC3 Audio devices. Currently supported Atmel devices include: AT32UC3A0512AU-ALUT AT32UC3A0512AU-ALTRA AT32UC3A0256AU-ALUT AT32UC3A0128AU-ALUT AT32UC3A1512AU-AUR AT32UC3A1256AU-AUR AT32UC3A3256AU-ALUT AT32UC3B0512AU-Z2UR AT32UC3B0128AU-A2UT AT32UC3B0128AU-Z2UR AT32UC3C0512CAU-ALUT 2 AVR32842

AVR32842 2.4 Player implementation 2.4.1 Source code The WMA decoder is delivered in binary form as an UC3 library available in /thirdparty/wma10dec_avr32/libs directory. Three optimized GCC and IAR versions are delivered: Speed optimization Size optimization Balanced optimization 2.4.2 Player layer The WMA player layer is located in /avr32/services/audio/players/wma/wma10dec_player.[c,h]. Figure 2-1. Player software architecture. Audio Player Application main.c Audio Interface Task (AI) ai_task.c Communication Task (HMI) com_task.c GUI _gui.c Controller _controller.c Codec(s) codec_wma_task.c Task (specific) Host Mass Storage host_mass_storage_task.c USB usb_task.c Audio Interface audio_interface.c SD Card Audio interface Mass Storage Audio interface Audio Decoding WMA Decoder /thirdparty/wma USB Host task usb_host_task.c ai_sd_mmc.c File System ai_usb_ms.c /services/fs/fat/ Decoder 2 /thirdparty/decoder2 Decoder 3 /thirdparty/decoder3 Decoder 2 and above are optional Drivers usart.c, spi.c, twi.c, ssc_i2s.c, flashc.c, pm.c, gpio.c 2.5 Player configuration As detailed in the Atmel AVR32839: AVR UC3 Audio Player application note, the task() function is in charge of calling the software tasks to perform audio decoding. The task() is macro based and defined in /config/conf_audio_player.h file where the call to the WMA task is defined: #define task() \ { \ task_usb(); \ task_usb_ms(); \ task_wma(); \ } The WMA support is then enabled by defining the WMA_SUPPORT to true: #define SUPPORT_WMA true The WMA file extension filtering is enabled in the following section of the conf_audio_player.h file: 3

2.6 Decoder license // ***** WMA Support ******************************************* #if defined(support_wma) && SUPPORT_WMA == true #include "ai_usb_ms_wma_support.h" #define task_wma() \ { \ extern void codec_wma_task(void); \ codec_wma_task(); \ } #define file_format_wma WMA_FILE_FORMAT, #else #define task_wma() #define file_format_wma #endif The WMA decoder implementation is subject to software licence agreement acceptance from the Atmel WMA registration page: http://www.atmel.com/forms/wma_reg.asp. 2.7 Performance Table 2-1 shows the memory requirement for the WMA decoder implementation. Table 2-1. WMA decoder performance Compiler Flash [KB] (1) RAM [KB] (2) GCC 4.4.3 (3) 132.3 / 121.2 37.9 / 37.9 IAR EWAVR32 3.31.1 119.8 / 109.5 38.1 / 38.0 1. Speed / Size optimization 2. Speed / Size optimization 3. AVR 32-bit GNU Toolchain 3.3.1 build 285 4 AVR32842

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 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 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 and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries. Windows and others are registered trademarks or trademarks of Microsoft Corporation in U.S. and or other countries. Other terms and product names may be trademarks of others. Disclaimer: The information in this document is provided in connection with Atmel products. No license, express or implied, by estoppel or otherwise, to any intellectual property right is granted by this document or in connection with the sale of Atmel products. EXCEPT AS SET FORTH IN THE ATMEL TERMS AND CONDITIONS OF SALES LOCATED ON THE ATMEL WEBSITE, ATMEL ASSUMES NO LIABILITY WHATSOEVER AND DISCLAIMS ANY EXPRESS, IMPLIED OR STATUTORY WARRANTY RELATING TO ITS PRODUCTS INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE, SPECIAL OR INCIDENTAL DAMAGES (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS AND PROF- ITS, 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.