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

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

3天内不再提示

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

星星科技指导员 来源:嵌入式计算设计 作者:Shahrad Payandeh 2022-06-09 16:56 次阅读

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

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

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

pYYBAGKhteOAMR_kAAEAu2bhxMs966.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。

审核编辑:郭婷

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

    关注

    454

    文章

    50594

    浏览量

    422767
  • 解码器
    +关注

    关注

    9

    文章

    1140

    浏览量

    40705
  • 无线电
    +关注

    关注

    59

    文章

    2138

    浏览量

    116393
收藏 人收藏

    评论

    相关推荐

    蓝牙音频模组在智能闹钟中的创新应用

    。1、蓝牙音频模组的功能概述蓝牙音频模组是一种集成音频处理、无线传输、低功耗管理等功能的硬件模块,广泛应用于需要无线
    的头像 发表于 11-29 16:55 122次阅读
    <b class='flag-5'>蓝牙音频</b>模组在智能闹钟中的创新应用

    蓝牙耳机与蓝牙音箱的区别

    在现代生活中,无线音频设备已经成为我们日常娱乐和沟通的重要组成部分。蓝牙技术的发展使得我们可以摆脱线缆的束缚,享受更加自由的音频体验。在众多无线
    的头像 发表于 10-28 15:47 348次阅读

    合肥汤诚便携式蓝牙音箱XA9811D音频功放芯片应用解决方案

    便携音频设备如蓝牙音响,平板电脑,学习机等,因其灵活性和易用性受到广泛欢迎。其中蓝牙音响尤为受欢迎。这类音响以其无线连接的便利性和便携性,成为了许多人日常生活中的必备品。无论是在家中还
    的头像 发表于 09-07 11:18 390次阅读
    合肥汤诚便携式<b class='flag-5'>蓝牙音</b>箱XA9811D<b class='flag-5'>音频</b>功放<b class='flag-5'>芯片</b>应用解决方案

    时钟蓝牙音箱怎么打开蓝牙

    时钟蓝牙音箱是一种结合了时钟和蓝牙音响功能的设备,它不仅可以显示时间,还能通过蓝牙技术无线连接到智能手机、平板电脑或其他蓝牙设备,播放音乐或
    的头像 发表于 09-07 09:19 1139次阅读

    如何利用蓝牙产品执行射频无线电测试

    电子发烧友网站提供《如何利用蓝牙产品执行射频无线电测试.pdf》资料免费下载
    发表于 08-29 10:53 0次下载
    如何利用<b class='flag-5'>蓝牙</b>产品执行射频<b class='flag-5'>无线电</b>测试

    达发科技LDAC蓝牙音频芯片出货量破7000万

    联发科旗下的网通芯片与物联网芯片领先企业——达发科技,宣布了一项重要里程碑。自2021年起,通过与全球知名电子巨头索尼集团的深度合作,达发科技成功在其蓝牙音频平台中整合了索尼标志性的LDAC
    的头像 发表于 08-28 15:31 457次阅读

    无线音频系统介绍

    无线音频系统是一种通过无线信号传输音频数据的技术,旨在消除传统有线连接的限制,提供更大的灵活性和便利性。无线
    的头像 发表于 08-09 17:48 1341次阅读
    <b class='flag-5'>无线</b><b class='flag-5'>音频系统</b>介绍

    如何挑选合适的蓝牙音频模块?

    : 1.主从发射器解决方案 我们的模块有:BT951,BT806A,BT806B,BT901,BT802,BT926,BT956B 特征: 一对一的音频发送 音频接收一对一 aptX(BT802,BT806A,BT806B) 应用范围:
    的头像 发表于 06-28 16:19 632次阅读
    如何挑选合适的<b class='flag-5'>蓝牙音频</b>模块?

    使用ESP32做蓝牙音频是否必须外部SRA吗?

    如题,使用ESP32做蓝牙音频是否必须扩展外部SRAM
    发表于 06-28 08:21

    高通QCC3096 蓝牙音频aptX HD方案

    高通QCC3096 蓝牙音频aptX HD方案 设备说明 ·四核处理器架构 “高性能蓝牙立体声音频SoC “低功耗模式可延长电池寿命 应用程序 无线扬声器 有线/
    的头像 发表于 06-20 15:58 1120次阅读
    高通QCC3096 <b class='flag-5'>蓝牙音频</b>aptX HD方案

    婴儿摇篮床蓝牙音芯片方案-N8900蓝牙音芯片在婴童产品上的应用

    婴儿摇篮床历经演变,如今加入蓝牙音芯片,能播放安抚音乐助眠,促进亲子交流,提升宝宝智力。N8900芯片功能强大,支持蓝牙连接与高质量音频
    的头像 发表于 06-05 09:17 335次阅读

    蓝牙与高通探讨2024年蓝牙音频发展预测

    近日,蓝牙技术联盟高级营销项目经理Mindy Dolan采访了高通公司产品营销高级总监Chris Havell。采访中,Chris Havell分享了高通对2024年蓝牙音频发展的预测。
    的头像 发表于 02-26 14:07 1047次阅读

    蓝牙midi和蓝牙音频或者蓝牙audio有什么区别呢

    、什么是蓝牙midi,这个一般问这个问题的人,基本都懂,蓝牙midi实际就是在标准midi协议的基础上扩充为无线连接而已,原先的midi是靠usb传输,现在换成蓝牙 3、什么是
    的头像 发表于 01-09 15:22 1149次阅读
    <b class='flag-5'>蓝牙</b>midi和<b class='flag-5'>蓝牙音频</b>或者<b class='flag-5'>蓝牙</b>audio有什么区别呢

    BT321F蓝牙音频主机发射连接TWS耳机回连和主动连接的说明

    很多蓝牙耳机的展架应用,需要蓝牙发射模块,输入音频发送给蓝牙耳机 在蓝牙发射方案BT321F的基础上,增加被TWS耳机或者其他
    的头像 发表于 12-28 19:56 982次阅读
    BT321F<b class='flag-5'>蓝牙音频</b>主机发射连接TWS耳机回连和主动连接的说明

    芯知识 | 什么是音频蓝牙播放语音芯片

    随着科技的不断进步,音频蓝牙播放语音芯片成为嵌入式音频系统中备受关注的创新解决方案。本文将深入解析什么是音频
    的头像 发表于 12-15 08:36 766次阅读
    芯知识 | 什么是<b class='flag-5'>音频</b><b class='flag-5'>蓝牙</b>播放语音<b class='flag-5'>芯片</b>?