Bluetooth

Overview
Bluetooth is an open, wireless communication standard for radio-based data exchange over short distances and PANs. It is manages by the Bluetooth Special Interest Group.

Technical Details
Bluetooth operated from 2402-2480 MHz using up to 79 bands utilizing frequency-hopping spread spectrum technology. This band is within the unlicensed ISM (Industrial, Science, Medical) 2.4GHz band. However, there are various classifications of Bluetooth devices as follows:

Original specifications use Gaussian frequency-shift keying (GFSK) modulation to function. However, Bluetooth 2.0+EDR allows the use of π/4-DQPSK and 8DPSK (Phase Key Shifting techniques). GFSK is classified as Basic Rate (BR), while π/4-DQPSK and 8DPSK are classified as Endhanced Data Rate (EDR).

Bluetooth operates with a master/slave structure. A master can communicate with up to 7 slaves. Slave devices operate off of the master device's clock. Packets are sent based on clock-time, at 312.5 µs intervals, with each slot taking two intervals. The master will transmit in even slots and the slaves will transmit in odd slots. Packets can be 1, 3, or 5 slots long.

Devices have the ability to switch roles at any time, so any slave can become the master device, but in a given period data can only be transferred between the master and one other device. The master chooses one device at a time, and typically allocates data equally between all connected devices, looping through each device (Round-Robin scheduling). Each small network (piconet) can connect to other piconets to create a scatternet. In this case devices can act as bridges, where one device will be a master for one network while simultaneously being the slave in another.

Interface
Bluetooth contains several mandatory core protocols: LMP (Link Management Protocol), L2CAP (Logical Link Control & Adaptation Protocol), and SDP (Service Discovery Protocol). The HCI (Host/Controller Interface) and RFCOMM (Serial Port Emulation) protocols are widely implemented. A Bluetooth Stack is a particular implementation of the various protocols.

Controller Stack Protocols

 * Asynchronous Connection-Criented [Logical Transport] (ACL)
 * Synchronous Connection Criented (SCO) link
 * Link Management Protocol (LMP)
 * Host/Controller Interface (HCI)
 * Low Energy Link Layer (LE LL)

Host Stack Protocols

 * Logical Link Control and Adaptation Protocol (L2CAP)
 * Bluetooth Network Encapsulation Protocol (BNEP)
 * Radio Frequency Communication (RFCOMM)
 * Service Discovery Protocol (SDP)
 * Telephony Control Protocol (TCP)
 * Audio/visual Control Transport Protocol (AVCTP)
 * Audio/visual Data Transport Protocol (AVDTP)
 * Object Exchange (OBEX)
 * Low Energy Attribute Protocol (ATT)
 * Low Energy Security Manager Protocol (SMP)

Versions
The Bluetooth Special Interest Group has defined several different Bluetooth versions:


 * Bluetooth v1.0 and v1.0B
 * Bluetooth v1.1
 * Bluetooth v1.2
 * Bluetooth v2.0 + EDR (Enhanced Data Rate)
 * Bluetooth v2.1 + EDR (Enhanced Data Rate)
 * Bluetooth v3.0 + HS
 * Bluetooth v4.0

Links

 * Official Website
 * Data Transport Architecture