Bluetooth Protocol Architecture - Versailles Saint

Download Report

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/