Bluetooth® Low Energy Connection Process

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-phase.png

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/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
connected-phase.png

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
    • OS (iOS/Android etc.)
    • 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:

piconet.png

The Piconet consists of:

  • A single Master, coordinating data transfer with one/more Slaves
    • Number of slaves is hardware/OS-dependent (BM70 as Master supports 1 connection)
  • A Slave can only belong to one Piconet
© 2016 Microchip Technology, Inc.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.