Protocol stack

Understanding the individual layers of the protocol stack is not necessary for enabling and using Bluetooth LE in your application. Nonetheless, it is included here to give you an introduction to how the protocol works.

The Bluetooth LE protocol stack can be divided into three main blocks.

Bluetooth LE protocol stack

At the top, you have the application. This is the layer that the user interacts with, to make use of the Bluetooth LE protocol. The next layers make up the host, which essentially determines how the communication work. Lastly, the controller makes up the lower layers, and most notably consists of the physical radio that generates the radio waves and encodes the signals with the data you want to send.

Host

The Bluetooth LE host consists of the following layers:

  • Logical Link Control & Adaptation Protocol (L2CAP): provides data encapsulation services to the upper layers.
  • Security Manager Protocol (SMP): defines and provides methods for secure communication.
  • Attribute Protocol (ATT): allows a device to expose certain pieces of data to another device.
  • Generic Attribute Profile (GATT): defines the necessary sub-procedures for using the ATT layer.
  • Generic Access Profile (GAP): interfaces directly with the application to handle device discovery and connection-related services.

The Zephyr Bluetooth Host implements all these layers and provides an API for applications.

Controller

The Bluetooth LE controller is comprised of the following layers:

  • Physical Layer (PHY): determines how the actual data is modulated onto the radio waves, and how it is transmitted and received.
  • Link Layer (LL): manages the state of the radio, defined as one of the following – standby, advertising, scanning, initiating, connection.

The Bluetooth LE controller implementation we will be using in this course is the SoftDevice Controller, found in the nRF Connect SDK. It integrates with the Zephyr Bluetooth Host, which completes the full Bluetooth LE protocol stack solution that is available in the nRF Connect SDK.

Important

The nRF Connect SDK also contains another implementation, the Zephyr Bluetooth LE Controller. However, we strongly recommend using the SoftDevice Controller, as it is specifically designed for the nRF52 and nRF53 Series devices.

Register an account
Already have an account? Log in
(All fields are required unless specified optional)

  • 8 or more characters
  • Upper and lower case letters
  • At least one number or special character

Forgot your password?
Enter the email associated with your account, and we will send you a link to reset your password.