BLE is a low energy version of Bluetooth specified in the
version 4.0 [1]. 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