550 likes | 1.34k Vues
Bluetooth (BT) Protocol Architecture. By: Sachin Garg. Table of Contents. Protocol Stack Classification Protocols BT Radio Baseband Link Manager Protocol Logical Link Control & Adaptation Protocol Service Discovery Protocol Others BT Profiles References.
E N D
Bluetooth (BT) Protocol Architecture By: Sachin Garg
Table of Contents • Protocol Stack • Classification • Protocols • BT Radio • Baseband • Link Manager Protocol • Logical Link Control & Adaptation Protocol • Service Discovery Protocol • Others • BT Profiles • References
Classification of Protocols • Can be divided into four layers • purpose • whether BT SIG has been involved in specifying them
Classification Continued… Applications • HCI : command interface to the BT module, access to hardware status and control registers. • Can be above or below L2CAP. Higher Layers Logical Link Control and Adaptation Protocol (L2CAP) Host Controller Interface (HCI) Bluetooth Module Link Manager Protocol (LMP) Baseband Radio
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
S M P sb S S P P sb M S BT 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=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.
fk fk+1 fk+2 fk+3 Master Slave1 t 625 ms 625 ms Slot2 Slot4 Slot 1 Slot 3 Frame 1 Frame 2 • Frequency hops from Slot to Slot to Slot • Frames define matched Master / Slave Slot transmissions • Complete packet transmission occurs during a Slot Frequency Hopping & Time Division Duplexing
Slave2 Multi-Slave Transmission fk fk+1 fk+2 fk+3 fk+4 fk+5 Master Slave1 t • The Bluetooth master interleaves traffic between multiple simultaneously active slaves • Each Master can support up to 7 simultaneously active slaves
fk fk fk fk+3 Master Slave1 625 ms Slot2 Slot4 Slot 1 Slot 3 Frame Multi-Slot Framing 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
Point to Multi-Point Transmission fk fk+1 fk+2 fk+3 fk+4 fk+5 Master 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
Four active piconets • 400 transmission slots • 20 slots corrupted • ~95% net efficiency Frequency Hopping With Multiple PiconetsEach Piconet Uses a Unique Frequency Hopping Pattern • 10 collisions
Ten active piconets • 1000 transmission slots • 112 slots corrupted • ~89% net efficiency Bluetooth Piconets Degrade Gracefully with Density... • 56 collisions
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 discoveryprocedures.
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…..
Applications Protocols Profiles Bluetooth profiles • Represents default solution for a usage model • - Vertical slice through the protocol stack 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
IrMC IrOBEX RFCOMM L2CAP LMP ACL SCO Bluetooth Baseband Synchronization profile
PPP RFCOMM L2CAP LMP ACL SCO Bluetooth Baseband LAN access point profile
References • www.palowireless.com/bluetooth/ • www.research.ibm.com/people/k/kapurva • www.cse.secs.oakland.edu/haskell2/ VHDL/CSE480/