Bluetooth® Low Energy Connections

Last modified by Microchip on 2023/11/10 11:16

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.

The BLE Connection process is usually preceded by a Discovery process, so the devices are aware of each other's presence.

BLE supports both Unicast (Peer-Peer) as well as Broadcast connections. This page covers the Unicast 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
  • 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”.

Connecting between advertiser and initiator

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.

Back to Top

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.

Master and Slave exchange data packets

Each connection event is conducted on a different frequency channel.

Back to Top

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.

Back to Top

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).

Back to Top

Network Topology

BLE Unicast connections maintain a Piconet network structure as shown:

Piconet network structure

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.

Back to Top