BLE is a low energy version of Bluetooth specified in the version 4.0 . Two of the lowest layers of BLE stack are Physical (PHY) and the Link Layer (LL). PHY takes care of transmitting and receiving bits. The Link Layer provides medium access, connection establishment, error control, and flow control. The upper layers are Logical Link Control and Adaptation Protocol (L2CAP), Generic Attribute protocol (GATT), and Generic Access Profile (GAP). L2CAP is able to multiplex the data channels from the above layers and provides fragmentation and reassembly for large data packets. Similar to classic Bluetooth (BT), BLE uses adaptive frequency hopping spread spectrum to access the shared channel. However, the number of hops is 43 and the channel width is 2MHz as opposed to 79 hops and 1MHz channel width in classic BT.
How BLE save energy?
BLE device can operate either in master or slave role. A master can manage multiple simultaneous connections with a number of slave devices, but a slave can only be connected to a single master. Therefore, a BLE network topology is a star. Differently from classic BT, discovery is done so that slave advertises on one or several of the three designated advertisement channels. Master scans these channels in order to discover slaves. After discovery, data transmission happens in the form of connection events in which the master and the slave wake up in synchrony to exchange frames. Both devices sleep the rest of time.
Things to know about BLE/ BLE android –
- BLE operate on GATT/ATT profile
- Use very less power compare to classic Bluetooth. Used for small burst of data exchange such sensors, Remote controllers
- BLE doesn’t support streaming
- BLE have data rate of 1 mbps but is not optimized for data transfer
- Design for sending small bundle of data exposing state