bluetooth justin paupore (jpaupore) russ bielawski (jbielaws)

42
Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Upload: aron-farmer

Post on 21-Dec-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

BluetoothJustin Paupore (jpaupore)Russ Bielawski (jbielaws)

Page 2: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

What is Bluetooth?

What, exactly, is Bluetooth?

What is the purpose of Bluetooth?

Page 3: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

What is Bluetooth?Protocol Goals

• Cable replacement technology (initially)

• Short-range wireless communication technology (unlicensed 2.4GHz band)

• Wireless Personal Area Networks (WPANs)

• Standardization of Solution to Common Problem

Page 4: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

• Simple

• Standardized (highly interoperable)

• Low Powero Most common "class 2" radio consumes 2.5mW

• Robusto Frequency Hopping Spread Spectrum (FHSS)o Profiles

• Simultaneous Connection Service Classeso Voice - Circuit-Switchedo Data - Best Effort

• QoS

What is Bluetooth?Advantages By Design

Page 5: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

What is Bluetooth?History

• 1998: Special Interest Group (SIG) formed

• 1999: Bluetooth 1.0

• 2000: mobile phone

• 2001: printer, laptop, hands-free in-car

• 2002: keyboard and mouse, GPS

• 2002: Bluetooth 1.1 - IEEE 802.15.1-2002

• 2004: Bluetooth 2.0 + EDR

• 2007: Bluetooth 2.1 + EDR

• 2009: Bluetooth 3.0 + HS

• 2010: Bluetooth 4.0

Page 6: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

What is Bluetooth?Aside: The Bluetooth SIG

• Bluetooth was initially conceived by Ericsson

• The Bluetooth SIG was founded in 1998 by Ericsson, IBM, Intel, Toshiba and Nokia

• Promoter Memberso Ericsson, Intel, Lenovo, Microsoft, Motorola, Nokia,

Toshiba, Apple, Nordic Semiconductor

• Associate Members

• Adopter Members

Page 7: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Outline

• What is Bluetooth?

• Licensing, Patents and Certification

• Bluetooth "Variants"

• Profiles

• The Bluetooth Protocol Stack

Page 8: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Licensing, Patents and Certification

• Bluetooth Qualification is required to use Bluetooth trademarks

• Patents are FRAND, subject to qualification

• Embedding a qualified Bluetooth module WITH an antenna does not required re-qualification

• There are some fees for qualificationo Not publicly availableo Based upon membership status

Page 9: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Outline

• What is Bluetooth?

• Licensing, Patents and Certification

• Bluetooth "Variants"

• Profiles

• The Bluetooth Protocol Stack

Page 10: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Bluetooth "Variants"History (Again)

• 1998: Special Interest Group (SIG) formed

• 1999: Bluetooth 1.0

• 2000: mobile phone

• 2001: printer, laptop, hands-free in-car

• 2002: keyboard and mouse, GPS

• 2002: Bluetooth 1.1 - IEEE 802.15.1-2002

• 2004: Bluetooth 2.0 + EDR

• 2007: Bluetooth 2.1 + EDR

• 2009: Bluetooth 3.0 + HS

• 2010: Bluetooth 4.0

Page 11: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Bluetooth "Variants"EDR - Enhanced Data Rate

• Added in Bluetooth 2.0

• Allows speeds up to 3.0 Mbps theoretically, 2.1 Mbps in practice

• Adds new modulation schemes improve data rate

• Bluetooth 2.0 devices may not actually support EDR!

Page 12: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Bluetooth "Variants"HS - High Speed

• Added in Bluetooth 3.0

• Allows speeds up to 24.0 Mbps via Alternate MAC/PHY (AMP)

• Uses 802.11 to actually perform data transfer

• Bluetooth 3.0 devices may not actually support HS!

Page 13: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Bluetooth "Variants"BLE - Bluetooth Low Enegry

• Bluetooth Low Energy (BLE) is the main feature of Bluetooth 4.0

• Re-imagining of Bluetooth for 4.0o Bluetooth Classico Bluetooth HSo Bluetooth LE

• Competes with low power WPAN protocolso ANTo 802.15.4 (MAC and PHY of ZigBee)o Nike+

• No Mesh Networking Support

Page 14: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Bluetooth "Variants"BLE and the Future of Bluetooth

• Adoption of BLE enables new technology arenaso Home Automationo Medical Deviceso Wearable Electronics

• New product branding

Page 15: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Outline

• What is Bluetooth?

• Licensing, Patents and Certification

• Bluetooth "Variants"

• Profiles

• The Bluetooth Protocol Stack

Page 16: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Profiles

Profile Examples

• Advanced Audio Distribution Profile (A2DP)o e.g. Bluetooth Headphones

• A/V Remote Control Profile (AVRCP)

• Basic Printing Profile (BPP)

• File Transfer Profile (FTP)

• Hands-Free Profile (HFP)

• Human Interface Device Profile (HID)o e.g. Bluetooth Keyboard

• Serial Port Profile (SPP)

Page 17: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Profiles

• Profiles reduce the risk of poor or partial interoperability between devices

• Endpoints can and usually do support multiple profiles

What's in a profile?

• Dependencies

• Suggested user interface

• Bluetooth protocols required

• Dependencies on other profiles

Page 18: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Profiles

Profile Examples

• Advanced Audio Distribution Profile (A2DP)o e.g. Bluetooth Headphones

• A/V Remote Control Profile (AVRCP)

• Basic Printing Profile (BPP)

• File Transfer Profile (FTP)

• Hands-Free Profile (HFP)

• Human Interface Device Profile (HID)o e.g. Bluetooth Keyboard

• Serial Port Profile (SPP)

Page 19: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Outline

• What is Bluetooth?

• Licensing, Patents and Certification

• Bluetooth "Variants"

• Profiles

• The Bluetooth Protocol Stack

Page 20: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

The Bluetooth Protocol Stack

Page 21: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Bluetooth Protocol Example

Page 22: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Radio Layer

Page 23: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Radio Layer

• Runs in unlicensed 2.4 GHz (ISM) band

• 79 frequency bands, separated by 1 MHz

• Transmit power classeso Class 1: 100mW, ~100m rangeo Class 2: 2.5mW, ~10m rangeo Class 3: 1mW, ~1m range

• Modulation: Gaussian frequency-shift keyingo Positive frequency offset -> 1o Negative frequency offset -> 0o 2.0 EDR adds phase-shift keying

Page 24: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Baseband Layer

Page 25: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Baseband Layer

• Master/slave setup

• Piconet: 1 master + up to 8 slaves

• Pseudorandom frequency hopping based on device address of master

• Time-division duplexing - 625µs slotso Master transmits in even-numbered slotso Slave transmits in odd-numbered slotso One packet transmitted in each slot

Page 26: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Baseband Layer

• Data is transmitted in packets

• Connections come in two types:o SCO (Synchronous Connection-Oriented)

Reserved bandwidth Master to single slave Typically carries voice data

o ACL (Asynchronous Connectionless) Uses slots not used for SCO links Master to all slaves in piconet Carries non-voice data (L2CAP) Only one ACL connection for the piconet

Page 27: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Baseband Layer

• Error Correctiono 1/3-rate FEC

Transmit each bit 3 times - majority winso 2/3-rate FEC

Error-correcting code turns 10 bits into 15o ARQ

Retransmit until acknowledgedo Type used depends on packet type - see spec

swedetrack.com/images/bluet08.htm

Page 28: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Link Manager Protocol (LMP)

Page 29: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Link Manager Protocol (LMP)

• Establishes, manages, and tears down links

• Functions include:o Pairingo Authenticationo Encryptiono Connection establishmento Device discovery

Page 30: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Host Controller Interface (HCI)

Page 31: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Host Controller Interface (HCI)

• Standard interface between Bluetooth chipsets and host devices

• Communication protocol to chipset

http://www.palowireless.com/infotooth/tutorial/hci.asp

Page 32: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Host Controller Interface (HCI)

• Chipset manages radio, baseband, LMP

• Exports commands such as:o Send ACL/SCO datao Create piconetso Encrypt a linko Get status information

• Allows reusing drivers and interchanging chipsets

Page 33: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Logical Link Control and Adaptation Protocol (L2CAP)

Page 34: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Logical Link Control and Adaptation Protocol (L2CAP)

• Provides abstracted data-carrying capability over ACL links

• Work around limitations of ACL

• Controllable reliabilityo Guaranteed delivery (using ARQ)o Best-effort delivery

• Important functions:o Multiplexingo Segmentation/reassemblyo Quality-of-Service

Page 35: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

RFCOMM Protocol

Page 36: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

RFCOMM Protocol

• Serial port emulation over L2CAP

• Carries data + flow control signals

• Can emulate multiple serial ports

Page 37: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Service Discovery Protocol (SDP)

Page 38: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Service Discovery Protocol (SDP)

• Ask devices what profiles they supporto Search for a specific profileo Get a list of all profiles

• Get necessary information for connection

Page 39: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Putting it All Together: SPP

Page 40: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Putting it All Together: SPP

• Connect with LMP

• Find info with SDP

• Start L2CAP

• Start RFCOMM

• Send data!

Page 41: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

Conclusion

• What is Bluetooth?

• Licensing, Patents and Certification

• Bluetooth "Variants"

• Profiles

• The Bluetooth Protocol Stack

Page 42: Bluetooth Justin Paupore (jpaupore) Russ Bielawski (jbielaws)

References

• http://www.bluetooth.com/

• http://www.bluetooth.org/

• http://ieee802.org/15/Bluetooth/

• http://www.palowireless.com/infotooth/

• http://www.radio-electronics.com/info/wireless/bluetooth/radio-interface-modulation.php

• http://www.eetimes.com/design/automotive-design/4009313/Testing-and-Qualifying-a-Bluetooth-Design

• www.hp.com/rnd/library/pdf/understandingBluetooth.pdf

• http://grouper.ieee.org/groups/802/15/Bluetooth/core_10_b.pdf

• https://support.apple.com/kb/HT3647