AN02016: Integrating Audio Weaver (AWE) Core into USB Audio

VERSION RELEASED COMMENTS DOCUMENTATION SOFTWARE
1.0.2 2024-08-22 HTML PDF Zip

Overview#

This application note describes firmware that provides a high-speed USB Audio device designed to be compliant to version 2.0 of the USB Audio Class Specification based on the xcore.ai device. Output audio from the host is passed through Audio Weaver (AWE) Core for DSP processing, provided by DSP Concepts.

For more information on Audio Weaver see the DSP Concepts website, here.

The code related to this application note depends on lib_awe which contains the XMOS port of AWE.

Note

You must manually obtain the libAWECore.a file and place in the lib_awe/lib/xs3a directory inable to build applications with this software.

Key Features#

The application is designed to run on the xcore.ai Multichannel Audio Board (MCAB). It uses the XMOS USB Audio framework to implement a USB Audio device with the following key features:

  • USB Audio Class 2.0 (High Speed)

  • Stereo input from the host

  • Stereo output on the OUT 1/2 3.5 mm analog jack (line level)

  • Audio from the host is routed through the AWE framework before being played on the output jack

  • Asynchronous clocking (local audio clock to hardware)

  • 24 bit Sample resolution

  • 48 kHz sample rate

  • Tuning to AWE provided over USB HID with VID 0x20b1 and PID 0x0018 supporting live tuning from the Audio Weaver software

  • Optional use of the AWE Flash File System

A number of build configurations are included supporting different feature sets.

Known Issues#

  • None

For general issues see Known Issues in lib_awe

Required Tools#

  • XMOS XTC Tools: 15.3.0

Required Libraries (Dependencies)#

  • lib_sw_pll (www.github.com/xmos/lib_sw_pll)

  • lib_xua (www.github.com/xmos/lib_xua)

  • lib_adat (www.github.com/xmos/lib_adat)

  • lib_locks (www.github.com/xmos/lib_locks)

  • lib_logging (www.github.com/xmos/lib_logging)

  • lib_mic_array (www.github.com/xmos/lib_mic_array)

  • lib_xassert (www.github.com/xmos/lib_xassert)

  • lib_dsp (www.github.com/xmos/lib_dsp)

  • lib_spdif (www.github.com/xmos/lib_spdif)

  • lib_xud (www.github.com/xmos/lib_xud)

  • lib_i2c (www.github.com/xmos/lib_i2c)

  • lib_i2s (www.github.com/xmos/lib_i2s)

  • lib_awe (www.github.com/xmos/lib_awe)

Support#

This package is supported by XMOS Ltd. Issues can be raised against the software at: http://www.xmos.com/support

Scroll to Top