Optimizing DLE, and ATT MTU for specific data packet size

Hi everyone,

I know there are many posts asking about DLE and ATT MTU in attempt to improve throughput of BLE. Some forums have significantly highlighted these such as (1), (2),...However, they all just gave examples either 27 bytes or 251 bytes for DLE and assess how its performance. Thus, if having a specific data packet size, are there any suggestions for specific DLE and ATT MTU size being used?

Let take an example:

  • I need to send a data packet with the size of 56 bytes.
  • I believe setting DLE of 251 bytes and ATT MTU of 247 bytes seems to be overkill.

Thus, my thought was:

  •  Regarding DLE, Link Layer Packet Structure for BLE 4.2/5.0 looks like the following, so I would set DLE with the exact size it's supposed to be, say 63 bytes (56 bytes from my data packet size + 7 bytes from L2CAP header and ATT header). 

  • Regarding ATT MTU, with 3 bytes of ATT Header I would set it as 59 bytes which covers 56 bytes from my data packet size and its ATT header.
  • I used Sniffer to check the length of the data at LL layer and at L2CAP layer. It shows exactly what I mentioned above (e.i., DLE with 63 bytes and MTU with 59 bytes). 

This leads to a question that I wanna ask:

  1. Does this matter to set optimal DLE and ATT MTU size for specific data packet size? like save power consumption or even increase throughput?
  2. For data packet size greater than 23, with the use of DLE of 251 bytes and ATT MTU of 247 bytes, is it overkill?
Related