This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/WL1837MODCOM8I:辅助 A2DP (A3DP) AM5728

Guru**** 2382830 points
Other Parts Discussed in Thread: BEAGLEBOARD-X15
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/606179/linux-wl1837modcom8i-assisted-a2dp-a3dp-am5728

器件型号:WL1837MODCOM8I
Thread 中讨论的其他器件:WL1837BeagleBoard-X15

工具/软件:Linux

大家好、

我尝试通过 PCM 接口获取音频流/捕捉、我使用的是 Linux 版本4.4、BlueZ 版本5.41和 PulseAudio-9。

我能够 捕获音频、但它是通过 UART 接口而不是通过 PCM 进行的、是否缺少某种初始化、以使其与 PCM 接口协同工作。

我们已将 MCASP2连接到 BT PCM、引脚多路复用也已完成并启用:

      McASP@48464000{
         兼容="ti、dra7-mcasp-audio";
         ti、hwmonds ="mcasp2";
         REG =<0x48464000 0x2000 0x45c00000 0x1000>;
         reg-names ="MPU"、"dat";
         中断=<0x0 0x95 0x4 0x0 0x94 0x4>;
         中断名称="TX"、"RX";
         DMA =<0xaf 0x83 0x1 0xaf 0x82 0x1>;
         dma-names ="TX"、"Rx";
         时钟=<0xf5 0xf6 0xf7>;
         时钟名称="fck"、"ahclkx"、"ahclkr";
         OP-MODE =<0x0>;
         TDM-SLOTS =<0x2>;
         serial-dir =<0x1 0x2 0x0 0x0>;
         TX-num-evt =<0x20>;
         Rx-num-evt =<0x20>;
         状态="正常";
      };

谢谢、

Mike

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Mike、您是否正在使用 AM572x EVM? 默认情况下、Bluez 使用 A2DP。 要使用 A3DP、您需要使用 VS 命令对编解码器进行编程、以便与控制器进行 PCM 连接、并将外部编解码器与 AM572x 分开。

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Hari、

    它是基于 am572x 的定制板。 我想使用 BlueZ 和脉冲音频测试 wl1837上的 PCM 接口。
    我已按照链接[1]并应用了补丁"新功能:AM335x EVM 上的 BT PCM 集成"。
    通过此操作,我可以得到:
    [9.079359] ASOC-simple card sound@1:wilink8_Bt-hifi <-> 48464000.McASP 映射 o

    root@am572x:~# arecord -L
    null
    丢弃所有样本(回放)或生成零样本(捕获)
    脉冲
    PulseAudio Sound 服务器
    默认值
    默认 ALSA 输出(当前 PulseAudio Sound 服务器)
    sysdefault:card=BeagleBoardX15
    BeagleBoard-X15、
    默认音频设备
    sysdefault:card=WILINKBT
    WiLink-BT、
    默认音频设备
    root@am572x:~# aplay -L
    null
    丢弃所有样本(回放)或生成零样本(捕获)
    脉冲
    PulseAudio Sound 服务器
    默认值
    默认 ALSA 输出(当前 PulseAudio Sound 服务器)
    sysdefault:card=BeagleBoardX15
    BeagleBoard-X15、
    默认音频设备
    sysdefault:card=H58040000encode
    HDMI 58040000编码器、
    默认音频设备
    sysdefault:card=WILINKBT
    WiLink-BT、
    默认音频设备

    但是、当我配对并尝试录制时、我在 BT 音频上看不到任何时钟。


    我不确定您的具体意思是“使用 VS 命令编解码器从控制器进行 PCM 连接”,您的意思是 WILINK8芯片?

    以及"与 AM572x 分开的外部编解码器..." 我该怎么做?

    [1] processors.wiki.ti.com/index.php

    谢谢、
    Mike
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Hari、

    我还有 AM572x EVM、我也可以在这里尝试一下。 wl18x 连接的 macsp 接口是什么?

    谢谢、
    Mike
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Mike、
    让我检查并返回。 我认为、您上面提到的补丁适用于 AM335x、它将 PCM 从控制器路由到 AM335x McASP 端口再路由到 TLV 编解码器。 我认为、AM335x EVM 存在限制、不允许将 PCM 从 WL18xx 直接连接到外部编解码器。

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Hari、

    如果我没有遇到错误、您指的是以下路径:
    耳机--> WLINK8 -->编解码器(TLV)--> >MCASP2 -->存储到文件?

    但这不应该是吗?

    头戴式耳机--> WILINK8-->MCASP-->存储到文件?

    我不想将外部编解码器连接到 WiLink,我希望从 PCM 接口(即蓝牙麦克风)捕获音频。
    同时使用 BLE 器件来使用 UART。

    对于 A2DP,我可以通过 PCM 而不是 UART 使用它,并允许 LE 从 UART 连接吗?

    谢谢、
    Mike
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的... 我错误取消您所需的配置。 当然、对于 PCM MIC 捕获、您的路由看起来是正确的。 我需要使用 Bluez 检查编解码器 PCM 配置选项(即何时以及如何发送编解码器 VS 命令)以及 AM572x EVM McASP 到 COM8端口的连接并返回给您。

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Hari、

    通过查看 am572x EVM 上的[1]、mcasp7连接到 P12连接器、因此我想我们需要启用 mcasp7 + pinmux 并应用我在之前的帖子中发布的补丁。

    我找到了一些用于配置编解码器[2]的命令、但目前还不幸运、通过查看补丁、我可以看到 WiFi BT 模块已注册为编解码器、 但我们需要告知 wilink8芯片通过音频接口而不是 UART 路由音频数据。

    [1] processors.wiki.ti.com/.../AM572x_General_Purpose_EVM_HW_User_Guide
    [2] processors.wiki.ti.com/.../CC256x_VS_HCI_Commands

    谢谢、
    Mike
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、Mike、我们在 Linux 环境中似乎没有现成的 A3DP 示例。 我们提供了基于 MCU 的蓝牙堆栈、其中 A2DP 仅限于 SBC 编解码器。 我正在咨询我们的 BT 专家、了解将器件置于 A3DP 模式所需的命令、这可能需要一两天时间。

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Hari、

    感谢您的回复、我将等待您的回复。

    谢谢、
    Mike
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Mike、如果您使用的是 HFP 控制器、则应自动路由 PCM。
    而对于 Linux 上的 A3DP 则是如此。 您需要执行以下操作。 (我自己没有试过)
    使用 A2DP 配置文件设置连接、然后-
    a)使用'HCI_VS_Write_CODE_Config'配置控制器的 PCM 端口
    b)使用'HCI_VS_A3DP_Codec_Configuration'配置 SBC 编解码器
    c)使用'HCI_VS_A3DP_Open_Stream'打开流

    VS 命令的详细信息,请访问: www.ti.com/.../swru442a.pdf

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Hari、

    我已经浏览过该文档、但仍然没有运气!
    所有麦克风是否都支持 HFP? 默认情况下、当我启动时、我将获得免提:

    控制器20:91:48:C3:D0:78
    名称:am572x-evm
    别名:vb4
    类:0x200000
    已通电:是
    可发现:否
    可配对:是
    UUID:通用属性配置文件(00001801-0000-1000-8000-00805f9b34fb)
    UUID:A/V 远程控制 (0000110e-0000-1000-8000-00805f9b34fb)
    UUID:PNP 信息 (00001200-0000-1000-8000-00805f9b34fb)
    UUID:通用访问配置文件(00001800-0000-1000-8000-00805f9b34fb)
    UUID:handsfree (0000111e-0000-1000-8000-00805f9b34fb)
    UUID:A/V 远程控制目标(0000110c-0000-1000-8000-00805f9b34fb)
    MODALIAS:USB:v1D6Bp0246d0529
    正在发现:否


    我正在使用 BlueZ,连接到 Handsfree (0000111e-0000-1000-8000-00805f9b34fb)是否默认为 PCM?

    我无法将这些 HCI_VS_A3DP_Codec_Configuration 转换为正确的 HCI 命令。

    谢谢、
    Mike
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Bluez5似乎仅支持 A2DP。 它停止支持 HFP。 因此、您只能通过 A2DP 和耳机进行连接。 如果您使用的是 TI Bluetopia 栈、则可以使用 HFP。