Bluetooth Harrison Dempsey, Prateek Jain, Jeremy Maurice, Oliver Miles
Outline: What we’re going to tell you I. Brief overview of wireless technologies II. What is Bluetooth? Why do we use it? III. Specification overview - radio band, range, and power IV. Bluetooth Profiles V. Data transfer - Packets and Frequency Hopping VI. Networks - Pairing and Piconets https://nksoldes2015.com/explore/notepad-clipart/ 2
Why do we communicate wirelessly? In general... Advantages More convenient than wires ● ● Sometimes the only option (Ex. long range, mobile devices) Disadvantages ● Slower (latency, bandwidth) ● Power consumption/battery life 3
Here are a few of our options. Low power, low bandwidth ● ○ ZigBee ○ BLE (Bluetooth Low Energy) Moderate power, moderate bandwidth ● Bluetooth ○ ● High power, high bandwidth ○ WiFi WiMax/RF ○ Each option has its strengths and weaknesses… let’s look at Bluetooth. 4
Background Harald “Bluetooth” Gormsson ● ○ King who united Denmark in the 10th century ● Bluetooth Special Interest Group (1994) Ericsson, Nokia, IBM, Toshiba, Intel, and more ○ ○ Wanted to create a unified standard to exchange data over short distances ○ Initial goal Replace wires ■ ■ “Unite devices” http://daniel-mccloskey.deviantart.com/art/Harald-Bluetooth-644300366 5
What is Bluetooth? Convenient connections ● between devices - “piconet” ● Ubiquitous Common uses ● ○ Device control ○ File transfer https://vestavialibrary.org/bluetooth-upgrade-more-speed-greater-range/ 6
In general, Bluetooth finds a useful middle ground: Advantages Disadvantages ● Data transfer bit rate is high enough ● Security to perform complex activities Blueborne - BT stack vulnerabilities ○ ○ Ex. streaming/transmitting allowed for devices to be compromised audio with relatively low without being paired latency ● Interference ● Simple pairing process 2.4 GHz ○ ● Commonplace, cheap, standardized ○ Bluetooth Profiles ● Moderate power consumption, range 7
Why do we use Bluetooth? (https://learn.sparkfun.com/tutorials/bluetooth-basics/wireless-comparison) 8
Specification Uses the 2.4 Ghz Industrial, Scientific, and Medical (ISM) radio band ● ○ Goes from 2.402 Ghz to 2.48 Ghz 79 one Mhz channels ○ ● 1600 ‘hops’ per second - 625 μsec per hop ○ ~200 μsec used for synchronization Time Domain Duplex ● ○ Every other hop is assigned to either the master or slave transmission Uses frequency hopping to mitigate interference ● ○ Changes frequency for each hop 9
Range and Power of Bluetooth Devices Class 1 - Laptops / Desktops / Industrial Applications ● ○ 100mW Transmit Power Limit Typical range: ~100 m ○ ○ Generally requires power isolation to prevent interference Class 2 - Phones / Headsets ● ○ 2.5mW Transmit Power Limit ○ Typical range: ~10 m Class 3 - Extremely low power devices ● ○ 1mW Transmit Power Limit Typical Range: ~1 m ○ 10
Bluetooth Profiles What is a Bluetooth profile? ● A specification for a type of Bluetooth device defined by Bluetooth SIG ○ Defines how the device uses the Bluetooth protocol- which parts of the stack are used? ○ Ex. Is the device an audio device? Input device? ○ A device can support multiple profiles ● Different profiles for different types of data Why are Bluetooth profiles important? Devices are compatible if they support the same profiles ● ○ Standardized implementation- a device is guaranteed compatibility with other devices of the same profile. 11
Commonly Used Bluetooth Profiles and Examples ● Audio ● Device Communication ○ Serial Port Profile ○ Hands-Free Profile and Headset Profile ■ Communication between Arduino devices ■ Hands-free calling ■ Earpieces ○ Human Interface Device ○ A/V Remote Control Profile ■ Keyboards, mice, game controllers ■ Car Audio System ○ Advanced Audio Distribution Profile ■ Headphones, Microphones 12
Example: Bluetooth Profiles in Google Nexus/Pixel phones https://support.google.com/nexus/answer/6048862?hl=en 13
Packet Timing Time Division Duplex (TDD) ● ○ Master and slave alternate transmitting and receiving ○ Master transmits during even-numbered slots ○ Slave transmits during odd-numbered slots http://sna.csie.ndhu.edu.tw/~cnyang/PDF/bt_tut.pdf 14
Packet Structure Access Code used for ● packet identification ● Header contains device address, type of transmission, etc. Payload contains data ● transmission http://www.ques10.com/p/2706/explain-the-frame-format-in-bluetooth-technology-1/ 15
Packets Packets can be 1, 3, ● or 5 “hops” long ● Analogous to the “burst” feature of the AHB http://sna.csie.ndhu.edu.tw/~cnyang/PDF/bt_tut.pdf 16
Frequency Hopping The transmitter and the receiver communicate on changing frequency ● bands ○ 79 frequency bands to choose from Master device dictates a changing frequency pattern that slave devices ● follow ● Designed this way to avoid interference with other devices on the ISM spectrum Makes data transfer harder to be intercepted ● 17
Frequency Hopping 18 https://www.youtube.com/watch?v=CkhA7s5GIGc
The Stack ● Multiple protocols work together for Bluetooth to work ● The radio Receive/transmit signals ○ ● Baseband Error catching ○ ○ Physical linking to all layers ● Link Manager Protocol Controls linking between ○ devices with pairing Logical Link Control and ● Adaptation Protocol (L2CAP) https://www.engineersgarage.com/articles/bluetooth-protocol-basics-working ○ Interface with host controller 19
Pairing Devices make themselves discoverable ● Identify themselves and their services via ○ profiles Can only pair with devices supporting the same ● profile Bond for security and to enable reestablishing a ● connection without user input Once connection is established and unique ● passkeys are exchanged, devices can share data Convenient replacement for wires, little user ● config needed 20 http://manuals.denon.com/WMS/DSB-200/EM/ENG/BONDSYaaimogad.html
Pairing Difficulties Time ● ○ Pairing is slow Older bluetooth devices can take up to 10s to pair! ● Newer versions can take up to 5s ● ● Can often edit announcement interval at cost of increased power ○ Increase effective phone battery by broadcasting less frequently ○ Could be broadcasting as frequently as every 6ms or as slow as once every 5s ○ Can manage in software and disable checking until required by user 21
Piconets ● Small local point to point networks ● Each Bluetooth piconet can have 7 active devices ○ 6 slaves and 1 master ○ More devices can be connected in either parked or hold mode and remain synchronized ● One master per piconet but can function as a slave in another piconet ○ Forms scatter net ○ Time division multiplexed between piconets http://sna.csie.ndhu.edu.tw/~cnyang/PDF/bt_tut.pdf 22
Summary: What we have told you I. Brief overview of wireless technologies ○ Wireless is convenient but has higher power consumption and is slower II. What is Bluetooth? Why do we use it? ○ Standardized, cheap middle ground III. Specification overview - radio band, range, and power ○ Moderate range, low-moderate power consumption IV. Bluetooth Profiles ○ Profiles guarantee compatibility, different profiles for different types of data V. Data transfer - Packets and Frequency Hopping ○ Frequency hop to avoid interference VI. Networks - Pairing and Piconets Up to 7 device to device connections ○ 23
References ● http://sna.csie.ndhu.edu.tw/~cnyang/PDF/bt_tut.pdf ● https://www.youtube.com/watch?v=sCMDIjbKLb0&t=2s ● http://large.stanford.edu/courses/2012/ph250/roth1/ https://www.youtube.com/watch?v=CkhA7s5GIGc ● ● https://learn.sparkfun.com/tutorials/bluetooth-basics/how-bluetooth-works ● http://www.ques10.com/p/2706/explain-the-frame-format-in-bluetooth-technology-1/ ● https://www.electronics-notes.com/articles/radio/pll-phase-locked-loop/tutorial-primer-basics.php https://www.link-labs.com/blog/types-of-wireless-technology ● ● https://go.armis.com/hubfs/BlueBorne%20Technical%20White%20Paper.pdf ● https://www.radio-electronics.com/info/wireless/bluetooth/networks-networking-connections-pairing.php 24
Questions? 25
Header Structure http://www.ques10.com/p/2706/explain-the-frame-format-in-bluetooth-technology-1/ AM_ADDR is the temporary address for active members of the piconet ● ● TYPE tells the type of data transmission ● FLOW/ARQN are for flow and acknowledgement ● SEQN is the sequence number for packet ordering HEC is an error check, packet is discarded if an error is found ● 26
Recommend
More recommend