BLE System Architecture

BLE System Architecture

Bluetooth Low Energy (BLE) stands as a wireless Personal Area Network (PAN) technology meticulously crafted and overseen by the Bluetooth Special Interest Group (SIG). Bluetooth technology comes in several iterations, with BLE referring to versions 4.2 and onwards. The most recent advancements in this series are marked as v5.0 and v5.1. BLE specifications are strategically designed to curtail power consumption and device costs while upholding an efficient coverage range. It's recognized under the moniker "Bluetooth Smart," in contrast to its predecessor, known as "Bluetooth Classic."

Here are some key attributes of BLE:

  1. Backward Compatibility: BLE does not support backward compatibility with BR/EDR (Bluetooth Radio/Enhanced Data Rate) protocols.
  2. Frequency Band: BLE operates within the 2.4 GHz ISM (Industrial, Scientific, and Medical) frequency band, which can function in either dual mode or single mode. The dual mode accommodates both Bluetooth Classic and low-energy peripherals.
  3. Generic Attribute Profile (GATT): All BLE devices utilize the GATT profile (Generic Attribute Profile). GATT provides a series of commands enabling the client to unearth information about the BLE server.
  4. Protocol Stack Architecture: The BLE protocol stack architecture is bifurcated into two primary components: the controller and the host. These components are interconnected via the Host to Controller Interface (HCI).
  5. Profiles and Applications: Any profiles and applications operate atop the foundational layers of GAP (Generic Access Profile) and GATT.

Article content

A) Physical Layer:

  1. The transmitter employs GFSK modulation and functions within the unlicensed 2.4 GHz frequency band.
  2. With this PHY layer, BLE provides data rates of 1 Mbps (Bluetooth v4.2) or 2 Mbps (Bluetooth v5.0).
  3. It utilizes a frequency-hopping transceiver.
  4. There are two defined modulation schemes capable of delivering 1 Msym/s and 2 Msym/s, respectively.
  5. Two variants of the PHY layer are specified: uncoded and coded.
  6. Both PHY modes employ a Time Division Duplex (TDD) topology.

B) Link Layer:

Positioned above the Physical layer, this layer assumes the crucial responsibilities of advertising, scanning, and establishing/maintaining connections. The behavior of BLE devices can shift between peer-to-peer (Unicast) or broadcast modes, where typical roles encompass Advertiser/Scanner (Initiator), Slave/Master, or Broadcaster/Observer. The various states of the Link layer are illustrated in Figure 1, depicting BLE Device States.

Article content
Figure 1

A BLE device can exist in any of these states, including Standby state, Advertising state, Scanning state, Initiating state, Connection State, and Synchronization state.

• HCI (Host-Controller Interface): This layer facilitates communication between the controller and the host using standard interface types. The HCI layer can be realized either through the utilization of APIs or by employing interfaces like UART, SPI, or USB. The Bluetooth specifications define a set of standard HCI commands and events.

• L2CAP (Logical Link Control and Adaptation Protocol): This layer provides data encapsulation services to upper layers, enabling logical end-to-end data communication.

• SMP (Security Manager Protocol): The SMP layer manages device pairing and key distribution, offering secure connectivity and data exchange services to other layers within the BLE protocol stack.

• GAP (Generic Access Profile): The GAP layer directly interfaces with the application layer and/or profiles above it. It handles tasks related to device discovery and connection services for BLE devices, including the initiation of security features.

• GATT (Generic Attribute Profile): GATT serves as a service framework that specifies sub-procedures for using ATT (Attribute Protocol). Data communication between two BLE devices is managed through these sub-procedures, with applications and profiles interacting directly with GATT.

• ATT (Attribute Protocol): The ATT layer enables BLE devices to expose specific pieces of data or attributes.

C) Application Layer:

  1. The BLE protocol stack's interaction with applications and profiles is customizable to meet specific needs. Bluetooth system achieves application interoperability through Bluetooth profiles.
  2. These profiles outline both the vertical interactions between the layers and the peer-to-peer interactions of individual layers between devices.
  3. A profile is formed by combining one or more services, each tailored to address a particular use case. Each service comprises characteristics or references to other services.
  4. All profiles and applications run on the upper layers of the BLE protocol stack, specifically the GAP/GATT layers, which are responsible for managing device discovery and connection-related services for BLE devices.

Great insights Uttam Basu! Our editorial team decided to feature you among the top Bluetooth experts: https://echoglobal.tech/technologies/bluetooth/

Like
Reply

To view or add a comment, sign in

More articles by Uttam Basu

  • 🧩 Combining RTOS + Bare-Metal Peripheral Drivers

    🔹 𝙎𝙘𝙚𝙣𝙖𝙧𝙞𝙤: You're integrating a legacy bare-metal SPI driver (with blocking functions and polling-based…

  • ⏱️ Hardware Timer-Based Scheduling Without RTOS – Scalable Software Timers

    🔹 𝙎𝙘𝙚𝙣𝙖𝙧𝙞𝙤: You're developing a bare-metal embedded application and need to implement 10 independent software…

    3 Comments
  • "Bit-banding" in ARM Cortex-M microcontrollers

    Bit-banding is a unique and powerful feature available in ARM Cortex-M microcontrollers, designed to simplify and…

    2 Comments
  • Include a header file multiple times in a source code file, What will be?

    If you include a header file multiple times in a source code file (such as a C or C++ file), the compiler will process…

    1 Comment
  • Diamond problem in C++

    The "diamond problem" is a term used in object-oriented programming, particularly in languages like C++ that support…

    2 Comments
  • Volatile keyword in Embedded C

    In embedded C programming, the "volatile" keyword is used to inform the compiler that a particular variable can change…

  • What is HDR mode in Camera?

    HDR stands for High Dynamic Range in the context of photography and camera technology. It is a technique used to…

  • Data sharing between Threads

    Threads can share data with each other in a multi-threaded program through various mechanisms and synchronization…

  • Makefile

    A Makefile is a special file used in software development, particularly in C and C++ programming, to automate and…

    2 Comments
  • Static and Dynamic Memory Allocation in C

    Static and dynamic memory allocation are two distinct approaches to managing memory in C programming. Here's a detailed…

    3 Comments

Others also viewed

Explore content categories