简介
lib_xua是一个包含共享组件的库,专为XMOS USB音频(XUA)参考设计而设计。
这些共享组件提供了在XMOS xCORE架构上开发USB音频设备所需的功能和工具。通过使用lib_xua,开发人员可以轻松地实现各种USB音频设备,如音频接口、DSP和HI-Res音频解码器等。
lib_xua 基于XMOS开发的XC语言编写,如果您需要深入开发,请参考XC编程语言。
特性
这个代码库中各个组件的主要特性如下:
- 符合USB Audio Class 1.0/2.0标准
- 完全的异步操作(可选择同步模式)
- 支持以下采样频率:
- 8、11.025、12、16、32、44.1、48、88.2、96、176.4、192、352.8、384kHz
- 输入/输出音量和静音控制(适用于主通道和各个独立通道)
- 支持动态选择的输出音频格式(例如分辨率)
- 符合USB设备固件升级(DFU)类别规范,支持现场固件升级
- S/PDIF输出
- S/PDIF输入
- ADAT输出
- ADAT输入
- 与外部数字流(例如S/PDIF或ADAT)同步(在异步模式下)
- I2S从模式和主模式
- TDM从模式和主模式
- MIDI输入/输出(符合USB MIDI设备类别规范)
- DSD输出(DSD64和DSD128速率下的“native”和DoP模式)
- 灵活路由的混音器
- 通过USB人机界面设备(HID)类别进行简单的播放控制
请注意,并非所有特性都能在所有采样频率、所有设备上或单个设备上同时提供支持。某些特性可能还需要特定的主机驱动程序来实现支持。
对主机系统的要求
使用lib_xua构建的USB音频设备需要满足以下主机系统要求:
- Mac OSX 10.6或更高版本
- Windows Vista、7、8或10,需安装适用于Windows 的 Thesycon Audio Class 2.0驱动程序(已测试兼容版本为3.20以上)。另外从Windows10 1809版本之后,Windows原生支持USB Audio Class 2.0。
- Windows Vista、7、8或10,具备内置的USB音频类别1.0驱动程序。
不保证在较旧版本的Windows上能正常运行。此外,设备也可与各种Linux发行版以及移动变体一起使用。
相关应用笔记
以下应用笔记使用了这个库:
- AN000246 - Simple USB Audio Device using lib_xua
- AN000247 - Using lib_xua with lib_spdif (transmit)
- AN000248 - Using lib_xua with lib_mic_array
如果您正在使用我们整合的SDK,这些应用笔记可以在 lib_xua/examples 下找到
所需软件(依赖项)
文档
您可以在软件包的/doc目录中找到该软件的文档。
支持
此软件包由XMOS Ltd提供支持。您可以在XMOS支持页面上提出软件问题。
关于本文档
本文档描述了lib_xua的结构、使用方法和所需资源。它还涵盖了一些实现细节。 本文档假定读者熟悉XMOS xCORE架构、通用串行总线2.0规范(及相关规范)、XMOS工具链和XC语言。
功能列表
| 功能 | 提供音频输入/输出的USB接口 |
|---|---|
| 支持的标准 | USB 2.0(全速和高速) |
| USB Audio Class 1.0 | |
| USB Audio Class 2.0 | |
| USB固件升级(DFU)1.1 | |
| USB MIDI设备类 1.0 | |
| 音频 | I2S/TDM |
| S/PDIF | |
| ADAT | |
| Direct Stream Digital(DSD) | |
| PDM麦克风 | |
| MIDI | |
| 支持的采样频率 | 44.1kHz、48kHz、88.2kHz、96kHz、176.4kHz、192kHz、352.8kHz、384kHz |
| 支持的设备 | XMOS xCORE-200系列设备 |
| xCORE.AI系列设备 | |
| 要求 | 开发工具 |
| xTIMEcomposer开发工具v15.1或更高版本 | |
| USB | 集成USB物理层的xCORE设备(不支持外部物理层) |
| 音频 |