SWRU271I October 2010 – January 2020 CC2540 , CC2540T , CC2541 , CC2541-Q1 , CC2640R2F
Figure 1-1 shows the Bluetooth Low Energy protocol stack architecture.
The Bluetooth Low Energy protocol stack (or protocol stack) consists of two sections: the controller and the host. This separation of controller and host derives from standard Bluetooth BR/EDR devices, where the two sections were often implemented separately. Profiles and applications are implemented in Figure 1-1 of the generic access protocol (GAP) and generic attribute protocol (GATT) layers of the protocol stack.
The physical layer (PHY) is a 1-Mbps adaptive frequency-hopping Gaussian Frequency-Shift Keying (GFSK) radio operating in the unlicensed 2.4-GHz industrial, scientific, and medical (ISM) band.
The link layer (LL) controls the RF state of the device.
The device has five possible states:
Advertisers transmit data without forming a Bluetooth Low Energy connection, while scanners receive the data broadcasted by advertisers. An initiator is a device that responds to an advertiser by requesting to connect. If the advertiser accepts, both the advertiser and initiator connect. When a device is in a connected state, it is either a master or slave. The device that initiated the connection becomes the master and the device that accepted the request becomes the slave. This layer is implemented in the library code in the TI 1.5.x\ with the actual path defined by the SDK installer version, (18).
The host control interface (HCI) layer provides a means of communication between the host and controller through a standardized interface. This layer can be implemented either through a software API, or by a hardware interface such as UART, SPI, or USB. Device Information Service (Bluetooth Specification), Version 1.0 (24-May-2011) specifies the standard HCI commands and events. The TI BLE Vendor Specific HCI Reference Guide specifies the TI proprietary commands and events.
The link logical control and adaption protocol (L2CAP) layer provides data encapsulation services to the upper layers, allowing for logical, end-to-end communication of data. For more information on TI's implementation of the L2CAP layer, see Section 5.6.
The security manager (SM) layer defines the methods for pairing and key distribution, and provides functions for the other layers of the protocol stack to securely connect with and exchange data with another device. For more information on TI's implementation of the SM layer, see Section 5.4.
The GAP layer directly interfaces with the application and/or profiles to handle device discovery and connection-related services for the device. GAP also handles the initiation of security features. For more information on the GAP layer, see Section 5.2.
The attribute protocol (ATT) layer protocol lets a device expose certain pieces of data (attributes) to another device.
The GATT layer is a service framework that defines the subprocedures for using ATT. GATT subprocedures handle data communications between two devices in a Bluetooth Low Energy connection. The application and profiles use GATT directly. For more information on the ATT and GATT layers, see Section 5.5.