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.

[参考译文] CC2340R5:当从模块向移动设备持续发送数据时、会发生链路终止

Guru**** 2589265 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1389031/cc2340r5-link-termination-occurs-when-continuously-sending-data-from-module-to-mobile

器件型号:CC2340R5

工具与软件:

您好!

              目前我正在处理 basic_ble 外设配置文件项目。  在尝试    以100ms 的间隔 内在 UART 115200波特率从模块连续向移动设备发送1000字节的数据时、以20字节的 MTU 大小(我们会等待之前的通知在下一个通知排队等待发送)、我们将会遇到问题。 从模块传输多个数据包后、  

 我们将面临 一个链路终端事件。  已收到检查链路终止原因的消息   #define LL_STATUS_ERROR_PEER_TERM            0x13 //远程用户终止连接。

#define UART_MAX_READ_SIZE 1000

uint8_t uartReadBuffer[UART_MAX_READ_SIZE];

UART2_READ (UART、&uartReadBuffer、UART_MAX_READ_SIZE、0);

状态= SimpleGattProfile_SetParameter (SIMPLEGATTPROFILE_CHAR4、20、&uartReadBuffer[SentDataLen]);   

在这里,我们尝试将 调用 SimpleGattProfile_SetParameter ()的时间间隔设置为10毫秒,而没有延迟。 仍面临断开连接问题。

请帮助我们解决这个问题。

SDK 版本:simplelink_lowpower_f3_sdk_8_10_01_02

CCS 版本:CCS 12.7.1

此致、

Vignesh。

 

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

    尊敬的 Vignesh:

    感谢您联系我们。

    Unknown 说:
    ]其中 已收到检查链接终止原因的消息   #define LL_STATUS_ERROR_PEER_TERM            0x13 //远程用户终止连接。 [报价]

    此状态似乎表明连接终止是由对等器件(即您案例中的手机)触发的。

    -您能否说明您正在使用哪款手机和手机应用程序来运行测试? 请确保指定版本号。

    -您能否说明是否在其他电话和其他应用程序上重现相同的信息?

    -你会有适当的工具来收集嗅探器日志吗?

    此致、

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

    您好、Clement、  

       在调试断开连接的问题时、我们发现、当尝试以100ms 的间隔基于 UART 115200波特率从模块向移动设备连续发送1000字节的数据时、会发生 UART 超运行。 当发生 UART 溢出时、我正在尝试重新启动模块

    其中 RX 环缓冲区大小为3000。

    如何解决 UART 超限问题。

    如果我们的交货日期是明天、那么您可以建议解决方案。  

    谢谢!  

    Vignesh。  

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

    尊敬的 Vignesh:

    与传输的数据量(每秒10 KB)相比、您所选的 UART 配置(可能大约11 KB)提供的带宽非常小。 我建议您增加使用的波特率或减少发送的数据量。

    此致、

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

    您好、Clement、

    我们在测试过程中发现了两个问题:

    1.链路端接问题
    2. UART 溢出

    我们已经打开了链路端接问题的案例、但我们也注意到了 UART 超限问题。

    链路终止:默认波特率为115200bps、数据包长度为1000字节、无论 Tx 间隔设置为100毫秒还是大于1秒、我们都会遇到链路终止问题。

    UART 溢出:在相同的默认波特率和数据包长度的情况下、我们观察到溢出错误、模块进入挂起状态、当 Tx 间隔设置为小于1秒时终止客户端连接。

    此处的关键点是无法更改默认波特率、但可以调整 Tx 间隔。 要在不遇到链路终止或溢出问题的情况下持续传输小于1000字节或更多字节、应将 Tx 间隔设置为什么?

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

    您好!

    感谢您提供更多信息。

    我建议在1000字节传输之间运行一个间隔为250ms 的测试。

    我希望这将有所帮助、

    此致、

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

    您好、Clement、

       是的、我们已经执行了250ms 的间隔测试、1000个字节的时间间隔长达<3秒、但我们仍然面临问题。

    您可以建议一个解决方案吗?

    此致、

    Vignesh。

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

    尊敬的 Vignesh:

    我建议在1000字节传输之间以250ms 的间隔运行测试。

    此建议是为了确保通过 UART 传输的数据适合 UART 模块提供的带宽。

    下一步是确保蓝牙连接提供的吞吐量允许卸载通过 UART 输入的所有数据。

    蓝牙连接提供的应用吞吐量取决于各种因素(连接间隔、数据包大小、重试次数、控制数据)。 您可以尝试进一步延长 UART 数据包之间的间隔(可能从1s 间隔开始、然后增加该值、直到问题消除)。

    我希望这将有所帮助、

    此致、