Bluetooth® Low Energy Connections
Once a Scanner has acquired enough information to decide which Advertiser to connect to (including its MAC address), it becomes an Initiator, initiating a Bluetooth® Low Energy (BLE) Link Layer connection process.
Initiating a Connection
The Scanner selects a suitable Advertiser to connect with, based on advertising data:
- Device name
- Service UUID
- RSSI
- etc
It then becomes an Initiator, responding to an Advertiser's advertising packet with a CONNECT_REQ packet, defining:
- Frequency hopping sequence
- Connection Interval
- Time between two connection events.
- Slave Latency
- Number of consecutive connection events that a slave is not required to listen for the Master (events are skipped only if it doesn’t have data to send).
- Supervision Timeout
- Maximum time between two received valid data packets before a connection is considered “lost”.
Once the CONNECT_REQ packet is sent or received, the devices are connected and data packets can be exchanged. The Initiator becomes the Link Layer Master while the Advertiser becomes the Link Layer Slave.
Connection Events
Once connected, the Master and Slave exchange data packets at regular intervals, called "connection events".
- The connection interval is between 7.5 ms to 4 s (step size: 1.25 ms).
- 0-byte data packets are exchanged if there is no other data to exchange.
Each connection event is conducted on a different frequency channel.
Data Throughput
Depends on:
- Minimum Connection Interval Supported (OS-dependent)
- Data-Packet Length
- Number of Packets Per Connection Event, which depends on:
- The type of OS in use.
- Interference (If a packet is not received, the connection event is terminated and data will need to be resent on the next connection event).
- Latency between Application and Physical Layer operation in the specific device.
Reliable Delivery
Once connected, the Link Layer acts as a reliable data bearer:
- All packets received are checked against a 24-bit CRC.
- Re-transmissions are requested.
- No limit for re-transmissions.
- Link Layer will resend the packet until it is acknowledged.
- Will retry on the next connection event (and channel).
Network Topology
BLE Unicast connections maintain a Piconet network structure as shown:
The Piconet consists of:
- A single Master, coordinating data transfer with one or more Slaves.
- Number of slaves is hardware/OS-dependent (BM70 as Master supports 1 connection).
- A Slave can only belong to one Piconet.