CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!

最大传输单元(MTU)

L2CAP负责分发上层协议(SM、GATT)的数据包,在L2CAP层所允许的最大数据包长度称为最大传输单元(Maximum Transmission Unit,MTU)。如果上层协议所传输的数据包过大,则需要在空口上进行拆包。

PDU根据controller的ACL_Data_Packet_Length的大小进行分片(fragment)。其分包示意图如图 29所示:

图 29 PDU分片示意图

SDU(服务数据单元)首先根据MPS进行分段(segment),然后每一个segment再根据ACL_Data_Packet_Length的大小进行分片(fragment)。其分包示意图如图 30所示:

图 30 SDU分片示意图

配置MTU和MPS的参考代码如下:

// mtu:23~2048, mps:23~mtu, lecb_conn_num: 0x00~0x20
error_code = ble_gap_l2cap_params_set(512, 250, 10);
APP_ERROR_CHECK(error_code);
说明:

代码路径:SDK_Folder\projects\ble\ble_basic_example\ble_app_l2cap_coc_server\Src\user\user_app.c

扫描关注

打开微信,使用“扫一扫”即可关注。