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:如何配置 MTU 和 MPS 大小?

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1238204/cc2340r5-how-to-config-mtu-and-mps-size

器件型号:CC2340R5
主题中讨论的其他器件:SysConfig

SDK:7_10_00_35


举例来说、我有两个要求、即:

1.将 MTU 大小配置为250字节

2. 将 MPS 大小配置为240字节


我在这里提到了两个主题、它们涉及到:

1. MPS = maximum_pdu_size CCS/CC2652R:如何在 L2CAP 面向连接的通道中更改 MPS (最大有效负载大小)-蓝牙论坛- BluetoothRegistered︎- TI E2E 支持论坛

2.mtu = maximum_pdu_size - 4 CC2652R7:设置 MTU 大小- Bluetooth 论坛- BluetoothRegistered︎- TI E2E 支持论坛

因此、我假设无法单独配置 MPS 和 MTU。

当我们配置 maximum_pdu_size 时、我们将配置 MPS 和 MTU? 在这种情况下、MPS 是否始终大于 MTU?

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

    您好!

    感谢您与我们联系。 我们会仔细研究您的问题、并尽快与您联系。

    此致、

    1月

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

    您好!

    首先、我建议您查看 用户指南中的遗传属性配置文件(GATT)部分最大传输单元(MTU)一章、它将提供有关您的线程的大量信息。

    下面是从蓝牙规范中提取的图形、它也应该会有所帮助。

    最大 ATT _MTU 大小固定为255-L2CAP 标头大小(为4字节)、因此不能达到251字节。

    此外、ATT 数据位于 PDU 内部、因此链接了两个、并且您必须设置大于 MTU 的 MPS。

    此致、

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

    大家好、我还有一个问题、根据 TI 的规范、ATT_MTU 不是 MTU。  仅 ATT_MTU、当我们设置 ATT_MTU = 65时、在监听器中可以看到 MPS = 65。

    因此、MPS = ATT_ATU 和 MTU 必须通过 SW 而不是 SysConfig 进行配置、对吗?

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

    我不确定是否能完全理解您的观点、您在 SysConfig 上设置了位于69的 MPS、我假设您在监听器上看到的是 ATT_MTU (MPS-4=65)。 ATT_MTU 和 MTU 基本上是相同的。

    为了更正我之前的回答、ATT_MTU 大小可能大于 PDU 大小、但它不会提高吞吐量、PDU 本质上是无线数据包、ATT_MTU 是您要传输的所有数据。 因此您可以删除下一个数据包的标头并稍微增大 ATT_MTU 的大小、但我们不推荐使用它。

    此致、

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

    抱歉、我捕获了错误的消息。 MPS = 65。 不是 ATT_MTU

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

    您好!

    这有点奇怪、如果没有 BLE 监听器日志的完整上下文、我无法解释这一点。 我想它可能是 L2CAP 层的 MPS。 因此是 ATT_MTU 大小。 MPS L2CAP 层和 PDU 的 MPS 可能不同、但在您的监听器上都是 MPS。

    此致、

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

    首先、主器件请求 ATT_MTU、然后是从器件响应 ATT_MTU 值

    然后是 L2CAP:主机和从机协商 MTU 和 MPS 值。 将使用主器件和从器件的最小值。

    (65是 ATT_MTU、512是应用中的配置)

    在此之后、正如我们配置为 ATT_MTU、L2CAP 层的所有长度都是65。

    因此、我假设

     mps = ATT_MTU 并通过 SysConfig 进行配置

    2. MTU =应用中的配置

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

    您好!

    应用中配置了什么 MPS? 我想 ATT_MTU 是在几个不同的数据包中拆分的。 PDU 大小是通过无线发送的数据包、如果您设置的 ATT_MTU 大于 MPS、则会有多个数据包(PDU 1)。 那么在这里、您将 ATT_MTU 大小固定为512、但我需要知道配置的 MPS 大小、以确认我的想法。

    此致、

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

    当前在系统配置中 I only config ATT_MTU = 65、在应用程序中 I L2CAP 缓冲区= 512

    MPS 还定义为最大 PDU 负载大小、我们可以在之前的图片中看到 PDU 负载大小也是65。  

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

    对于这一误解、很抱歉

     没错、MPS 是 L2CAP 层的大小、我对 PDU 大小本身感到困惑。

    因此、如果我们回过头来回答您的第一个问题、我们可以配置比 MPS 大小更大的 MTU 大小(蓝牙规范允许这样做)、但我们不支持它、因为吞吐量和内存增益太小。

    希望我没有给您太多困惑、再次表示歉意、

    此致、

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

    不用担心。 我还混淆了它的时间,必须分析许多网站了解它。