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.

[参考译文] CC2650:SPP BLE (UART 转 BLE 桥接器)示例在高数据速率下崩溃

Guru**** 2560390 points
Other Parts Discussed in Thread: TIDC-SPPBLE-SW-RD, CC2650

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/569896/cc2650-spp-ble-uart-to-ble-bridge-example-crashes-on-high-data-rates

器件型号:CC2650
主题中讨论的其他器件:TIDC-SPPBLE-SW-RD

您好!

我购买了包含一对 SmartRF06评估板的 CC2650开发套件。 使用 TIDC-SPPBLE-SW-RD 页中的预构建二进制文件、我刷写了两个板(一个带有服务器、一个带有客户端)、并且板成功连接。 我还看到在一个串行端口上输入的数据到达另一个串行端口、因此一切看起来都正常。

但是、我的应用需要大约52kbit/s 的相当高的数据速率(每2ms 13个字节的数据包)。 这似乎太多了、因为以这种速率发送数据会在很短的时间(不到一秒、可能是100ms 左右)后导致软件崩溃。 这是软件、BLE 堆栈还是硬件的限制? 是否有办法使用此硬件实现这种数据速率?

提前感谢、

Jeroen

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

    这是相当快的数据速率。 该软件在参考设计中已过时。 更新后的示例位于 GitHub 示例页面:
    github.com/.../spp_ble.md

    它是为 Launchpad 而构建的、但如果您拥有这些、则可以将其调整为 EM 板。
    最新的示例包括扩展的数据长度和更大的 MTU 功能、以提高吞吐量。

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

    您好!

    感谢您的回复。 我尝试了 GitHub 中的更新示例、但我只能让客户端工作。 服务器端在启动后立即出现无限循环(我认为异常处理程序)。 您是否知道是否有人成功地让这项工作? 我对客户端和服务器堆栈项目以及应用项目进行了相同的更改:切换到 XDS100v3调试探针、并将 CC2650_LAUNCHXL 预定义符号替换为 CC2650DK_7ID。 然后、我首先使用堆栈项目刷写了电路板、然后使用应用项目刷写了电路板。

    您是否知道需要进行任何进一步修改才能使 SPP_ble_server 项目在 EM 板上工作? 我也尝试了该存储库中的一些其他示例(吞吐量示例)、它们都可以正常工作。 只有 SPP_ble_server 示例给我带来了麻烦。


    提前感谢、


    Jeroen

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    看起来其他人也有同样的问题: e2e.ti.com/.../1938960

    据您所知、该问题是否已得到解决?

    谢谢、

    Jeroen
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    因此、由于您的帮助、我最终获得了运行 BLE SPP 示例的更新版本(感谢您的帮助!)。 不幸的是,问题仍然存在。 虽然通信最初可能会运行一段时间、但在某些时候会停止。 我将 MAX_PDU_SIZE 增大到255、以查看这是否有用、但看起来不像。 我还更改了每2ms 从单个22字节数据包发送数据的方式、例如每20ms 发送10个数据包。 这也没有什么不同。

    稍微尝试一下、数据大小和发送频率之间似乎存在关系:增大数据大小或缩短数据包之间的时间、这两种情况都会导致通信最终完全停止。 通信失败的时刻也与数据中的错误相同。 这是否与重试机制有关?

    Jeroen