Hi,
I tried to figure out what is happening on the lower Bluetooth levels but it is very difficult to find straightforward information. Especially the Bluetooth (4.2) standard specification is quite confusing in this aspect. I would appreciate if a low level expert could give some detailed information (or a small tutorial/presentation) on the data flow on lower Bluetooth Smart layers.
My goal is to understand more about the mechanisms that have impact on throughput and response time (under optimal environmental conditions).
Of course I know that Bluetooth Smart is not designed for realtime operation and packets can always be lost/damaged and re-transmitted by the lower layers.
So far, I understand that Bluetooth Smart packets (like a Notify packet) are mapped to L2CAP packets. L2CAP packets are split and/or re-assembled into ACL packets which are transferred over the air.
In the Bluetooth 4.2 standard specification, I could find some information about BR/EDR ACL packets (Vol.2 Part B Chapter 6: Packets), but there seems to be no information about LE packets. (Same goes for the LE Radio specification: Vol. 2 Part A Chapter 3-4 only describe BR/EDR characteristics). I understand that LE and BR/EDR use completely different radio units (modulation, channel bandwith etc.). So where is the LE specification?!
Some concrete questions I could not find an answer to:
- How much payload can a LE packet carry? Where is it specified? (BR packets may contain up to 2790 bits = 348,75 bytes of payload according to Vol.2 Part B Chapter 6).
- During a BLE connection event, is there always exactly one LE (ACL) packet of arbitrary length transferred in both directions?
- Is each Bluetooth message from the upper layers (e.g. a Notify message) mapped to exactly one L2CAP packet? Or may multiple messages be mapped into a single L2CAP packet?
- Can multiple small L2CAP packets be combined into a single ACL packet?
- For example, if I want to send two Notify messages with ony byte payload in each message. Can both Notify messages be transmitted within the same connection event? Will there be one or two (or more) L2CAP packets? Will there be one or two (or more) ALC packets? What can we see on the air?