杰理蓝牙耳机开发 -- USB Audio应用
本篇文章简单介绍杰理蓝牙耳机SDK中USB Audio功能的应用场景,并记录其开发过程中的部分修改步骤。
杰理蓝牙耳机开发 -- USB Audio应用
USB(Universal Serial Bus,称为通用串行总线)分为主机模式与从机模式。主机模式的典型应用是识别U盘,即芯片主动访问U盘设备;从机模式的应用则更为广泛,如多功能蓝牙音箱、耳机、读卡器等。目前,大多数立体声蓝牙耳机均配备USB接口,因此USB Audio功能已逐渐成为蓝牙立体声耳机的标配。最近在开发蓝牙耳机中的USB Audio功能,本篇文章就介绍一下蓝牙耳机中USB Audio功能的应用场景,并记录其开发过程中的部分修改步骤。
USB Audio基础定义
USB Audio是通过USB接口传输音频信号的技术,这技术可以使耳机、音箱、麦克风等音频设备直接与计算机或其他USB音频设备连接,实现数字音频数据的双向传输。该功能基于 USB标准实现,其中UAC(USB Audio Class,USB 音频类) 是核心通信标准,其定义了USB音频设备与主机计算机的通信协议与数据交互方式。
杰理PC模式说明
要想启用杰理蓝牙音频芯片的USB Audio功能,需先开启杰理PC模式。该模式是杰理针对电脑(PC)设备设计的专用功能模式,通过USB接口实现芯片与电脑的有线连接,支持多种USB协议,具体包括:USB Audio(负责音频传输,播放/采集);HID(负责设备控制,如按键指令交互);Mass Storage(支持存储设备模式,如U盘读取)等。
杰理SDK启用USB Audio功能
以下以AC710N-SDK为例,演示如何使用杰理可视化SDK打开USB Audio功能。
使能USB Audio
如下图,在功能配置选项打开PC模式,使能打开后代码中会使能宏定义TCFG_PC_ENABLE,为USB Audio功能提供基础运行环境。
USB从机配置
PC模式启用后,需在“板级配置”->“USB从机配置” 模块中选择音频功能配置,可单独或同时勾选:
- USB 扬声器使能:支持通过USB接收主机音频(如电脑播放音乐到耳机);
- USB 麦克风使能:支持通过USB向主机传输音频(如耳机麦克风采集声音到电脑)。
同时需配置音频参数,包括:
- 采样率:默认48k(可根据需求调整);
- 位宽:扬声器支持16bit/24bit(可配置双位宽,主机自动适配),麦克风默认16bit。

音频流程图配置
当程序员运行插入USB进入PC模式后,系统会自动调用USB Audio相关的音频流程,需在 SDK “音频流程” 界面完成如下配置,使能USB Audio的音频流程。
这里需要注意的是同时需要在“媒体”音频流程中将pcspk推到DAC中播放。
杰理SDK USB Audio常用修改示例
针对实际开发中的定制化需求,以下几个常见场景的具体修改步骤
修改电脑端显示的名称
SDK默认显示名称为“USBAudio1.0”,可以在user_setup.c文件中修改如下图描述符数组的数据,这里需要注意的是电脑会记住之前显示的名称,修改完成后需要进入设备管理器卸载当前驱动重新插拔后才会显示修改后的名称。
第一字节:描述符长度,这里填整个数组的长度;
第二字节:字符串描述符,类型为0x03,不需要修改;
第3~n字节:显示名称数据。
修改后需要进入电脑设备管理器卸载驱动重新插拔。
修改设备PID与VID
根据需要填写对应的PID(产品ID)与VID(厂商ID)用于上位机APP识别设备,在descriptor.c文件中可以做如下调整。
设备终端描述修改
SDK默认在电脑端显示设备终端类型为“扬声器”,可根据项目需求修改为“头戴式耳机”、“耳机”等其他设备类型。如下修改调整uac1.c文件中的终端类型枚举值
修改后卸载驱动并重新插拔设备,电脑“声音输出”列表会显示新终端类型,如下修改前后对比。
更多推荐



所有评论(0)