CC2640R2F BLE 5 Bluetooth protocol stack — TTCIOTSDK
Everyone should have a simple understanding of the Bluetooth protocol stack, but there must be a feeling of "seeming to understand, not to say, to rest". This is also normal, after all, the Bluetooth protocol is a long and relatively large protocol, which is not so easy to understand. Therefore, this article will give a detailed explanation of the CC2640R2F BLE 5 Bluetooth protocol stack to help you understand it again.
The core specifications of Bluetooth 5.0 include two types of devices, LE and BR / EDR. Among them, LE is mainly designed as a low-power, small data terminal product.
The core of Bluetooth 5 mainly includes the following functions:
* 2MSym / s PLY layer design (2M Symbol Rate physical layer)
* LE channel selection algorithm
* LE secure connection
* LE data length extension
* LE Privacy
* LE LCAP connection-oriented channel support
* LE link layer topology
* LE Ping
* Slave function expansion
* Connection parameter request
The above functions are implemented in the Bluetooth 5 protocol stack, and can be optionally compiled.
BLE protocol stack basics
The Bluetooth protocol stack contains two logical entities, Host and Controller. This distinction exists from the classic Bluetooth BR / EDR. Various functions are independently implemented. The task configuration file and application related are in the GAP and GATT abstract layers of the host.
BLE works in the 2.4G free frequency band without certification, which is widely used in ISM (industrial, scientific, medical) fields. The anti-interference characteristic is realized through frequency hopping communication, GFSK modulation, and 1Mbps symbol rate PHY layer design can realize 1Mbps baud rate communication, while Bluetooth 5 optimized physical layer design can achieve 2Mbps PHY layer.
In the Standby state, the devices on both sides are not connected. Advertiser attempts to broadcast data. After receiving the broadcast data, the Scanner attempts to make a scan request and obtains a scan response. At this time, the Scanner generates a connection intent, and turns into an Initiator to send a connection request. After successfully connecting, it sends a broadcast Advertiser as the master, and the initiator that makes the connection request becomes the slave.
The above state machine transitions, role playing, and device discovery, link establishment, and link termination completed in the middle are all completed by GAP.
Above we explained that the Bluetooth system is composed of two logical entities, Host and Controller. The communication and interaction between them is completed through the HCI standard interface. Based on this standard interface, Host and Controller can be implemented independently on two MCUs, through Uart / SPI, etc. Peripherals complete communication.
The logical link control adaptation protocol layer provides logical link layer access and end-to-end data communication by upper-layer services.
Defines pairing and key distribution methods, and provides services for secure connections and data exchange between other layers of the protocol stack and another device.
GATT / ATT
GATT is responsible for application data exchange between master and slave devices. GATT serves as a service-oriented framework for the sub-processes of ATT. Provides abstraction and management of concepts such as Profile, Service, and Characteristic for master and slave device interaction data