37
Bluetooth (BT) Bluetooth (BT) Protocol Protocol Architecture Architecture By: Sachin Garg

Bluetooth (BT) Protocol Architecture By: Sachin Garg

Embed Size (px)

Citation preview

Page 1: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Bluetooth (BT) Protocol Bluetooth (BT) Protocol ArchitectureArchitecture

Bluetooth (BT) Protocol Bluetooth (BT) Protocol ArchitectureArchitecture

By:

Sachin Garg

Page 2: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Table of ContentsTable of ContentsTable of ContentsTable of Contents• Protocol Stack

• Classification

• Protocols

•BT Radio

• Baseband

• Link Manager Protocol

• Logical Link Control & Adaptation Protocol

• Service Discovery Protocol

• Others

• BT Profiles

• References

Page 3: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Bluetooth Protocol StackBluetooth Protocol StackBluetooth Protocol StackBluetooth Protocol Stack

Page 4: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Classification of ProtocolsClassification of ProtocolsClassification of ProtocolsClassification of Protocols• Can be divided into four layers

• purpose

• whether BT SIG has been involved in specifying them

Protocol Layer Protocols in the stack

Bluetooth Core Protocols Baseband, LMP, L2CAP, SDP

Cable Replacement Protocol RFCOMM

Telephony Control Protocol TCS Binary, AT-commands

Adopted Protocols PPP, UDP/TCP/IP, OBEX, WAP, vCARD, vCAL, IrMC, WAE

Page 5: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Bluetooth Module

Classification Continued…Classification Continued…Classification Continued…Classification Continued…

Radio

Link Manager Protocol (LMP)

Baseband

Host ControllerInterface (HCI)

Logical Link Control and Adaptation Protocol (L2CAP)

Higher Layers

Applications

• HCI : command interface to the BT module, access to hardware status and control registers.

• Can be above or below L2CAP.

Page 6: Bluetooth (BT) Protocol Architecture By: Sachin Garg

BT RadioBT RadioBT RadioBT Radio•lowest defined layer of the Bluetooth specification

•Frequency Bands and Channel Arrangement

•Operates in the 2.4 GHz unlicensed ISM band.

•79 hop frequencies: f = 2402+k MHz, k= 0,..78.

-Japan, Spain and France, 23 channels only

•Transmitter

•GFSK modulation: BT=0.5, 0.28 < m < 0.35

•Power

•Class 1: long range (~100m) devices, output power 20 dBm,

•Class 2: ordinary range (~10m) devices, output power 4 dBm,

•Class 3: short range (~10cm) devices, output power 0 dBm.

Page 7: Bluetooth (BT) Protocol Architecture By: Sachin Garg

BT RadioBT RadioBT RadioBT Radio

•Receiver

•BER < 10-3 for:

• -70dBm input power level.

• 11 dB carrier to co-channel interference ratio

•RSSI: Receiver Signal Strength Indicator

• Power Control

Page 8: Bluetooth (BT) Protocol Architecture By: Sachin Garg

BasebandBasebandBasebandBaseband

• lies on top of Bluetooth radio

• manages physical channels and links

• Other services

•error correction

• data whitening

•hop selection

•Bluetooth security

Page 9: Bluetooth (BT) Protocol Architecture By: Sachin Garg

BasebandBasebandBasebandBaseband

•Physical Channel

•Pseudo Random Frequency Hopping with Time Division Duplexing

•Transmission rapidly hops among the available channels

•Transactions are divided into dedicated time slots each for the Master and the Slave

•Typically odd cycles for the Master and evens for the Slaves

• Terminology

Frame = a complete transmit/receive cycle

Slot = a 625 microsecond segment within a frame

Page 10: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Baseband: Physical LinksBaseband: Physical LinksBaseband: Physical LinksBaseband: Physical Links

•ACL (Asynchronous Connection Less)- data

• only one ACL link per slave (master may have more than one ACL link but with different slaves.

• irregular link, master decides which slave to transmit to.

•ACL links carry packets to/fro from LMP or L2CAP layers.

•Data packets: DH (data high) or DM (data medium)

•Variable packet size (1,3,5 slots), point-to multipoint

•asymmetric bandwidth

• max. 721 kbps (57.6 kbps return channel)

• 108.8 - 432.6 kbps (symmetric)

Page 11: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Physical Links continued…….Physical Links continued…….Physical Links continued…….Physical Links continued…….

• SCO (Synchronous Connection Oriented) – Voice

• symmetric and regular.

• master can support up to 3 SCO links with the same/different slaves.

• slave can support 3 SCO links, with the same master.

• SCO packets never retransmitted

Page 12: Bluetooth (BT) Protocol Architecture By: Sachin Garg

BasebandBasebandBasebandBaseband• logical channels : Five

•LC (Control Channel) and LM (Link Manager)

•link level information

•UA, UI and US : asynchronous, isosynchronous and synchronous user information.

• Bluetooth Addressing

•four types of device addresses

•BD_ADDR: Bluetooth Device Address.

•AM_ADDR: Active Member Address

•PM_ADDR: Parked Member Address

•AR_ADDR: Access Request Address

Page 13: Bluetooth (BT) Protocol Architecture By: Sachin Garg

BT Network TopologyBT Network TopologyBT Network TopologyBT Network Topology• PICONET - Collection of devices connected in an ad hoc fashion

• One unit acts as master and the others as slaves for the lifetime of the piconet

•Master – device that initiates a data exchange

•Slave – device that responds to the master

• Master determines hopping pattern, slaves have to synchronize

• Each piconet has one master and up to 7 simultaneous slaves (> 200could be parked)

• Participation in a piconet = synchronization to hopping sequence

M

M

SS

S

S

P

sb

sb

P

P

M=Master SB=Standby

P=Parked S=Slave

Page 14: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Network Topology continued…..Network Topology continued…..Network Topology continued…..Network Topology continued…..

• All devices in a piconet hop together

•Master gives slaves its clock and device ID

•Hopping pattern: determined by device ID (48 bit, unique worldwide)

• Phase in hopping pattern determined by clock

•Each piconet has maximum capacity (1 MSps)

•Scatternet –intersecting piconets. • Devices can be slave in both or master in one and slave in other.

Page 15: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Frequency Hopping & Time Division Duplexing

Frequency Hopping & Time Division Duplexing

fk+2

625 sSlot 3

fk+3

Frame 2

Slot4

t

Frequency hops from Slot to Slot to SlotFrames define matched Master / Slave Slot transmissions

fk+1

Frame 1

Slot2

Complete packet transmission occurs during a Slot

Master

Slave1

fk

625 sSlot 1

Page 16: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Multi-Slave TransmissionMulti-Slave TransmissionMulti-Slave TransmissionMulti-Slave Transmission

Master

Slave1

fk fk+1 fk+2

t

fk+3 fk+4 fk+5

• The Bluetooth master interleaves traffic between multiple simultaneously active slaves

• Each Master can support up to 7 simultaneously active slaves

Slave2

Page 17: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Multi-Slot FramingMulti-Slot FramingMulti-Slot FramingMulti-Slot Framing

Frame

fk+3

Slot4

t

• To increase bandwidth Bluetooth can aggregate multiple slots in one direction of the transmission (i.e. asymmetric transmission)

• Eliminates turnaround time and reduces packet overhead• Note that frequency DOES NOT change during the multi-slot transmission

• Bluetooth supports 1/1, 3/1, and 5/1 framing (example above is 3/1)• 5/1 framing supports up to 721Kbps, Bluetooth’s maximum capacity

Master

Slave1

fk

625 sSlot 1 Slot2

fk

Slot 3

fk

Page 18: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Slave2

Point to Multi-Point TransmissionPoint to Multi-Point TransmissionPoint to Multi-Point TransmissionPoint to Multi-Point Transmission

Slave1

fk fk+1 fk+2

t

fk+3 fk+4 fk+5

• The Bluetooth Master can also simultaneously transmit to all of its active Slaves at one time

• In such transmissions there can be no reverse traffic from the Slaves

Slave3

Master

Page 19: Bluetooth (BT) Protocol Architecture By: Sachin Garg

0

10

20

30

40

50

60

70

80

0 10 20 30 40 50 60 70 80 90 100

0

10

20

30

40

50

60

70

80

Piconet A Contention

Total Transmission Slots: 100 Transmission Slots Hit: 0 Transmission Efficiency: ~100%Active Piconets: 1

Each Bluetooth Piconet Randomly Changes Each Bluetooth Piconet Randomly Changes Frequency Slot by Slot by SlotFrequency Slot by Slot by Slot

Each Bluetooth Piconet Randomly Changes Each Bluetooth Piconet Randomly Changes Frequency Slot by Slot by SlotFrequency Slot by Slot by Slot

0

10

20

30

40

50

60

70

80

0 10 20 30 40 50 60 70 80 90 100

0

10

20

30

40

50

60

70

80

Piconet A Contention

Total Transmission Slots: 100 Transmission Slots Hit: 0 Transmission Efficiency: ~100%Active Piconets: 1

Page 20: Bluetooth (BT) Protocol Architecture By: Sachin Garg

0

10

20

30

40

50

60

70

80

0 10 20 30 40 50 60 70 80 90 100

0

10

20

30

40

50

60

70

80

Piconet A Piconet B Piconet C Piconet D Contention Contention Contention Contention

Total Transmission Slots: 400 Transmission Slots Hit: 20 Transmission Efficiency: ~95%Active Piconets: 4

0

10

20

30

40

50

60

70

80

0 10 20 30 40 50 60 70 80 90 100

0

10

20

30

40

50

60

70

80

Piconet A Piconet B Piconet C Piconet D Contention Contention Contention Contention

Total Transmission Slots: 400 Transmission Slots Hit: 20 Transmission Efficiency: ~95%Active Piconets: 4

Frequency Hopping With Multiple PiconetsFrequency Hopping With Multiple PiconetsEach Piconet Uses a Unique Frequency Hopping PatternEach Piconet Uses a Unique Frequency Hopping Pattern

Frequency Hopping With Multiple PiconetsFrequency Hopping With Multiple PiconetsEach Piconet Uses a Unique Frequency Hopping PatternEach Piconet Uses a Unique Frequency Hopping Pattern

• Four active piconets• 400 transmission slots• 10 collisions• 20 slots corrupted• ~95% net efficiency

Page 21: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Bluetooth Piconets Degrade Gracefully with Bluetooth Piconets Degrade Gracefully with Density...Density...

Bluetooth Piconets Degrade Gracefully with Bluetooth Piconets Degrade Gracefully with Density...Density...

0

10

20

30

40

50

60

70

80

0 10 20 30 40 50 60 70 80 90 100

0

10

20

30

40

50

60

70

80

Piconet A Piconet B Piconet C Piconet D Piconet E Piconet F Piconet G Piconet H Piconet I Piconet JContention Contention Contention Contention Contention Contention Contention Contention Contention Contention

Total Transmission Slots: 1000 Transmission Slots Hit: 112 Transmission Efficiency: ~89%Active Piconets: 10

• Ten active piconets

• 56 collisions• 1000 transmission slots

• 112 slots corrupted• ~89% net efficiency

Page 22: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Baseband: PacketsBaseband: PacketsBaseband: PacketsBaseband: Packets• Packet Types : 13 types

• Packet Format

•Access Code: timing synchronization, offset compensation, paging and inquiry.

• Three types : Channel Access Code (CAC), Device Access Code (DAC) and Inquiry Access Code (IAC).

•Header: information for packet acknowledgement, packet numbering for out-of-order packet reordering, flow control, slave address and error check for header.

•Payload: voice field, data field or both.

Page 23: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Baseband: Overview of StatesBaseband: Overview of StatesBaseband: Overview of StatesBaseband: Overview of States

Major states:

-Standby

-Connection

7 sub-states: used in device discoveryprocedures.

Page 24: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Baseband: Connection stateBaseband: Connection stateBaseband: Connection stateBaseband: Connection state

• Active mode:

•Bluetooth unit listens for each master transmission.

•Slaves not addressed can sleep through a transmission.

•Periodic master transmissions used for sync.

• Sniff mode:

•Unit does not listen to every master transmission.

•Master polls such slaves in specified sniff slots.

`

Page 25: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Baseband: Connection state continued….Baseband: Connection state continued….Baseband: Connection state continued….Baseband: Connection state continued….

• Hold mode•Master and slave agree on a time duration for which the slave is not polled.

•Typically used for scanning, paging, inquiry or by bridge slaves to attend to other piconets.

• Park mode•Slave gives up AM_ADDR.

•Listens periodically for a beacon transmission to synchronize and uses PM_ADDR/AR_ADDR for unparking.

Page 26: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Baseband : Other FunctionsBaseband : Other Functions

• Error Correction : three kinds

•1/3 rate FEC: used for headers and voice.

•2/3 rate FEC: used for DM packets.

•Stop and wait ARQ.

•CRC is used to detect error in payload.

•Broadcast packets are not acked.

• Flow Control

• avoid dropped packets and congestion

• Synchronization

• Security

• authentication of the peers and encryption of the information

Page 27: Bluetooth (BT) Protocol Architecture By: Sachin Garg

LMP – Link Manager ProtocolLMP – Link Manager Protocol• Piconet management

-Attach and detach slaves

-Master-slave switch

-Establishing ACL and SCO links

-Handling of low power modes: Hold, Sniff, Park

• Link configuration

-Supported features

-Quality of Service, usable packet types

-Power Control

• Security Functions

-Authentication

-Encryption including key management

• Link Information

Page 28: Bluetooth (BT) Protocol Architecture By: Sachin Garg

L2CAP - Logical Link Control and Adaptation Protocol

L2CAP - Logical Link Control and Adaptation Protocol

•Simple data link protocol on top of baseband

• Connection oriented, connectionless, and signaling channels

• Protocol multiplexing

– RFCOMM, SDP, telephony control

• Segmentation & reassembly

– Up to 64kbyte user data, 16 bit CRC

• QoS flow specification per channel

–Specifies delay, jitter, bursts, bandwidth

• Group abstraction

– Create/close group, add/remove member

Page 29: Bluetooth (BT) Protocol Architecture By: Sachin Garg

SDP - Service Discovery ProtocolSDP - Service Discovery ProtocolSDP - Service Discovery ProtocolSDP - Service Discovery Protocol

• Defines an inquiry/response protocol for discovering services

- Searching for and browsing services

• Defines a service record format

- Information about services provided by attributes

- Attributes composed of an ID (name) and a value

- Ids may be universally unique identifiers (UUIDs)

Page 30: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Cable Replacement ProtocolCable Replacement Protocol• RFCOMM

• Serial line emulation protocol.

• Emulates RS-232 control and data signals over Bluetooth baseband.

• Provides transport capabilities for upper level services that use serial line as transport mechanism.

Page 31: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Telephony Control ProtocolTelephony Control ProtocolTelephony Control ProtocolTelephony Control Protocol

• Telephony control – binary (TCS BIN)

• call control (setup & release)

• group management

•gateway may serve more cordless devices

• Telephony Control – AT Commands

• set of AT-commands by which a mobile phone

and modem can be controlled in the multiple usage

models

Page 32: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Adopted ProtocolsAdopted Protocols• PPP

• designed to run over RFCOMM to accomplish point-to-point connections

• for LAN access

• OBEX

• for co-existence of Bluetooth and IrDA

• TCP/UDP/IP

• for communication with any other device connected to the Internet

• for the Internet Bridge usage scenarios in Bluetooth

• Similarly, FTP, HTTP etc…..

Page 33: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Bluetooth profilesBluetooth profilesBluetooth profilesBluetooth profiles

• Represents default solution for a usage model

- Vertical slice through the protocol stack

Profiles

Pro

toco

ls

Applications

The figure does not show the LMP, Baseband, and Radio layers

Page 34: Bluetooth (BT) Protocol Architecture By: Sachin Garg

Generic Access Profile - GAPGeneric Access Profile - GAPGeneric Access Profile - GAPGeneric Access Profile - GAP

The Generic Access Profile defines the generic procedures related to discovery of Bluetooth devices and link management aspects of connecting to Bluetooth devices. It is the core on which all other Profiles are based

Page 35: Bluetooth (BT) Protocol Architecture By: Sachin Garg

RFCOMM

ACL SCOBluetooth Baseband

LMP

L2CAP

IrOBEX

IrMC

Synchronization profileSynchronization profileSynchronization profileSynchronization profile

Page 36: Bluetooth (BT) Protocol Architecture By: Sachin Garg

RFCOMM

ACL SCOBluetooth Baseband

LMP

L2CAP

PPP

LAN access point profileLAN access point profileLAN access point profileLAN access point profile

Page 37: Bluetooth (BT) Protocol Architecture By: Sachin Garg

ReferencesReferencesReferencesReferences

• www.palowireless.com/bluetooth/

• www.research.ibm.com/people/k/kapurva

• www.cse.secs.oakland.edu/haskell2/ VHDL/CSE480/