BLE Link Layer Roles and States

From the Bluetooth® Low Energy (BLE) Link Layer perspective, the following role pairs are defined:

  • Advertiser/Scanner (Initiator)
  • Slave/Master
  • Broadcaster/Observer

The roles exist and evolve during various phases of discovery/connection during Unicast (peer-peer) or Broadcast connections.

Unicast (Peer-Peer) Connection

The following diagram depicts two BLE hosts, initially in a Standby (unconnected) state. They enter a Discovery state whereby the device wishing to be discovered becomes the Advertiser and the host wishing to connect becomes a Scanner. The Advertiser sends advertising packets containing basic information about the host. All Scanners receive these packets.

roles-unicast-discovery.png

At some point, the Scanner (after filtering/analyzing information contained in the advertising packets) becomes an Initiator and decides to initiate a connection with a specific advertiser. This is known as the Connecting phase and is highlighted by the Initiator sending a CONNECT_REQ advertising packet to the Advertiser:

roles-unicast-connecting.png

Finally, the Advertiser accepts the connection request, thus becoming the Slave while the Initiator becomes the Master. This is known as the Connected phase:

roles-unicast-connected.png

Note that the Link Layer Master is also the GAP Central and GATT Client, while the Link Layer Slave is the GAP Peripheral and GATT Server.

Broadcast Connection

For broadcast connections, the Link Layer roles do not change. The defined roles are Broadcaster (the host sending the packets) and Observer.

Note:

  • Messages are one-way
  • Messages are one-to-many
  • ADV_IND is one of three advertising packet types that can be used by Broadcasters to broadcast data to Observers
roles-broadcast.png

Link Layer States

As shown below, these roles are defined in the five states of the Link Layer state machine:

ble-link-layer-sm.png


It's important to note that vendor-specific state labels are often substituted for the standard ones mentioned above. For example, the BM70 radio defines the following labels for its Link Layer states:

ble-bm70-link-layer-sm.png

Note the additional state (Shutdown) which is not defined in the BLE specification.

© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
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.