Bluetooth (BT) Protocol Architecture By: Sachin Garg.
-
Upload
roderick-casey -
Category
Documents
-
view
226 -
download
4
Transcript of Bluetooth (BT) Protocol Architecture By: Sachin Garg.
Bluetooth (BT) Protocol Bluetooth (BT) Protocol ArchitectureArchitecture
Bluetooth (BT) Protocol Bluetooth (BT) Protocol ArchitectureArchitecture
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
Bluetooth Protocol StackBluetooth Protocol StackBluetooth Protocol StackBluetooth Protocol Stack
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
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.
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.
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
BasebandBasebandBasebandBaseband
• lies on top of Bluetooth radio
• manages physical channels and links
• Other services
•error correction
• data whitening
•hop selection
•Bluetooth security
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
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)
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
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
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
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.
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
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
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
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
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
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
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
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.
Baseband: Overview of StatesBaseband: Overview of StatesBaseband: Overview of StatesBaseband: Overview of States
Major states:
-Standby
-Connection
7 sub-states: used in device discoveryprocedures.
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.
`
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.
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
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
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
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)
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.
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
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…..
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
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
RFCOMM
ACL SCOBluetooth Baseband
LMP
L2CAP
IrOBEX
IrMC
Synchronization profileSynchronization profileSynchronization profileSynchronization profile
RFCOMM
ACL SCOBluetooth Baseband
LMP
L2CAP
PPP
LAN access point profileLAN access point profileLAN access point profileLAN access point profile
ReferencesReferencesReferencesReferences
• www.palowireless.com/bluetooth/
• www.research.ibm.com/people/k/kapurva
• www.cse.secs.oakland.edu/haskell2/ VHDL/CSE480/