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.

[参考译文] CC2564C:mSBC over HCI 数据包损坏。

Guru**** 2810835 points

Other Parts Discussed in Thread: CC2564C

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1125397/cc2564c-msbc-over-hci-packets-getting-corrupted

器件型号:CC2564C

尊敬的 TI:

我们在基于 HCI 的 msbc 上也存在类似的问题。  

在 HFRE 指示上、我们接收到的数据包状态为"HCI_SCO_FLAGS_PACKET_STATUS_MASK_RITY_RUSE_DATA"、并且数据解码失败。  

当我们检查 mSBC 数据包时、标头似乎是错误的。

对于有效的 mSBC 数据、第三个字节应为0xAD、但 在问题发生时、我们会得到其他一些东西(随机值)。

这是否有任何解决方案?

此致、

Vishnu

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

    尊敬的 TI:

    我们收集了有关该问题的更多数据。 看看这是否有用。

    我们从 HFRE_AudioDataIndication 获取的缓冲区指针存在一些问题。

    原始有效数据似乎被我们得到的指针的长度所偏移。

    示例:

    下面给出的数据显示  了数据包有效时从 HFRE_AudioDataIndication 获取的指针的前三个字节。

    0x01 0x08 0xAD
    0x01 0x38 0xAD
    0x01 0xC8 0xAD
    0x01 0xf8 0xAD
    0x01 0x08 0xAD
    0x01 0x38 0xAD
    0x01 0xC8 0xAD
    0x01 0xf8 0xAD

    下面给出的数据是问题发生的时间。 在数据中、您可以看到数据包似乎被2个字节偏移。

    0x6C 0x00 0x01 0xf8
    0x6C 0x00 0x01 0x38
    0x6C 0x00 0x01 0xf8
    0x6C 0x00 0x01 0x38
    0x6C 0x00 0x01 0xf8
    0x6C 0x00 0x01 0x38
    0x6C 0x00 0x01 0xf8
    0x6C 0x00 0x01 0x38
    0x6C 0x00 0x01 0xf8
    0x6C 0x00 0x01 0x38
    0x6C 0x00 0x01 0xf8

    *(在上表(红色) 中、数据仅在解码失败时获取、请勿将其视为连续的数据包)。

    mSBC 头通常以 0x01开头、后跟序列号(0x08、0x38、 0xC8、 0xf8)。同样。

    在上面(红色表格)中、我们可以看到 mSBC 标头偏移2个字节。

    随着时间的推移,我们观察到偏移量正在变为4,6,8,10...等等

    当我们尝试进行指针偏移和数据解码时、系统具有一些抗扰性、我们能够对数据包进行解码(不保证整个数据都正确、但音频质量仍然很好)。

    如果偏移量超过6、则质量将变差(间歇性音频或机器人语音)。 如果它进入此错误 、我们必须切断电话并再次拨打电话。

    此致、

    Vishnu

     

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

    尊敬的 TI:

    对此进行了任何更新?

    我还有一个更新。

    三星电话和一些 iPhone 也出现了这一问题。

    此致、

    Vishnu

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

    您好,Vishnu,

    您是否在 Bluetopia 栈中收到错误代码? 您如何知道解码失败的时间? 这是否与音频质量较差(例如连接到 BLE)期间的特定事件相关?

    以下是我在 有关 mSBC 头格式的 HFP 规格中找到的内容:

    BR、
    Jacob

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

    您好、Jacob、

    我将在下面添加答复。

    1) 1)您是否在 Bluetopia 栈中收到错误代码? 您如何知道解码失败的时间?   

    回复:解码失败时,我将无法获取 SBC_processing_complete 作为 “SBC_Decode_Data()”函数的返回。 相反、我们将获得  SBC_processing_data。

    我们在某些手机(Samsung Galaxy J6、iPhone 12 Pro 等)上专门看到了这个问题。  当问题发生时、我们可以看到同步字(0xAD)正被因子2偏移。 这就是我在上表中所显示的内容,即使我已将数据包的开头作为指向偏移量的引用。(在0xAD 之前,有2个标头  | 1:0x01 | 2:SEQ (0x08、0x38、 0xC8、 0xf8)|。  

    2) 2)这是否与音频质量较差(即连接到 BLE)期间的特定事件相关?

    回答: 不是,它不是特定于任何事件的。它完全随机,在某些电话上可以很可靠地重现。 对于大多数其他电话、Redmi、Oneplus 等、我们没有发现此问题。  

    3)以下是我在  有关 mSBC 报头格式的 HFP 规格中找到的内容:

    答∶是的,雅各。 我们知道这些同步字以及如何确定 mSBC 的标头等

    在这里、我们看到了从 HFRE_AudioDataIndication 事件获取的指针偏移数据包标头的一个基本问题。 (packetstatus 表明它是有效的数据包)。 这就是我们需要的答案。

    此致、

    Vishnu

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

    此外、

    我们想知道找到以下线程已关闭的原因。

    https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/789132/cc2564c-corrupted-msbc-data-seen-with-voice-over-hci。 

    该线程通过邮件进行了一些通信。 我们无法找到这些信息。 如果您能获得这些信息、那将非常好。

    谢谢!

    Vishnu

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

    您好、Jacob、

    我们能够让电话在大多数电话上可靠地工作、并且收集了错误电话上的数据、以便我们可以从 TI 团队获得特定帮助。 请您仔细阅读 Vishnu 共享的数据(另请考虑查看我们共享的另一个 e2e 线程)、并告知我们如何解决此问题。

    非常感谢!

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

    您好、Sundararajan、

    我需要提出另一个澄清问题:您是否正在使用 WBS? 我还将在此处分享有关 CC2564C 音频功能的一些文档。

    e2e.ti.com/.../CC256x-Advanced-Voice-and-Audio-Features-_2D00_-Texas-Instruments-Wiki.pdf

    最棒的
    Jacob

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

    您好、Jacob、

    [~引语 userid="456020" URL"支持/无线连接/bluetooth-group/f/bluetooth-forum/1125397/cc2564c-msbc-over-HCI-packets-getting-corrupt/4184104184104"]我需要问另一个问题:您是否正在使用 WBS[/引述]

    是的,我们在无辅助模式下使用 WBS (即通过 HCI 和解码器获取的数据,编码器在单独的 MCU (STM32F4)上运行,而不是在 CC2564C 支持的辅助模式上运行)。

    此致、

    Vishnu

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

    你(们)好雅各

    请告知我们还可以尝试哪些方法来解决此问题? 谢谢!

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

    您好、Sundararajan、

    您能否获取固件和 HCI 日志来捕获上述音频初始化事件和问题?

    最棒的
    Jacob