UAC使用参考

Version 1.0


1. 概述

UAC是一种基于USB总线实现的数字音频数据传输协议,不同的开发者可以根据自身需求,定义任意的控制方式、传输方式、音频格式等等参数。

UAC应用Demo路径:rtk/proj/sc/application/usb_gadget_app/class/src/uac_app.c

UAC驱动路径:rtk/proj/sc/customer/usb_gadget/class/src/uac.c以及rtk/proj/sc/customer/usb_gadget/class/src/uac2.c


2. 配置


2.1. mak配置

在相应的product config中修改mak文件的配置,要保证CONFIG_USB_GADGET_SUPPORT = TRUE以及CONFIG_USB_GADGET_SSTAR_SUPPORT = TRUE基础USB编译打开。

启用选项CONFIG_USB_GADGET_UAC_SUPPORT = TRUE。用户根据需要选择启用UAC-MIC(麦克风)和UAC-SPK(扬声器),使用UAC-MIC需要使用选项CONFIG_USB_GADGET_UAC_MIC_SUPPORT = TRUE,使用UAC-SPK需要使用选项CONFIG_USB_GADGET_UAC_SPK_SUPPORT = TRUE

根据UAC协议的不同,如果使用UAC 2.0,需要选项指定CONFIG_USB_GADGET_UAC_VERSION = 2,这样才能将驱动的uac2.c编译进去,选择1仅编译uac.c

如果需要一启动便初始化UAC,需要配置CONFIG_USB_GADGET_APP_CUR_CLASS = "2"

注意mak修改完成后需要make clean下再make


2.2. 调试

  1. 本例板端同时启用UAC-MIC以及UAC-SPK,PC打开设备管理器,能够看到新增的2个UAC设备:

  2. 测试UAC-MIC,确保板端接好麦克风后,打开如下界面,对着麦克风说话能够看到变化:

  3. 测试UAC-SPK,仅需在PC选择播放设备为UAC,播放音乐即可(板端需要接好喇叭):