Transcript Bluetooth Protocol Architecture - Versailles Saint
Bluetooth (BT) Protocol Architecture
By: Sachin Garg
• Protocol Stack
Table of Contents
• Classification • Protocols •BT Radio • Baseband • Link Manager Protocol • Logical Link Control & Adaptation Protocol • Service Discovery Protocol • Others • BT Profiles • References
Bluetooth Protocol Stack
Classification of Protocols
• Can be divided into four layers • purpose • whether BT SIG has been involved in specifying them
Protocol Layer
Bluetooth Core Protocols Cable Replacement Protocol Telephony Control Protocol Adopted Protocols
Protocols in the stack
Baseband, LMP, L2CAP, SDP RFCOMM TCS Binary, AT-commands PPP, UDP/TCP/IP, OBEX, WAP, vCARD, vCAL, IrMC, WAE
Classification Continued…
Applications Higher Layers Logical Link Control and Adaptation Protocol (L2CAP) Link Manager Protocol (LMP) Host Controller Interface (HCI) • HCI : command interface to the BT module, access to hardware status and control registers.
• Can be above or below L2CAP.
Baseband Radio Bluetooth Module
BT 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 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
Baseband
• lies on top of Bluetooth radio • manages physical channels and links • Other services •error correction • data whitening •hop selection •Bluetooth security
Baseband
•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 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…….
•
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
Baseband
• 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 Topology
•
PICONET -
fashion Collection of devices connected in an ad hoc • One unit acts as master and the others as slaves for the lifetime of the piconet S M P •Master – device that initiates a data exchange •Slave – device that responds to the master S sb S • Master determines hopping pattern, slaves have to synchronize P P simultaneous slaves (> 200could be parked) M to hopping sequence
M=Master SB=Standby P=Parked S=Slave
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
f k f k+1
Duplexing
f k+2 f k+3 Master Slave1 625 m s Slot 1 Slot2 625 m s Slot 3 Slot4 Frame 1 Frame 2 Complete packet transmission occurs during a Slot Frequency hops from Slot to Slot to Slot Frames define matched Master / Slave Slot transmissions t
f k Master
Multi-Slave Transmission
f k+1 f k+2 f k+3 f k+4 f k+5 Slave1 Slave2 • The Bluetooth master interleaves traffic between multiple simultaneously active slaves • Each Master can support up to 7 simultaneously active slaves t
Multi-Slot Framing
f k f k f k Master f k+3 Slave1 625 m s Slot 1 Slot2 Slot 3 Slot4 Frame • 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 t
Point to Multi-Point Transmission
f k Master f k+1 f k+2 f k+3 f k+4 f k+5 Slave1 Slave2 Slave3 t • 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
Each Bluetooth Piconet Randomly Changes Frequency Slot by Slot by Slot
0 0 0 0 0 0
Frequency Hopping With Multiple Piconets
Each 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 Density...
80 80 70 70 60 50 40 30 20 • Ten active piconets • 1000 transmission slots • 56 collisions • 112 slots corrupted • ~89% net efficiency 40 60 50 30 20 10 10 0 0 10 Piconet A Contention 20 Piconet B Contention 30 Piconet C Contention 40 Piconet D Contention 50 Piconet E Contention Piconet F Contention 60 Piconet G Contention 70 Piconet H Contention 80 Piconet I Contention 90 100 0 Piconet J Contention Active Piconets: 10 Total Transmission Slots: 1000 Transmission Slots Hit: 112 Transmission Efficiency: ~89%
Baseband: 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 States
Major states: -Standby -Connection 7 sub-states: used in device discovery procedures.
Baseband: 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….
•
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 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 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
•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 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 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 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 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 profiles
• Represents default solution for a usage model Vertical slice through the protocol stack Applications Profiles The figure does not show the LMP, Baseband, and Radio layers
Generic 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
Synchronization profile
IrMC IrOBEX RFCOMM L2CAP LMP ACL SCO Bluetooth Baseband
LAN access point profile
PPP RFCOMM L2CAP LMP ACL SCO Bluetooth Baseband
References
• www.palowireless.com/bluetooth/ • www.research.ibm.com/people/k/kapurva • www.cse.secs.oakland.edu/haskell2/ VHDL/CSE480/