如何使用Snapdragon的蓝牙无线电芯片创建蓝牙音频系统

发布时间:2023-06-13  

Snapdragon 平台具有适用于任何类型的音频/语音处理系统的所有必要组件。本文着眼于如何使用 Snapdragon 的蓝牙无线电芯片来创建完整的蓝牙音频系统。


将 QCA 蓝牙/Wi-Fi 模块与 Snapdragon 配合使用是蓝牙用例的完整解决方案。在本文中,我们将提供一些有关音频路由和 BlueZ 接口的信息,以使 Snapdragon 平台(在本示例中为 APQ8009 - Snapdragon 200 系列)成为免提设备。在这个平台中,我们使用带有 I2S 接口的 WCD9326 作为前端音频编解码器。


QCA 模块具有专用于 APQ 的总线接口,使用此总线和定制的主机控制器接口 (HCI) 驱动程序,用户应用程序可以以与以前相同的方式与蓝牙接口通信(图 1)。接口模块可以使用共享内存基础通信直接访问低功耗音频子系统 (LPASS)。LPASS 是 Hexagon 数字信号处理器 (DSP),它为信号处理应用提供了一个平台。这意味着需要对蓝牙流进行的任何处理都可以在作为 Snapdragon 的一部分的 LPASS 中完成。

pYYBAGKywf2AYy9UAAD9rVl6itc502.png

【图1 | 与蓝牙接口通信的用户应用程序]

该平台上的人机交互 (HCI) 接口是一个共享的、基于内存的驱动程序,您可以将它与各种蓝牙堆栈一起使用。我们将使用 BlueZ 作为示例。

使用高级音频分发配置文件 (A2DP) 接收器和免提配置文件 (HFP),您可以设计出大多数车载套件中的蓝牙扬声器/HFP 设备。

A2DP 接收器配置文件

让我们完成启用此配置文件的步骤:

在 BlueZ 配置中启用配置文件。

在 DBus 配置中启用正确的消息。使用 。添加与每个接口相关的 DBus 消息dbus_bus_add_match。

开始侦听 DBus 以获取与请求连接相关的消息,并提供代理以使用dbus_connection_pop_message.

media_register_endpoint使用 A2DP的正确 UUID 为A2DP 接收器注册正确的端点。

等待 DBus 上的设置和选择配置消息,这将由远程设备触发。SelectConfiguration 之类的消息将通知 SBC 编解码器的正确设置。

配置编解码器(如 SBC)后,收听播放消息。收到 SetConfiguration 消息后,打开线程进行下一步。

BlueZ 堆栈提供指向来自远程设备的音频流的文件指针。

打开该流,读取数据包,对其进行解码,然后将它们发送到输出音频设备。

在这个级别,LPASS 就位,音频流将由 DSP 处理。使用 Hexagon DSP 及其软件开发套件 (SDK),您可以在将其传递到 APQ 之前进行任何自定义音频处理。例如,您可以将低复杂度子带编码 (SBC) 解码留给 DSP 和/或对音频流进行一些过滤。高级操作系统 (HLOS) 上的音频接口是标准的。例如,在 Linux/Android 上,高级 Linux 声音架构 (ALSA) 是音频层。在 ALSA 端使用混音器命令,您可以控制音频路由,这为 HLOS 端提供了灵活性。

音频路由

要设置扬声器路由,请应用混音器命令来设置 CODEC。

cset “name=‘MI2S_RX Channels’ 1”

cset “name=‘SLIM RX0 MUX’ 1”

cset “name=‘RX INT7_1 MIX1 INP0’ 5”

cset “name=‘COMP7 Switch’ 1”

cset “name=‘SpkrLeft COMP Switch’ 1”

cset “name=‘SpkrLeft BOOST Switch’ 1”

cset “name=‘SpkrLeft SWR DAC_Port Switch’ 1”

cset “name=‘PRI_MI2S_RX Audio Mixer MultiMedia2’ 1”

现在,使用将音频流发送到 MultiMedia2 的任何播放应用程序将音频流从 DSP 路由到扬声器。

免提配置文件

由于 BlueZ 堆栈支持 HFP,我们可以轻松设置对 HFP 的支持,如下所示

设置 BlueZ 配置以支持 HFP。

设置 DBus 配置以获取 HFP 消息。

使用适当的设置设置语音的 HCI。

hciconfig hci0 类 4C0100

听取配对请求并提供适当的代理来完成配对。

启用同步面向连接 (SCO) 连接。

等待 BlueZ 堆栈提供 RFCOMM 和 SCO 套接字。

当 SCO 连接建立后,LPASS 将拥有来自蓝牙接口模块的 TX 和 RX 音频流。

现在 LPASS(Hexagon DSP)就位。音频流将通过 DSP 并传递到 APQ。使用 DSP 上的现有模块,您可以轻松地为 HFP 案例设置回声消除系统。此外,现有的模块可用于噪声消除或抑制。

音频路由

amixer cset name=‘MI2S_RX Channels’ ‘Two’

amixer cset name=‘SLIM RX0 MUX’ ‘AIF1_PB’

amixer cset name=‘SLIM RX1 MUX’ ‘AIF1_PB’

amixer cset name=‘RX INT7_1 MIX1 INP0’ ‘RX0’

amixer cset name=‘RX INT8_1 MIX1 INP0’ ‘RX1’

amixer cset name=‘COMP7 Switch’ 1

amixer cset name=‘COMP8 Switch’ 1

amixer cset name=‘SpkrLeft COMP Switch’ 1

amixer cset name=‘SpkrLeft BOOST Switch’ 1

amixer cset name=‘SpkrLeft VISENSE Switch’ 1

amixer cset name=‘SpkrLeft SWR DAC_Port Switch’ 1

amixer cset name=‘RX7 Digital Volume’ 90

amixer cset name=‘RX8 Digital Volume’ 90

amixer cset name=‘AIF1_CAP Mixer SLIM TX6’ 1

amixer cset name=‘MI2S_TX Channels’ 0

amixer cset name=‘SLIM TX6 MUX’ 2

amixer cset name=‘ADC MUX6’ 0

amixer cset name=‘DMIC MUX6’ 1

amixer cset name=‘IIR0 INP0 MUX’ 7

amixer cset name=‘PRI_MI2S_RX Port Mixer INTERNAL_BT_SCO_TX’ 1

amixer cset name=‘HFP_INT_UL_HL Switch’ 1

amixer cset name=‘INTERNAL_BT_SCO_RX Audio Mixer MultiMedia6’ 1

amixer cset name=‘MultiMedia6 Mixer QUAT_MI2S_TX’ 1

aplay -D hw:0,5 -P &

arec -D hw:0,17 -P -R 8000 -C 1 &

aplay -D hw:0,18 -P &

arec -D hw:0,18 -P -R 8000 -C 1 &

使用此环回,音频流来自蓝牙,被路由到扬声器和来自麦克风的音频流,并被路由到蓝牙。

在所有这些情况下,您需要做的是在 RX 或 TX 音频路径中设置拓扑(音频/语音处理模块的组合),并在拓扑中定义它。然后,在需要时将该拓扑 ID 加载/发送到 DSP。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>