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.

[参考译文] CC2564:HFP:音频缺少值

Guru**** 2589275 points
Other Parts Discussed in Thread: CC2564

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/600863/cc2564-hfp-audio-is-missing-values

器件型号:CC2564

您好!


我们将 CC2564B 与 STM32L476上的 Bluetopia Stack v4.2.1.0结合使用。 此代码已从 STM3240G-EVAL (NO-OS)文件夹中移植。

器件芯片组:4.1
BTPS 版本 :4.2.1.0
plat 版本 :1.0
项目类型 :6.
固件版本   :7.35

我们正在开发的器件是蓝牙耳机、它应包含 HFP 和 A2DP 配置文件。 A2DP 配置文件(灌电流)按预期工作(通过 I2S/PCM 使用辅助功能)。

HFP 配置文件也是集成的、在拨打电话时使用。 耳机接收基本音频数据、但它有一些缺失/重复的值。 (使用16kHz/WBS/通过 I2S PCM 辅助)

大约每75ms 重复大约8个值(因此有某种模式、但不一致)。 看起来最后一个采样值是重复的、并且信号恰好在之前停止的位置继续。

这可能是配置中的问题吗? (对于 A2DP、ACL 优先级会重新配置以降低延迟、HFP 是否有类似的配置? 对于 HFP、演示代码似乎没有类似的内容)

你需要其他什么吗?

谢谢、此致、
Tommy Sparber

频率为2.5kHz 的音频采样、直接从 CC2564的 PCM 输出中记录。

e2e.ti.com/.../4722.output.wav

从 DAC 输出记录:

根据记录的 I2S 数据打印

原始 I2S 数据:

e2e.ti.com/.../output.xlsx

BT 日志:

e2e.ti.com/.../BTLog.zip

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们的固件专家将审查并尽快返回、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Tommy、您好!

    请在启用 HCI/LMP 跟踪的情况下上传 BT 日志。
    用户指南: processors.wiki.ti.com/.../CC256x_Logger_User_Guide

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

    Vihang、您好!

    请在此处找到启用了 HCI/LMP 跟踪的日志:(首先建立了与 iPhone 的 A2DP+HFP 连接、然后电话呼叫切换到 HFP 和16kHz/WBS)

    e2e.ti.com/.../BTLog_2B00_HCI.zip

    我在初始帖子中忘记了一些详细信息:

    我们将根据 DAC 的要求、使用1.024MHz 的 PCM 位时钟和每通道32位。 采样代码每通道仅使用16位、因此位时钟频率为512kHz。

    我刚刚测量了帧同步、它是16.084kHz (和1.029MHz 位时钟)。 帧同步是否有任何精度要求?

    对于 A2DP 设置、我们使用帧同步44.1kHz 和32位/通道、因此使用2.8224MHz 的位时钟。 它在没有任何断续的情况下工作得非常好、尽管测量的位时钟也更准确(2.823 MHz)。

    谢谢、此致、

    Tommy Sparber

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

    您好!

    经进一步调查、我设法更改了帧同步时钟、以便更准确地匹配16kHz (15.997kHz、3Hz 误差、而不是16.080kHz 的80Hz 误差)。

    现在该错误消失了。 我现在假设 PCM 帧时钟应该尽可能准确、否则可能会发生缓冲区过载/欠载、即使模块用作 PCM 从机、也不会将其自身与外部 PCM 时钟同步。 这一假设是否正确?

    最棒的

    Tommy Sparber

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

    这种分析是有道理的。 PCM 缓冲区溢出/欠载可能会发生、尤其是当 CC256x 的 PCM 是 PCM 从设备、也是蓝牙连接上的从设备时。 因此、最好将 CC256x 用作 PCM 主设备和蓝牙连接主设备(如果可能)。

    我很高兴知道、您能够通过将 PCM 时钟微调到精确度来解决此问题。

    此致、
    Vihang