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.

[参考译文] CC2564MODA:A3DP 接收器超出范围?

Guru**** 2539500 points
Other Parts Discussed in Thread: TLV320DAC3203

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/882988/cc2564moda-a3dp-sink-out-of-range

器件型号:CC2564MODA
主题中讨论的其他器件:TLV320DAC3203

CC2564MODACMOMOG 作为 I2S 主设备和 A3DP 接收设备运行。 主机蓝牙是 Win10、并使用1kHz 正弦波进行测试。  从 YouTube 或其他 Web 源代码运行时、Win10中的音量可调节到最大。  当在 Win10操作上从任何.wav 文件本地运行时、可以使用 VLC 媒体播放器实现89%的音量、然后会出现严重失真、就像运行超出数字信号范围且具有二进制补码中断-请参阅波形。 输出器件 TLV320DAC3203作为具有44k1字时钟、16位/字关节立体声的从器件。 尝试通过减小 DAC 前端的增益级来实现数字范围、但它只会降低音量、并且仍然存在严重失真。 通过 DAC 模拟输入的模拟信号正常、DAC 似乎工作正常。 CC2564B 内部的 SBC 解码似乎溢出了.... 在蓝牙耳机上运行相同的音频源时、我们不会得到失真、并且可以达到100%的 VLC 音量。 在 Win10音量为100%且 VLC 播放器为 89/90%的情况下进行测试。

Win10卷为100%、VLC 卷为89%:

Win10卷为100%、VLC 卷为90%:

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

    Brian、

    是否可以显示其他未显示此行为的器件的图? 从您描述的内容来看、这听起来像是在 Win 10 PC 上使用蓝牙驱动程序时发生了 VLC 问题。

    蓝牙耳机可能会在输出模拟信号之前对其进行过滤和清理、这可能是您在这种情况下听不到该信号的原因。  

    BR、

    Vince  

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

    Vince

    感谢您的意见。  我们尝试过的每个播放器、VLC、Win 10 Media Player、Groove Media Player 和 Windows 耳机测试都可以实现这一功能。 这一点不失真;它看起来非常像 Bluetopia 解码中超出范围的数字。  正弦波的峰值对称地击退、就好像它们以二进制补码缠绕一样。 -参考上面的90%数字;它应该是振幅轻微增加的89%数字随着音量的增加而突然产生影响。 效果的开始发生在不同音量下、具体取决于所使用的播放器、例如、在 Win10耳机测试中、它的发生频率约为70%。

    是否有任何方法可以从 Win 10主机发送测试模式、以便可以明显正确地对数据进行解码?

    BR、

    Brian

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

    我们认为我们已经解决了问题...问题似乎是示例代码与参数的 Wiki 页面描述不一致。

    Wiki 页面: https://processors.wiki.ti.com/index.php/CC256x_VS_HCI_Commands#HCI_VS_Write_CODEC_Config_Enhanced_.280xFD07.29

    HCI_VS_Write_CODEC 配置通道2数据输出偏移:  
    帧同步上升和数据启动之间的 PCM 时钟周期数。 注:
    请注意、CH2的偏移必须是 CH1数据长度+ 1的最小值。
    当不使用 CH2时、此要求也很重要。

    我们的数据长度为16、因此我们现在已将参数设置为17。

    但是、我们之前基于实现的示例代码具有:

    VS_PCM_Codec_Config_Slave_I2S

    /*通道2的大小、偏移和边沿数据(0 =上升、1 =下降)*/
    assign_host_word_to Little _ENDIAN_unaligned_word (&CommandBuffer[28]、16);
    assign_host_word_to Little _ENDIAN_unaligned_word (&CommandBuffer[30]、16);  //此处的参数应为17

    我们基于此代码将主设备作为操作的基础。 两个通道似乎重叠了1位、因此在大于50%的信号电平下、MSB 设置错误、并且存在严重失真...类似于二进制补码绕过时得到的结果。