Professional Documents
Culture Documents
Bluetooth Tutorial 2001 PDF
Bluetooth Tutorial 2001 PDF
NewLogic
Page 1
Tutorial Agenda
Page 2
Marketing View
Tutorial
Page 3
The Last Ten Meters
Page 4
Systems
Landline
Cable
Replacement
Data/Voice
Access
Points
Personal Ad-hoc
Networks
Page 5
Target products
Intelligent
Intelligent Devices
Devices Audio
Audio Peripherals
Peripherals
• PCs • Headsets
• Cellular Phones • Speakers
• PDAs • Stereo Receiver
Data
Data Peripherals
Peripherals Embedded
Embedded Applications
Applications
• Mice • Cars: Power lock controls
• Keyboards • Grocery store updates
• Joysticks • Closed Systems
• Cameras • Industrial systems
• Digital Pens • MIDI musical instruments
• Printers
• LAN access points
Page 6
Usage Models
Page 7
Characteristics
Page 8
Market Projections
6000
5000
4000
3000
2000
1000
2001E
2002E
2003E
2004E
2005E
2006E
Page 9
Who is Bluetooth?
Page 10
Network Topology
Tutorial
Page 11
Piconet - 1
Unit B
Unit C
Unit H
Unit A
Unit F
Unit D
Unit G Unit E
Page 12
Piconet - 2
Page 13
Piconet - 3
Page 14
Scatternet - 1
Piconet C
Piconet A
Master A
Master C
Piconet B
Master B
Page 15
Scatternet - 2
Piconet C
Piconet A
Master A
Master C
Piconet B
Master B
Page 16
Scatternet - 3
• Interconnected piconets
• One master per piconet
• Few devices shared between piconets
• Master/Slave
• Slave/Slave
• Need special features
• No central network structure
• “Ad-hoc” network
Page 17
Scatternet applications
Network
AP AP
Mobile
Mouse Mouse
PC PC
Printer
Keyboard
Headset
Page 18
Protocol
Tutorial
Page 19
Generalities on protocol stack
API
OBEX
7 Application
RFCOMM SDP TCS
6 Presentation
5 Session L2CAP
4 Transport
3 Network HCI
Radio
Page 20
Radio - 1
79 frequency channels
Frequency
(in MHz)
2402 2480
Page 21
Radio - 2
Page 22
Baseband - 1
Bluetooth frame
Packet
f(2k) f(2k+1) f(2k+2)
master
t
slave
t
625 µs
Page 23
Baseband - 2
• Multi-slot Packets
625 µs
f(k) f(k+5)
Page 24
Baseband - 3
Master
Slave 1
Slave 2
Slave 3
Page 25
Baseband - 4
• Packet format
• Packet types
• HV1, HV2, HV3 - Voice packets
• DV - Mixed voice/data
• DM1, DM3, DM5 - Protected data packets
• AUX1, DH1, DH3, DH5 - Unprotected data packets
• NULL, POLL, ID, FHS - Baseband control packets
Page 26
Baseband - 5
• Data rates
Page 27
Baseband - 6
Page 28
Baseband - 7
Page 29
Baseband - 8
• Scatternet case
• Master/Slave units use 1 offset
• Slave/Slave units use 2 offsets
X Y
SLAVE Ay
SLAVE Ax
SLAVE By
SLAVE Cxy
MASTER X native MASTER Y
offset y
offset x
SLAVE Bx SLAVE Dy
Page 30
Link Controller - 1
• Standby
• Device powered on
• Inquiry Standby
• Discover devices in the area
• Collect addresses
• Page
• Connect to a specific device Inquiry Page
Inquiry Page
Scan Scan
• Inquiry scan
• Discoverable state Slave
• Page scan
• Device waiting to join a piconet Connection Master
• Connection
• Actively on a piconet
• Master or slave
Page 31
Link Controller - 2
Page 32
Link Controller - 3
Page 33
Link Controller - 4
• Logical channels
• Control channels:
• LC link control
• LM link manager
• Traffic channels:
• US synchronous user data
• UA asynchronous user data
• UI isochronous user data
• Channel mapping
• Packet header:
• LC
• Packet payload:
• LM, US, UA, UI
Page 34
Link Manager - 1
Control User
Data
Link Controller
Radio Frequency
Page 35
Link Manager - 2
• 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 management
• Authentication
• Encryption including key management
Page 36
Link Manager - 3
BasebandConnection
Baseband Connection
Authentication//Pairing
Authentication Pairing (optional)
(optional)
EncryptionSetup
Encryption Setup(optional)
(optional)
Master
Master
Slave
Slave
ExchangeSupported
Exchange SupportedFeatures
Features
SetACL
Set ACLLink
LinkParameters
Parameters
Traffic
Detach
Detach
Page 37
Link Manager - 4
1. Master-initiated 2. Slave-initiated
Request Request
LMP_sco_req
Master
Slave
LMP_sco_req LMP_sco_req
Master
Slave
LMP_sco_req
Possibly other
Master
Slave
Master
LMP_accepted**
Slave
LMP_accepted
Parameters
LMP_sco_req
LMP_sco_req
LMP_accepted**
LMP_accepted
* or LMP_not_accepted
Page 38
Link Manager - 5
LM
Requesting LM
• Master-Slave Switch
AnsweringLM
Request • Power Control
Request
Requesting
Answering
• SCO Air Mode Parameters
• L2CAP
• Encryption
Reply
Reply • Timing Accuracy
• Clock Offset
• Name of Device
Page 39
Link Manager - 6
Verifier Claimant
Random No. LMP_au_rand
LMP_au_rand
MAC
Address_B
MAC
Address_B Key
Key LMP_sres
LMP_sres
Compare ?
Page 40
Link Manager - 7
KKinit (LMP_in_rand)
init(LMP_in_rand)
Master
Master
Slave
Slave
LinkKey
Link KUnit
Key: :K KComb
orK
Unitor Comb
MutualAuthentication
Mutual Authentication
Page 41
Link Manager - 8
Master
• Using encryption
Master
Slave
Slave
• (Point-to-Point / Broadcast)
3. Start Encryption
• Key size:
• Regulations may occur
• Negotiation based on
preferred and allowed key
length EncryptedTraffic
Encrypted Traffic
• Start encryption
4. Stop Encryption
Page 42
Link Manager - 9
Page 43
L2CAP - 1
What is L2CAP?
Applications
TCS SDP RFCOMM
ol
ntr
Data Co
L2CAP
Audio LMP
LMP
Link Manager
Baseband
RF
Page 44
L2CAP - 2
• Protocol Multiplexing
• Goal: Pass packets used by a particular network protocol to
the appropriate handler
• Segmentation and Reassembly (SAR)
• Goal: Hide data link packet lengths from network-layer
protocols
• Quality of Service
• Goal: Negotiate and enforce QoS contracts
Page 45
L2CAP - 3
• Protocol Architecture
• Connection-oriented
• Channel identifier used to label each connection
• Channel is assumed to be full-duplex
• QoS flow specification assigned to each channel direction
• Datagram-based, no Streams
• Packet boundaries are preserved
• L2CAP does NOT perform retransmission
• L2CAP does NOT perform Flow Control
Page 46
L2CAP - 4
• Length
• Specifies the length of the payload in bytes
• Destination Channel ID (DCID)
• Identifies the channel to which the packet will be delivered
• Payload
• Data received from and sent to the network layer
• Maximum transmission unit (MTU) limits payload sizes
Page 47
L2CAP - 5
LinkManager
Link ManagerConnection
Connection
L2CAP_CONNECTION_REQUEST
L2CAP_CONNECTION_REQUEST
L2CAP_CONNECTION_RESPONSE
L2CAP_CONNECTION_RESPONSE
Device BB
Device AA
L2CAP_CONFIGURATION_REQUEST
Device
L2CAP_CONFIGURATION_REQUEST
Device
L2CAP_CONFIGURATION
CONFIGURATION_RESPONSE
_RESPONSE
L2CAP_
L2CAP_CONFIGURATION_REQUEST
L2CAP_CONFIGURATION_REQUEST
L2CAP_CONFIGURATION
CONFIGURATION_RESPONSE
_RESPONSE
L2CAP_
Traffic
Traffic
Page 48
L2CAP - 6
L2CAP packet
Baseband packet
Access Code Header Payload
(72) (54) Header
Payload
Page 49
L2CAP - 7
• SAR Example
Source Destination
Datagram Datagram
f1 f2 f3 f4 f1 f2
Page 50
SDP - 1
Applications
TCS SDP RFCOMM
ol
ntr
Data
Co
L2CAP
Audio LMP
LMP
Link Manager
Baseband
RF
Page 51
SDP - 2
• Protocol Architecture
• Connectionless - Client/Server
Page 52
SDP - 3
SDPRequest
Request
SDP
SDP SDP
Client SDPResponse
Response Server
SDP
Page 53
SDP - 4
• Service Discovery
• Searching for Services
• What are the Services provided by the remote device ?
• IrDA-like printer
• Headset
• AudioGateway
• …
• Browsing for Services
• What are the Service Attributes ?
• e.g. : ( L2CAP, PSM=RFCOMM ), ( RFCOMM, CN=1 ), (
PostscriptStream)
Page 54
Applications - 1
APPLICATIONS
CTP TCP/IP
Voice HP SPP OBEX PPP
Data
Data
l
rt o
TCS SDP RFCOMM n
Co
Data
L2CAP
Audio
Link Manager
Baseband
RF
Page 55
Applications - 2
Page 56
Implementation
Tutorial
Page 57
Implementation choices
Proc Application
Application ASIC
ASIC
BB BB
ROM/ ROM/
RF Flash RF Flash
Page 58
Integration example
Radio Core
ASIC / ASSP
Processor
Application
ROM / Logic
Software RAM
Flash
Page 59
Live Demo
Tutorial
Page 60
References
Tutorial
Page 61
References
Page 62