Introduction to bluetooth. outline Why bluetooth History Bluetooth stack and technology Reference.
Bluetooth
-
Upload
dorothy-cross -
Category
Documents
-
view
32 -
download
0
description
Transcript of Bluetooth
![Page 1: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/1.jpg)
Bluetooth
Mohamed Mokdad
Ecole d’Ingénieurs de Bienne
![Page 2: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/2.jpg)
What is Bluetooth?
• Data transmission standard
• Between different kinds of terminals– E.g. PC, Printer, PDA, Phone,
• Radio Link
• Bitrate: Up to 1 mbps
• Security: It’s secured
• It’s not intended for permanent connection
![Page 3: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/3.jpg)
History
• Ericsson starts developping it in 1994
• Other joined: IBM, Nokia, etc
• The group is named: Bluetooth SIG– SIG = Special Interest Group
• Bluetooth SIG– Specifications– Profiles
![Page 4: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/4.jpg)
How it works?
• Radio link between 2 terminals
• On short distances up to 10 meters
• Special arrangements up to 100 meters
• Theoritical Bitrate up to 720 kbps
• 1 Master & 1+ Slave terminals (up to 7)
• Link: only Master to Slave– No slave to slave links
• Frequency Hopping
![Page 5: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/5.jpg)
The Applications
• PC to PDA synchronisation
• Printing everywhere
• Headsets
• Mobile phone to PDA
• COM Devices
• …
![Page 6: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/6.jpg)
Components Overview
![Page 7: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/7.jpg)
The architecture: Piconet
Multi slaves operation
Single slave operation
Scatternet operation
![Page 8: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/8.jpg)
Specs – Radio Channel
• 2.4 GHz – Bandwidth 79 MHz
• 1 MHz frequency hops, i.e. 79 hops
• Not everywhere available spectrum– E.g. France: limitation to 23 MHz bandwidth
• Reach of 10 m with 2.5 mW– 2.5 mW ~ 4 dBm, i.e. Log(2.5mW/1mW) – The cell is the Piconet
• 3 power classes: 1, 2.5 & 100 mW
![Page 9: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/9.jpg)
Radio interface features
• Power control with RSSI – LMP– Receiver Signal Strength Indicator (dBm)– Allows power adjustment for Class 1 (High)– Optional for Power Classes 2 and 3
• Key features of Bluetooth– Robustness, low complexity – low power, low cost.
• Frame number 0 to 227-1 & cycles @ 227
• Master sends in even slots (0, 2, 4, …)
![Page 10: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/10.jpg)
Physical Layer
• Channel divided in 625 ms slots
• Every slot @ a different frequency hop
• A packet can be– Less then one slot– One slot– More then one slot (up to five)
• Next packet starts on next slot
• One packet per frequency hop
![Page 11: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/11.jpg)
Packets & Hops
![Page 12: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/12.jpg)
Packets & Hops
![Page 13: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/13.jpg)
Transmission mode - SCO
• Synchronous Connection-Oriented– SCO– Point to point connection in the Piconet– Regular reserved transmission slots– Speech connections @ 64 kbps– Maximum of 3 Master-Slave simultaneous
connections
![Page 14: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/14.jpg)
Transmission mode - ACL
• Asynchronous Connection-Less– ACL– One single connection– No slot reservation– More then one connection @ the same time– And with more then one slave
![Page 15: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/15.jpg)
SCO & ACL
![Page 16: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/16.jpg)
The packet
Access Code- Channel Access Code: Identifies the Piconet - Device Access Code: Identifies the access type - Inquiry Access Code: Identifies the request Header for addressing, error correction and flow control
Payload for Data
![Page 17: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/17.jpg)
Overview of major states
• Standby state– Default state– Low power comsuption– No interaction with any other terminal– Synchronised (Clock active)
• Connection state– Dialog state– Master clock for synchronisation
![Page 18: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/18.jpg)
![Page 19: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/19.jpg)
Connection state modes
• Active mode– Participating to a connection
• Sniff mode– Reduction of the slave listening activity
• Hold mode– No ACL support, but just SCO support– Frees capacity for other slaves
• Park mode– Remains synchronised and keeps addresses
![Page 20: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/20.jpg)
Connection modes
![Page 21: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/21.jpg)
Hold Mode
![Page 22: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/22.jpg)
Sniff Mode
![Page 23: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/23.jpg)
The protocol stack
![Page 24: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/24.jpg)
Base Band
• Physical channels– Time slots @ 625 ms
• Physical links– SCO and ACL
• Packets– Access code, packet header and types
• Error correction– 1/3, 2/3 and ARQ scheme
![Page 25: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/25.jpg)
Logical channels• Logical channels (5)
– LC = Link Control• Low level link control: ARQ, Flow, etc.
– LM = Link Manager• Peer protocol between Link Mgr (Master/Slave)
– UA = User Asynchronous Data• Different clocks & Synchronization per byte
– UI = User Isochronous Data• Clock in data & mainly no error checking
– US = User Synchronous Data• Synchronized clocks & Error checking
![Page 26: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/26.jpg)
Logical channels UA/UI & US
• UA/UI– Carried over ACL links
• US– Carried over SCO links
• LC mapped in the packet header• The other in the payload
![Page 27: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/27.jpg)
Packet Hierarchy
PSM: Protocol Service Multiplexer, i.e. SPD, RFCOMM or TCP
![Page 28: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/28.jpg)
ACL Packets
![Page 29: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/29.jpg)
SCO PAckets
![Page 30: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/30.jpg)
Packets Transmit & Receive
• Transmit & Receive Routines– The standard makes suggestion– There is no obligation to implement
• It looks like V.24 interface– Transmit Buffer– Receive Buffer– …
• It’s however much more complicated
![Page 31: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/31.jpg)
Link Manager Protocol
![Page 32: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/32.jpg)
Link Manager Protocol
• Link Setup
• Link Control
• Link Security
• LM PDU– Link Manager Protocol Data Unit
• LM PDU always sent in the payload and
• Always as single-slot packets
![Page 33: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/33.jpg)
The Procedures
• General response messages
• Authentication
• Pairing
• Change Link Key
• Change Current Link Key
• Encryption
• Switch of Master-Slave Role
• QoS
![Page 34: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/34.jpg)
Pairing
• No link key available
• Generate one based on– Random number, BD_ADDR, PIN
• Initiator and Responder– Reject or– Accept and create link key
![Page 35: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/35.jpg)
Authentication
• Secret Key– Based on Challenge, BD_ADDR, secret link
key
• Claimant and Verifier– Has key– Has no key
![Page 36: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/36.jpg)
L2CAP
• Logical Link Control & Adaptation Protocol• Higher layer protocols
– Packet Segmentation & Reassembly (SAR)– Multiplexing– QoS
• Supports ACL and no SCO Links• Simplicity and low overhead• Applicable to equipment with low power
resources: PDAs, Cellular phones, …
![Page 37: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/37.jpg)
Stack
![Page 38: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/38.jpg)
L2CAP does not support
• L2CAP does not transport audio designated for SCO links.
• L2CAP performs no retransmissions or checksum calculations.
• L2CAP does not perform any CRC Calculation
![Page 39: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/39.jpg)
Payload Format
LMP = 1 slot packetsL2CAP = 1 or more slots packets
![Page 40: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/40.jpg)
Channel Coding
To be noted
10 = Start of L2CAP packet01 = Continuation of L2CAP packet
![Page 41: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/41.jpg)
Channels Summary
![Page 42: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/42.jpg)
Channels types
![Page 43: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/43.jpg)
Channels types
• Connection oriented data channels– Both ways connection– Normal CID
• Connectionless channels– One way channel– Reserved CID– E.g Signaling
• Signaling channel is mandatory
![Page 44: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/44.jpg)
L2CAP Services
1
2 3
45
67
8
![Page 45: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/45.jpg)
Segmentation
L2CAP over Baseband: segment in Baseband packets to send over the airL2CAP over HCI: segment in block sized chunks to send to the HCI
This will segment to Baseband packet to send over the air
The scenario is: L2CAP to Baseband to L2CAP
![Page 46: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/46.jpg)
USB based Example
![Page 47: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/47.jpg)
Profiles
• Bluetooth SIG Profiles– Different profiles
• Devices Interoperability– Not all Bluetooth devices can interoperate
• Service and use case– Specify the supported services
• Describe the air interface– For the profile
![Page 48: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/48.jpg)
Type of support
• Mandatory– Define profile's capabilities
• Optional– Define profile's capabilities that can be used
• Conditional– In conjunction with some other capability
• eXcluded– Should not be used in this profile
• Not Applicable
![Page 49: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/49.jpg)
Profiles
• GENERIC ACCESS - @ least• SERVICE DISCOVERY APPLICATION• CORDLESS TELEPHONY• INTERCOM• SERIAL PORT• HEADSET• DIAL-UP NETWORKING• FAX• LAN ACCESS• GENERIC OBJECT EXCHANGE• OBJECT PUSH• FILE TRANSFER• SYNCHRONIZATION
![Page 50: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/50.jpg)
Profile description
• Scope– What is its usage: service and use case
• Dependencies– What other profiles are required
• Stack– Which element of the stack are involved
• The protocols– @ the different layers: LM, L2CAP, …
![Page 51: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/51.jpg)
E.g. Generic Profile Stack
![Page 52: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/52.jpg)
E.g. Dial-Up Networking Stack
![Page 53: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/53.jpg)
E.g. Generic Object Ex. Stack
![Page 54: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/54.jpg)
Generic Access
• This profile defines the generic procedures related to discovery of Bluetooth devices (idle mode procedures) and link management aspects of connecting to Bluetooth devices (connecting mode procedures). It also defines procedures related to use of different security levels. In addition, this profile includes common format requirements for parameters accessible on the user interface level.
![Page 55: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/55.jpg)
Service Discovery Application
• This document defines the features and procedures for an application in a Bluetooth device to discover services registered in other Bluetooth devices and retrieve any desired available information pertinent to these services.
![Page 56: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/56.jpg)
Headset
• This profile defines the requirements for Bluetooth devices necessary to support the Headset use case. The requirements are expressed in terms of end-user services, and by defining the features and procedures that are required for interoperability between Bluetooth devices in the Headset use case.
![Page 57: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/57.jpg)
Serial Port
• This profile defines the requirements for Bluetooth devices necessary for setting up emulated serial cable connections using RFCOMM between two peer devices. The requirements are expressed in terms of services provided to applications, and by defining the features and procedures that are required for interoperability between Bluetooth devices.
![Page 58: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/58.jpg)
Dial-Up networking
• This profile defines the requirements for Bluetooth devices necessary for the support of the Dial-up Networking use case. The requirements are expressed in terms of enduser services, and by defining the features and procedures that are required for interoperability between Bluetooth devices in the Dialup Networking use case.
![Page 59: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/59.jpg)
Generic Object Exchange
• This profile defines the requirements for Bluetooth devices necessary for the support of the object exchange usage models. The requirements are expressed by defining the features and procedures that are required for interoperability between Bluetooth devices in the object exchange usage models.
Underlying profile
![Page 60: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/60.jpg)
Object Push
• This application profile defines the application requirements for Bluetooth devices necessary for the support of the Object Push usage model. The requirements are expressed in terms of end-user services, and by defining the features and procedures that are required for interoperability between Bluetooth devices in the Object Push usage model.
Objects examples: Business Card, Appointment
![Page 61: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/61.jpg)
File Transfer
• This application profile defines the application requirements for Bluetooth devices necessary for the support of the File Transfer usage model. The requirements are expressed in terms of end-user services, and by defining the features and procedures that are required for interoperability between Bluetooth devices in the File Transfer usage model.
![Page 62: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/62.jpg)
Synchronization
• This application profile defines the application requirements for Bluetooth devices necessary for the support of the Synchronization usage model. The requirements are expressed in terms of end-user services, and by defining the features and procedures that are required for interoperability between Bluetooth devices in the Synchronization usage model.
Synchronization of objects
![Page 63: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/63.jpg)
LAN Access
• This document is a LAN Access Profile for Bluetooth devices. Firstly, this profile defines how Bluetooth-enabled devices can access the services of a LAN using PPP. Secondly, this profile shows how the same PPP mechanisms are used to form a network consisting of two Bluetooth-enabled devices.
PPP = Point-to-Point Protocol
![Page 64: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/64.jpg)
Fax
• This profile defines the requirements for Bluetooth devices necessary for the support of the Fax use case. The requirements are expressed in terms of end-user services, and by defining the features and procedures that are required for interoperability between Bluetooth devices in the Fax use case.
![Page 65: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/65.jpg)
Cordless Telephony
• This profile defines the features and procedures that are required for interoperability between different units active in the ‘3-in-1 phone’ use case. The scope of this profile includes the following layers/protocols/ profiles: Bluetooth Baseband, Link Manager Protocol, L2CAP, Service Discovery Protocol, Telephony Control Protocol Specification (TCS-Binary) and the General Access Profile.
![Page 66: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/66.jpg)
Intercom
• This profile defines the requirements for Bluetooth devices necessary for the support of the intercom functionality within the 3-in-1 phone use case. The requirements are expressed in terms of end-user services, and by defining the features and procedures that are required for interoperability between Bluetooth devices in the 3-in-1 phone use case.
![Page 67: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/67.jpg)
![Page 68: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/68.jpg)
Data whitening
• Randomize the data– No redundant patterns
• Minimize DC bias in the packet– To reduce the DC offset– i.e. DC value tends to 0
• Generated with a polynomial– As for CRC-16, CRC-32
![Page 69: Bluetooth](https://reader035.fdocuments.in/reader035/viewer/2022070400/56812b70550346895d8f9319/html5/thumbnails/69.jpg)
Packet Hierarchy
PSM: Protocol Service Multiplexer, i.e. SPD, RFCOMM or TCP