Post on 04-Jun-2018
8/13/2019 Bluetooth 9
1/37
Bluetooth
An overview
8/13/2019 Bluetooth 9
2/37
Introduction
8/13/2019 Bluetooth 9
3/37
What is Bluetooth
Bluetoothis a universalradio interface in the 2.4 GHzfrequency band that enables electronic devices to connectand communicate wirelesslyvia short-range (10-100 m),
ad-hocnetworks.Key Features:
Peak data rate : 1 Mbps
Low power : peak tx power
8/13/2019 Bluetooth 9
4/37
Bluetooth History
Invented in 1994 by L. M. Ericsson, Sweden
Named after Harald Blaatand Bluetooth, king
of Denmark 940-981 A.D.Bluetooth SIG founded by Ericsson, IBM, Intel,
Nokia and Toshiba in Feb 1998
More than 1900 members today
Bluetooth version 1.0 and 1.1 have been released
8/13/2019 Bluetooth 9
5/37
Motivation for Bluetooth
Cordless
headset
Cell
phone
mouse
Started as a Cable
replacement
technology
Ubiquitous Computing
environment of intelligent
networked devices
Mobile access to
LANs/Internet
Home Networking
Automatic
Synchronization of data
Voice applications -
hands-free headset
8/13/2019 Bluetooth 9
6/37
System Challenges
Work across a diverse set of deviceswith varying
computing power and memory
Dynamic environment- the number, location and variety
of devices changing - connection establishment, routing
and service discovery protocols have to take this into
consideration
Unconsciousconnection establishment
Size of the implementation should be small. The power
consumption should not be more than a fraction of the host
device .
8/13/2019 Bluetooth 9
7/37
System Architecture
RFBaseband
Link ManagerAudio
L2CAP
Data
RFCOMMSDP
IP
Applications
Bluetooth Protocol Stack
The Radio, Baseband and Link
Manager are on firmware. The
higher layers could be in soft-
ware. The interface is thenthrough the Host Controller
(firmware and driver)
The HCI interfaces defined for
Bluetooth are UART, RS232 andUSB.
8/13/2019 Bluetooth 9
8/37
Bluetooth Air Interface
Piconet channel definition
Physical link definition
Packet definition
8/13/2019 Bluetooth 9
9/37
Choices made
ISM Band
Global Availability License Free
2,400-2,483.5 MHz in
Europe and US
2,471-2,497 MHz in Japan
Frequency Hopping
Interference from baby
monitors, garage dooropeners, cordless phones
and microwave ovens.
Spread-Spectrum for
interference suppression
FH supports low power,
low cost radio
implementations
8/13/2019 Bluetooth 9
10/37
Frequency Hopping
1Mhz
83.5 Mhz
791
Divide Frequency band into 1 MHz hop channels
Radio hops from one channel to another in a pseudo
-random manner as dictated by a hop sequence
The instantaneous (hop) bandwidth remains small
Narrow band interference rejection
8/13/2019 Bluetooth 9
11/37
Piconets, Masters and Slaves
m sIn principle each unit is a peer with the
same hardware capabilities
Two or more Bluetooth units that share
a channel form a piconetOne of the participating units is becomes
the master (by defn the unit that
establishes the piconet).
Participants may change roles if a slave
unit wants to take over as master
Only one masterin a piconet.
Upto 7 slaves
8/13/2019 Bluetooth 9
12/37
Piconet Channel
The piconet channel is represented by a pseudo-random
hopping sequence(through 79/23 RF frequencies)
The hopping sequence is unique for the piconet and is
determined by the device address of the masterof the
piconet. The phase is determined by the master clock.
Channel is divided into time slots - 625 microsecs each .
Each slot corresponds to a different hop frequency.
Time Division Duplex- master and slave alternately
transmit/listen.
Packet start aligned with slot start
8/13/2019 Bluetooth 9
13/37
Piconet Channel
m
s1
625 sec
f1 f2 f3 f4
8/13/2019 Bluetooth 9
14/37
Physical Link
Synchronous Connection Oriented (SC0) Link:- symmetric point-to-point link between m and s- reserved 2 consecutive slots at regular intervals
- master can support upto 3 simultaneous SCO links- mainly for audio/voice- never retransmitted
Asynchronous Connection-less (ACL) Link:
- symmetric/asymmetric- point-to-multipoint between master and all slaves- on a per-slot basis (polling scheme for control)- only one ACL link per piconet- packets retransmitted (ARQ)
8/13/2019 Bluetooth 9
15/37
Packets
All data on the piconet channel is conveyed in packets
13 packet types are defined for the Baseband layer- Controlpackets (ID, NULL, FHS, POLL)
- Voicepackets (SCO)- Datapackets (ACL)
Multi-slot packets (1/3/5) : To support high data rates.Packets always sent on a single-hop carrierthat for thefirst slot. After multi-slot packet revert to original hopsequence.
Packet format - (68/72 bits) Access Code, (54 bits) Header,(0-2745 bits) Payload.
8/13/2019 Bluetooth 9
16/37
Packet Format
Access
codeHeader Payload
Voice
1/3/5 slot packets
Unprotected/ 2/3 FECARQ scheme retran-
smit lost data pkts
Single-slot packets
64 kbps
Unprotected/ 1/3 or
2/3 FEC
Never retransmitted
Robust CVSD encoding
used
72 bits 54 bits 0 - 2745 bits
data
header CRC
SCO ACL
8/13/2019 Bluetooth 9
17/37
Data Rates on ACL
TYPE SYMMETRI
C (Kbps)
ASYMMETR
IC (Kbps)
DM1 (2/3 FEC) 108.8 108.8 108.8
DH1(unprotected)
172.8 172.8 172.8
DM3 256.0 384.0 54.4
DH3 384.0 576.0 86.4
DM5 286.7 477.8 36.3
DH5 432.6 721.0 57.6.
8/13/2019 Bluetooth 9
18/37
Access Code
Access code is used for timing synchronization, inquiryand paging. There are 3 types of access codes
Channel Access Code(CAC) : Used to identify a uniquepiconet. Derived from the device address of the master ofthe piconet. All normal (non inquiry and paging) packetson the piconet will use the CAC.
Device Access Code(DAC) : Used for paging procedure(initial synchronization). Derived from the device addressof the slave.
Inquiry Access Code: Used for inquiry procedure (to getdevice addresses). 2 types : Generic and Device IACs
8/13/2019 Bluetooth 9
19/37
Header
Addressing (3) : Max 7 slaves per piconet
Packet type (4) : 13 packet types (some unused)
Flow control (1) 1-bit ARQ (1) : Broadcast packets are not Acked
Sequencing (1) : for filtering retransmitted packets
HEC (8) : Verify Header Integrity
Total = 18 bits
Encode with 1/3 FEC to get 54 bits
8/13/2019 Bluetooth 9
20/37
Error Correction/Flow Control
Error Correction
- 1/3 FEC
- 2/3 FEC
- ARQ (Retransmit till Ack is received/ timeout)
Flow Control
- FIFO queues at TX and RX
- If RX queue is full the flow control bit is set in the
header of the next packet sent.- The TX freezes its FIFO queue till the bit is reset.
8/13/2019 Bluetooth 9
21/37
NETWORKING
Connection Establishment
Piconet Communication
Scatternet Communication
8/13/2019 Bluetooth 9
22/37
Connection Establishment
Two step process : Inquiryto get device addr
Pagingfor Synchronization
Inquiry: Uses the Inquiry hop sequence and the
IAC (DIAC or GIAC)
Paging: Uses the Paging hop sequence and the DACof the device to be paged
8/13/2019 Bluetooth 9
23/37
8/13/2019 Bluetooth 9
24/37
Connection Establishment - Paging
Master Slave
Page Page Scan
Master Page
Response
Slave Page
Response
Connected Connected
Page pkt
ID pkt
FHS pkt
ID pkt
POLL
NULL
Uses FHS to get
CAC and clk infoAssigns active
addr
8/13/2019 Bluetooth 9
25/37
Connection Establishment times
ConnectedPagingInquiry
Typical
Max
5.12 s
15.36 s
0.64 s
7.38 s
8/13/2019 Bluetooth 9
26/37
Connection Modes
Active Mode: Device actively participates on the piconetchannel
Power Saving modes
Sniff Mode: Slave device listens to the piconet at areduced rate . Least power efficient.
Hold Mode: The ACL link to the slave is put on hold.SCO links are still supported. Frees capacity for inquiry,
paging, participation in another piconet.
Park Mode: The slave gives up its active memberaddress. But remains synchronized (beacon channel).Listens to broadcasts. Most power efficient.
8/13/2019 Bluetooth 9
27/37
Intra-piconet communication
The master controls all traffic on the piconet
SCO link - reservation
The master allocates capacity for SCO links by reserving slots
in pairs.
ACL linkpolling scheme
The slave transmits in the slave-to-master slot only when it hasbeen addressed by its MAC address in the previous master-to-
slave slot. Therefore no collisions.
8/13/2019 Bluetooth 9
28/37
Device Addressing
Bluetooth Device Address(BD_ADDR)
unique 48 bit address
Active Member Address(AM_ADDR)
- 3 bit address to identify activeslave in a piconet
- MAC address of Bluetooth device
- all 0 is broadcast address
Parked Member Address(PM_ADDR)
- 8 bit parkedslave address
8/13/2019 Bluetooth 9
29/37
Why Scatternets
A group of overlapping piconets is called a
scatternet
Users in a piconet share a 1 Mbps channelindividualthroughput decreases drastically as more units are added
The aggregate and individual throughput of users in a
scatternet is much greater than when each user participates on
the same piconet
Collisions do occur when 2 piconets use the same 1 MHz hop
channel simultaneously. As the number of piconets increases,
the performance degrades gracefully
8/13/2019 Bluetooth 9
30/37
Inter-piconet communication
A unit may particpate in more
than one piconet on a TDM basis.
To participate on a piconet it
needs the masters identity and theclock offset.
While leaving the piconet it
informs the master
The master can also multiplex as
slave on another piconet. But all
traffic in its piconet will suspended
in its absence.
8/13/2019 Bluetooth 9
31/37
8/13/2019 Bluetooth 9
32/37
System Architecture
RFBaseband
Link ManagerAudio
L2CAP
Data
RFCOMM
SDPIP
Applications
Bluetooth Protocol Stack
The Radio, Baseband and Link
Manager are on firmware. The
higher layers could be in soft-
ware. The interface is thenthrough the Host Controller
(firmware and driver)
The HCI interfaces defined for
Bluetooth are UART, RS232 andUSB.
8/13/2019 Bluetooth 9
33/37
Link Manager
LMP (Link Manager Protocol) basically consists of a
number of PDUs sent in the baseband payload.
LMP packets can be recognised by the L_CH field in the
baseband header.
Link Manager handles
- Piconet management (attach/detach slaves, master-
slave switch)
- Link Configuration (low power modes, QoS, packettype selection)
- Security
8/13/2019 Bluetooth 9
34/37
L2CAP
Logical link and adaptation protocol
Only ACL links
Concept of L2CAP channels and Channel idsanalogous tosockets in TCP/IP
Functions
Protocol multiplexing
Segmentation and reassembly
QoS specifications
Signalling channel for connection request, config etc
8/13/2019 Bluetooth 9
35/37
Higher layers
SDP
Service Discovery Protocolruns on a client server model. Each
device runs only one SDP server and one client may be run foreach application.
RFCOMMTransport protocol providing serial data transfer
8/13/2019 Bluetooth 9
36/37
References
8/13/2019 Bluetooth 9
37/37
References
Jaap Haarsten, BluetoothThe universal radiointerface for ad-hoc wireless connectivity,Ericsson Review, no. 3, 1998.
www.ericsson.se/review Palowireless
www.palowireless.com/infotooth/tutorial
Aman Kansal, Connection Establishment inBluetooth
The official bluetooth site - www.bluetooth.com
http://opensource.nus.edu.sg/projects/bluetooth/
http://www.ericsson.se/reviewhttp://www.palowireless.com/infotooth/tutorialhttp://www.bluetooth.com/http://opensource.nus.edu.sg/projects/bluetooth/http://opensource.nus.edu.sg/projects/bluetooth/http://www.bluetooth.com/http://www.palowireless.com/infotooth/tutorialhttp://www.ericsson.se/review