0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

高通骁龙上的蓝牙A2DP和HFP

星星科技指导员 来源:嵌入式计算设计 作者:Shahrad Payandeh 2022-08-12 11:58 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

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

450-58b609b42dccb-Picture1.png.jpg

【图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。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    561

    文章

    8275

    浏览量

    368264
  • 扬声器
    +关注

    关注

    29

    文章

    1356

    浏览量

    66232
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    蓝牙5.3 经典音频 + LE Audio,一颗模块兼顾两种生态

    可以都要。经典蓝牙音频(A2DPHFP)生态成熟、终端众多;LE Audio 则在多设备同步、低延迟、广播音频更具潜力。许多应用既需兼容现有经典
    的头像 发表于 03-24 16:11 883次阅读

    通推出全新可穿戴平台至尊版

    通技术公司今日宣布推出可穿戴平台至尊版,这是一款个人AI平台,为解锁下一代真正实现个性化、始终在线的智能可穿戴计算设备而设计。个人AI终端将成为AI时代智能网络的关键一层,
    的头像 发表于 03-04 09:31 828次阅读

    单核性能提升35%!剑指中高端AI PC市场,X2 Plus CES

    1月6日,通技术公司在2026年国际消费电子展(CES 2026)宣布推出X系列最新成员——
    的头像 发表于 01-06 15:01 1.3w次阅读
    单核性能提升35%!剑指中高端AI PC市场,<b class='flag-5'>骁</b><b class='flag-5'>龙</b>X<b class='flag-5'>2</b> Plus CES<b class='flag-5'>上</b>新

    首款5GHz芯片,Windows PC最快!X2 Elite系列计算平台重磅亮相

    9月25日,在2025创新技术峰会的第二日,通技术公司产品管理副总裁Nitin Kumar宣布,今天我们正式推出
    的头像 发表于 10-09 09:20 1.8w次阅读
    首款5GHz芯片,Windows PC最快!<b class='flag-5'>骁</b><b class='flag-5'>龙</b>X<b class='flag-5'>2</b> Elite系列计算平台重磅亮相

    旷世之声全新无损蓝牙发射器支持畅听技术

    近日,旷世之声正式推出QCC Dongle Pro和QCC Dongle无损蓝牙发射器,该系列产品分别搭载第二代通S5音频平台和第二代通S3音频平台,支持Snapdragon Sound
    的头像 发表于 07-14 15:22 1675次阅读

    三星Galaxy Z Fold7搭载8至尊版移动平台

    今日,通技术公司宣布 8至尊版移动平台(for Galaxy)将在全球范围为三星Galaxy Z Fold7提供支持。8至尊版(f
    的头像 发表于 07-14 15:14 1690次阅读

    CYW20721 是否支持 HFP、HSP 和 A2DP 配置文件?

    我打算使用 CYW20721,以替换我们产品中已经过时的蓝牙模块. 我很想知道 CYW20721 是否支持 HFP、HSP 和 A2DP 配置文件?
    发表于 07-04 07:28

    通展示数字底盘产品组合的最新成果

    今日,在2025通汽车技术与合作峰会上,通技术公司携手中国先进车企和生态系统合作伙伴,展示其数字底盘产品组合的发展势头和最新成果。
    的头像 发表于 07-03 12:55 1827次阅读

    CYBT-343026 a2dp sink音频音量总是忽大忽小,为什么?

    ,但问题是音频音量总是忽大忽小。 我的电路使用多个数字 i2s 输入,连接到 ES9018 DAC,CYBT-343026 就是其中之一。 除了模块之外,其他所有数字输入都正常工作,这是否说明我在 a2dp 代码示例中遗漏了什么? 感谢您的帮助!
    发表于 07-02 07:32

    哪些芯片支持蓝牙经典 A2DP 配置文件和 LE 音频?

    哪些芯片支持蓝牙经典 A2DP 配置文件和 LE 音频?
    发表于 07-01 06:41

    请问如何整合多个蓝牙配置文件?

    有兩個問題想請教, 1.两个或以上示例代码 例如A2DP跟OTA跟RFCOMM串行端口想整合需要自己看源代码一个搬移吗?还是可以用Tool或有其他方式? 有文件或範例? 2.若是使用A2DP
    发表于 06-30 07:15

    请问删除“wiced_voice_path.a”并继续开发 HFPA2DP 功能可以接受吗?

    蓝牙产品的软件开发中,是否可以删除“wiced_voice_path.a”并继续进行HFPA2DP功能的开发? 我们正在开发软件以使用 CYBT-353027 实现
    发表于 06-30 06:43

    如何才能知道英飞凌Bluetooth®产品支持哪种Bluetooth®配置文件和版本?

    如何才能知道英飞凌Bluetooth®产品支持哪种Bluetooth®配置文件和版本? A2DP、AVRCP、HSP、HFP 等 是否有一个网页或文档解释每个设备支持哪些配置文件和版本? 目前我想了解以下设备特别支持的配置文件和版本。 CYW20721 - CYW
    发表于 06-27 06:04

    请问SCO_Hook是否在CYW20721B2HFP音频网关项目中起作用?

    我需要使用 SCO_Hook lib 在 HFP 音频网关中写入和读取语音样本, 因为音频 I2S/PCM 线路在CYW20721的 HFP 音频网关中不起作用 # 如下所述: https
    发表于 06-26 06:34

    正在成为PC出色动力的核心

    一年前搭载开创性X系列平台的设备开始面市。如今,正在成为PC出色动力的核心。通公司总裁兼CEO安蒙在COMPUTEX 2025
    的头像 发表于 05-21 17:33 1556次阅读