6 1 Bluetooth Architecture Overview NDSL Lab CSIE
6 -1. Bluetooth Architecture Overview NDSL Lab. CSIE, CGU -
Agenda • Who is Bluetooth? – History and Background • What does Bluetooth do for you? – Usage Model • What is Bluetooth? – Compliance, compatibility • What does Bluetooth do? – Technical points • Architectural Overview of Bluetooth NDSL Lab. CSIE, CGU - 2
Who is Bluetooth? • Harald Blaatand “Bluetooth” II • King of Denmark 940 -981 – Son of Gorm the Old (King of Denmark) and Thyra Danebod (daughter of King Ethelred of England) • This is one of two Runic stones erected in his capitol city of Jelling (central Jutland) • The stone’s inscription (“runes”) say: s Harald controlled Denmark and Norway s Harald thinks “notebooks” and “cellular phones” should seamlessly communicate NDSL Lab. CSIE, CGU - 3
Bluetooth Background • 1997. - Designed by Ericsson • 1998. 2 - Established the Special interest group (form SIG 1) Ericsson, Nokia, IBM, Toshiba, Intel • 1998. 5 - Bluetooth Consortium is established formally. • 1999. 7 - Bluetooth v 1. 0 beta Core Specification and Foundation Profile • 1999. 12 - Lucent、3 Com、Motorola、Microsoft (form SIG 2) • 2001. 2 - Bluetooth v 1. 1 • 2002 – IEEE 802. 15 WPAN IEEE 802. 15. 1 Wireless Personal Area Networks (Bluetooth) n IEEE 802. 15. 2 Coexistence n IEEE 802. 15. 3 WPAN Higher Rate n IEEE 802. 15. 4 WPAN Low Rate n NDSL Lab. CSIE, CGU - 4
Bluetooth Background NDSL Lab. CSIE, CGU - 5
What does Bluetooth do for you? ¨ three major applications Landline Cable Replacement Data/Voice Access Points (internet access) most important in voice applications Personal Ad-hoc Networks NDSL Lab. CSIE, CGU - 6
Usage Model (Ultimate Headset) NDSL Lab. CSIE, CGU - 7
Usage Model (Ultimate Headset) • Keep your hands free for – Car – Office – Road NDSL Lab. CSIE, CGU - 8
Usage Model (Automatic Synchronizer) • Background Synchronization – PDA – Cellular Phone – Notebook NDSL Lab. CSIE, CGU - 9
Usage Model (Three in One Phone) • Intercom (Walki Talki) • Cordless • Cellular NDSL Lab. CSIE, CGU - 10
Usage Model (Three in One Phone) • Office (No telephone charge) • Home (Fixed line charge) • Outdoor (Mobile phone charge) NDSL Lab. CSIE, CGU - 11
Usage Model (Remote Control &Transmission) NDSL Lab. CSIE, CGU - 12
Usage Model (Conference Scenario) • Conference Table – Share and exchange data NDSL Lab. CSIE, CGU - 13
Usage Model (killer application) NDSL Lab. CSIE, CGU - 14
Key Characteristics • Low cost – Market consideration • Low power consumption – Portable device consideration – Short Range • Unlicensed Used – ISM band used • Robust operation – Fast frequency hopping – Short packet length • Multiple links • Mixed voice and data • Sized 0. 5 squire inches NDSL Lab. CSIE, CGU - 15
Mobile = Battery life • Low power consumption* – – – Standby current < 0. 3 m. A Þ 3 months Voice mode 8 -30 m. A Þ 75 hours Data mode average 5 m. A (0. 3 -30 m. A, 20 kbit/s, 25%) Þ 120 hours • Low Power Architecture – – Programmable data length (else radio sleeps) Hold and Park modes 60 µA (rough) » Devices connected but not participating » Hold retains AMA address, Park releases AMA, gets PMA address » Device can participate within 2 ms NDSL Lab. CSIE, CGU - 16
Bluetooth Specifications Applications RFCOMM Data Audio L 2 CAP Link Manager Baseband RF Con SDP trol IP Applications Firmware Bluetooth chip (Single chip with RS-232, USB or PC card interface) NDSL Lab. CSIE, CGU - 17
Bluetooth Certifications Application Framework Certification Applications RFCOMM Data Audio L 2 CAP Link Manager Con SDP trol IP HCI: Host Controller Interface Baseband RF Basic Layer Certification NDSL Lab. CSIE, CGU - 18
Host Control Interface (HCI) (1/3) Program Profile Spec Audio L 2 CAP Host HCI (Host control Interface) Audio LMP Bluetooth chip Baseband RF NDSL Lab. CSIE, CGU - 19
Bluetooth Host HCI (2/3) Host Drives and Applications Bluetooth HCI driver Bluetooth HCI Transport driver (USB, PC Card, PCI) HCI : Host Controller Interface provides a common interface between the bluetooth host and the bluetooth module. Transport Bus HCI Transport Firmware Bluetooth Host Controller Link Manager Bluetooth Baseband Bluetooth Radio Bluetooth Module NDSL Lab. CSIE, CGU - 20
HCI (3/3) – All HCI transactions are framed in packets: – Commands – Event – Data (ACL) – Data (SCO) NDSL Lab. CSIE, CGU - 21
Bluetooth Products • Blue-Dongle • Blue-Connect • Blue. Port • Bluetooth printer • Bluetooth Modem • Etc. , NDSL Lab. CSIE, CGU - 22
BT Trend (1/2) • 2 chips solution – RF transceiver – Baseband BB chip • integrated single chip (BB+RF) solution will be provided • Chip design house co-work with software design company to provide total solution of bluetooth technology NDSL Lab. CSIE, CGU - 23
BT Trend (2/2) Cost $30 BB RF 2 -chip Headset Version $10 BB+RF Full Bluetooth Performance 2000 Single-chip Data Only Version 2001 $4 Host+BB+RF Single-chip 2003 ? Soft. modem Host+RF Year NDSL Lab. CSIE, CGU - 24
Bluetooth Module • CPU core : ARM, 8051, MIPS, etc. , HOST RF Transceiver NDSL Lab. CSIE, CGU - 25
Bluetooth Module • Software modem is possible nowaday HOST NDSL Lab. CSIE, CGU - 26
RF Transceiver NDSL Lab. CSIE, CGU - 27
Bluetooth Specifications • 2. 4 GHz ISM Unlicensed band • Microwave ovens also use this band • Frequency Hopping Spread Spectrum – – – Avoid interference 23/79 channels 1 MHz per channel 1 Mbps link rate (GFSK modulation) Fast frequency hopping and short data packets avoids interference » Nominally hops at 1600 times a second (vs. 2. 5 hops/sec in IEEE 802. 11) » 625 us per hop (366 us for data only) » 3200 times a second during inquiry and paging modes • Multiple uncoordinated networks may exist and cause interference – CVSD (Continuous Variable Slope Delta Modulation) voice coding (FEC) enables operation at high bit error rates NDSL Lab. CSIE, CGU - 28
ISM Unlicensed Band • 79 channels in 2. 4 GHz (in USA and most Europe) Guard band Licensed band Guard band 2. 402 -2. 480 GHz 79 hopping channels 2. 402 GHz Licensed band 2. 483 ISM unlicensed band NDSL Lab. CSIE, CGU - 29
Frequency Range • 2. 4 GHz ISM Frequency Range 1 MHz . . . 79 12 3 83. 5 MHz NDSL Lab. CSIE, CGU - 30
Transmit Power • transmit power and range Ø 0 dbm (up to 20 dbm with power control) Ø 10 -100 m Power Class 1 2 3 Ø Max Output Min Output 100 m. W (20 d. Bm) 2. 5 m. W (4 d. Bm) 1 m. W (0 d. B) 0. 25 m. W (-6 d. Bm) N/A Power Control -4 db/time Max twice Optional Power 1 m. W (class 3) • 3% power of cellular phone • 10 meters of transmission distance or 100 m by PA Ø Power 100 m. W(class 1) • 100 meters of transmission distance NDSL Lab. CSIE, CGU - 31
Frequency Hopping 78 Frequency 0 Time NDSL Lab. CSIE, CGU - 32
FHSS Data Source Transmitter Receiver d(t) Digital Modulator Hopping Code Generator Front-end Filter Local hopping code generator + Frequency synthesizer + Data Detector ^ d(t) Frequency synthesizer NDSL Lab. CSIE, CGU - 33
Modulation and Symbol Rate • Symbol Rate : 1 M symbols/sec (1 MHz) • GFSK (Gaussian Frequency Shift Keying) – Binary One (1) : Positive frequency deviation – Binary Zero (0) : Negative frequency deviation • Maximum frequency deviation – Between 140 k. Hz and 175 k. Hz Magnitude fo- f fo fo+ f frequency NDSL Lab. CSIE, CGU - 34
Adaptive Frequency Hopping • When no interference is detected, hop over the entire frequency band • If interference is detected at a level which cause packet error – Actively avoid these frequency hop locations. – This technique is currently legal for Class 3 Bluetooth units. – Hop locations must be maintained NDSL Lab. CSIE, CGU - 35
Interference Simulations – 1 Bluetooth piconet + 1 WLAN unit – PER (Packet Error Rate) without adaptation =11% – PER with adaptation = 0% – 5 Bluetooth piconets separated by 5 meters + 1 WLAN unit – PER without adaptation =15% – PER with adaptation = 8. 4% NDSL Lab. CSIE, CGU - 36
Radio 2 WG • Radio 2 WG mandated to be backward compatible and interoperable with Radio 1 – 5. 8 G ISM band – is optional extensions for providing additional capabilities for applications – Higher data rates: • • Multimedia (streaming audio/video) High speed image transfer High speed transfer of large files to (e. g. ) printers Data rate alignment with 2. 5/3 G cellar networks – 10 M-12 Mbps goal NDSL Lab. CSIE, CGU - 37
Network Topology • Radio Designation – Connected radios can be master or slave – Radios are symmetric (same radio can be master or slave) • Piconet – Master can connect to 7 simultaneous or 200+ active slaves per piconet – Each piconet has maximum capacity (1 Msps and 1 Mbps) » Unique hopping pattern/ID • Scatternet – High capacity system » Minimal impact with up to 10 piconets within range – Radios can share piconets! NDSL Lab. CSIE, CGU - 38
Piconet vs. Scatternet • A scatternet contains two piconets Piconet Scatternet Slave Master Piconet Slave NDSL Lab. CSIE, CGU - 39
Piconet and Scatternet point-to-point (piconet) multi-point (piconet) scatternet Master host Slave host NDSL Lab. CSIE, CGU - 40
Device Addressing (1/2) • Every Bluetooth device has unique 48 -bit Bluetooth Device Address (BD_ADDR) (BD_ADDR which is assigned by SIG • The BD_ADDR is used to control the system functions : – Hopping sequence – Channel access code – Encryption key • The BD_ADDR contains 3 parts: – 24 -bit Lower Address Part (LAP) » Used to identify unique BT device (reduce overhead) – 8 -bit Upper Address Part (UAP) » Used to determine the hopping sequence – 16 -bit Non-significant Address Part (NAP) BD_ADDR 16 8 24 NAP UAP LAP bits NDSL Lab. CSIE, CGU - 41
Device Addressing (2/2) • AM_ADDR (Active Member Address) – – – Each slave is assigned a 3 -bit address 7 slaves in a piconet is available 000 : for broadcasting packets (I. e. master address) » An exception is FHS (Frequency Hopping Synchronization) packet which may use “ 000” address but is not a broadcast message – Slaves that are disconnected or parked give up their AM_ADDRs • PM_ADDR (Parked Member Address) – Slaves that enter the park mode will obtain a 8 -bit PM_ADDR – At most 256 slaves are in park mode in a piconet NDSL Lab. CSIE, CGU - 42
Clock Synchronization • CLKN (Native Clock) – Exist in each bluetooth device – The counter can not be frozen and adjusted – Clock resolution : 312. 5 us (half slot time : used for paging/inquiry procedures) – slave follows its master CLKN to hop in a piconet » Master need inform the slave its CLKN and BD_ADDR » Slave adds offset into its CLKN to synchronize with master Slave Native CLK + Master clock BD_ADDR same hopping sequence 3, 56, 7, 23, 44, … offset Master BD_ADDR NDSL Lab. CSIE, CGU - 43
Clock Synchronization • CLKE (Estimated Clock) – Is used when master pages a known slave device (has been inquired) – Master uses the slave’s BD_ADDR to estimate the slave’s CLKN Slave CLKE paging + Slave clock BD_ADDR estimated slave’s hopping sequence 3, 56, 7, 23, 44, … Slave BD_ADDR NDSL Lab. CSIE, CGU - 44
The Piconet • All devices in a piconet hop together – In forming a piconet, master gives slaves its clock and device ID (BD_ADDR) via FHS packet » Hopping pattern determined by device ID (48 -bit) » Phase in hopping pattern determined by Clock • Non-piconet devices are in standby • Piconet Addressing – Active Member Address (AMA, 3 -bits) – Parked Member Address (PMA, 8 -bits) or NDSL Lab. CSIE, CGU - 45
Basic Baseband Protocol (1. 25 ms) • Spread spectrum frequency hopping radio – Hops every packet » Packets are 1, 3 or 5 slots long – Frame consists of two packets » Transmit followed by receive – Nominally hops at 1600 times a second (1 slot packets) NDSL Lab. CSIE, CGU - 46
Time Division Duplex (TDD) • Master : even numbered slots • Slave : odd numbered slots • The Slot Number ranges from 0 - 227 -1. f(2 k) f(2 k+1) f(2 k+2) Master +/-10 s 220 s Slave guard time even (625 s) Access code/Header Packet odd (625 s) Payload even time slot guard time for hopping NDSL Lab. CSIE, CGU - 47
Multi-slot Packets • Different packet overhead will result in different throughput – DH 1 : 172. 8 Kbps in Sym. and Asyn. modes – DH 3 : 390. 4 Kbps in Sym. mode; 387. 2 and 54. 4 Kbps in Asyn. Mode – DH 5 : 433. 9 Kbps in Sym. mode; 721 and 57. 6 Kbps in Aysn. » DH : without FEC 1 -slot Packet (DH 1) f(2 k+1) f(2 k+2) f(2 k+3) f(2 k+4) 3 -slot Packet (DH 3) f(2 k+1) f(2 k+2) f(2 k+3) f(2 k+4) 5 -slot Packet (DH 5) f(2 k+1) f(2 k+2) f(2 k+3) f(2 k+4) even (625 s) odd (625 s) NDSL Lab. CSIE, CGU - 48
Connection Procedure (1/3) • Standby – Waiting to join a piconet • Inquire – Ask about radios to connect to • Page – Connect to a specific radio • Connected – Actively on a piconet (master or slave) • Park/Sniff/Hold – Low Power connected states NDSL Lab. CSIE, CGU - 49
Connection Procedure (2/3) ID packet FHS packet ID : GIAC/DIAC FHS : slave’s BD_ADDR, CLKN, Class of Devise(Co. D), Page Scan Interval ID : DIAC ID packet FHS packet Data packet FHS : master’s BD_ADDR, CLKN, Co. D, BCH parity, AMA NDSL Lab. CSIE, CGU - 50
ID Packet • Access Code 34 bits 24 bits BCH Parity Word LAP 24 bits 6 bits Barker Sequence • During a connection – identifies the packet as being from or to a specific Master • Other modes – in inquiry to produce the Inquiry Access Code (IAC) NDSL Lab. CSIE, CGU - 51
FHS Packet Format • Used when 1. Master inquiries device during inquiry procedure, return from Slave 2. Master pages a Slave during page procedure, sent from Master 3. A device switches as Master NDSL Lab. CSIE, CGU - 52
Connection Procedure (3/3) NDSL Lab. CSIE, CGU - 53
Page and Inquire Scans • A radio must be enabled to accept pages or inquires – Consumes 18 slots every 1. 25 s (or so) for each scan Ø slot is 0. 625 ms NDSL Lab. CSIE, CGU - 54
Page and Inquire Scans • Inquiry scan: – 32 channels (of 79 channels) are assigned for inquiry procedure – 32 channels are divided as 2 trains (Trains A and B), each one contains 16 channels. • Page scan: – 32 channels (of 79 channels) are assigned for page procedure – 32 channels are divided as 2 trains (Trains A and B), each one contains 16 adjacent channels. – Train A : f(k-8), f(k-7), … f(k), f(k+1), … , f(k+7) – Train B : f(k-16), f(k-15), … f(k-9), f(k+8), … , f(k+15) • 3200 hop/sec • Broadcast ID packet (with specified GIAC or DIAC) NDSL Lab. CSIE, CGU - 55
Inquiring for Radios • Radio wants to find other radios in the area NDSL Lab. CSIE, CGU - 56
Inquiring for Radios Inquire • Radio Wants to find other radios in the area – Radio A issues an Inquire (pages with the Inquire ID) » Radios B, C and D are doing an Inquire Scan NDSL Lab. CSIE, CGU - 57
Inquiring for Radios • Radio Wants to find other radios in the area – Radio A issues an Inquire (pages with the Inquire ID) » Radios B, C and D are doing a Inquire Scan – Radio B recognizes Inquire and responds with an FHS packet » Has slave’s Device ID and Clock NDSL Lab. CSIE, CGU - 58
Inquiring for Radios Inquire • Radio Wants to find other radios in the area – Radio A issues an Inquire (pages with the Inquire ID) » Radios B, C and D are doing a Inquire Scan – Radio B recognizes Inquire and responds with an FHS packet » Has slave’s Device ID and Clock NDSL Lab. CSIE, CGU - 59
Inquiring for Radios • Radio Wants to find other radios in the area – Radio A Issues an Inquire (again) – Radios C and D respond with FHS packets » As radios C & D respond simultaneously packets are corrupted and Radio A won’t respond » Each radio waits a random number of slots and listens NDSL Lab. CSIE, CGU - 60
Inquiring for Radios Inquire • Radio Wants to find other radios in the area – Radio A Issues an Inquire (again) NDSL Lab. CSIE, CGU - 61
Inquiring for Radios • Radio Wants to find other radios in the area – Radio A Issues an Inquire (again) – Radios C respond with FHS packets NDSL Lab. CSIE, CGU - 62
Inquiring for Radios Inquire • Radio Wants to find other radios in the area – Radio A Issues an Inquire (again) NDSL Lab. CSIE, CGU - 63
Inquiring for Radios • Radio Wants to find other radios in the area – Radio A Issues an Inquire (again) – Radios D respond with FHS packets NDSL Lab. CSIE, CGU - 64
Inquiring for Radios • Radio Wants to find other radios in the area – Radio A Issues an Inquire (again) – Radios D respond with FHS packets – Radio A now has information of all radios within range NDSL Lab. CSIE, CGU - 65
Inquiry Procedure fk fk+1 fk+4 INQUIRER fk+1 STANDBY FHS 625 s • Inquiry has unique device address (all BT radio use) – ID packet with dedicated or general access code – Unique set of “Inquiry” hop frequencies • Any device can inquire by paging the Inquiry address • Correlater hit causes slave to respond with FHS packet – Device ID – Clock – Etc. NDSL Lab. CSIE, CGU - 66
Inquiry Procedure 1. 25 ms Fully scan Train A: 16*0. 625 ms=10 ms (1) Train A will be scanned 256 times: 2. 56 s (2) Train B will be scanned 256 times: 2. 56 s Repeat scan Trains A and B two complete cycles: 2*(2. 56+2. 56)=10. 24 s 2 slots 1 2 3 15 16 repeat 256 times INQUIRER train A A A B A A A 10 ms 16 slots = 10 ms STANDBY scan fk A sleep RAND 1 fk fk+1 A A fk+1 sleep RAND 2 fk+2 A FHS Listen 11. 25 ms (18 slots) • 32 channels are allocated as inquiry procedure – They are divided as two trains : A Train and B Train (16 channels for each) • Multiple slaves are expected to respond – Correlater hit causes slave to » respond with FHS packet » Wait a random number of slots » Wait for another Inquiry page and repeat • Master should end up with a list of slave FHS packets in area NDSL Lab. CSIE, CGU - 67
Inquire Summary • Inquiring radio Issues inquiry packet with Inquire ID (GIAC or DIAC access code) • Any radio doing an Inquire scan will respond with an FHS packet – FHS packet gives Inquiring radio information to page » Device ID » Clock – If there is a collision then radios wait a random number of slots before responding to the page inquire • After process is done, Inquiring radio has Device IDs and Clocks of all radios in range • Slave listens one of 16 channels for sufficient time (e. g. , 18 slots=11. 25 ms) NDSL Lab. CSIE, CGU - 68
Master Paging a Slave • Paging assumes master has slaves Device ID and an idea of its Clock NDSL Lab. CSIE, CGU - 69
Master Paging a Slave Page • Paging assumes master has slaves Device ID and an idea of its Clock – A pages C with C’s Device ID and CLKE NDSL Lab. CSIE, CGU - 70
Master Paging a Slave • Paging assumes master has slaves Device ID and an idea of its Clock – A pages C with C’s Device ID (DAC) – C Replies to A with C’s Device ID NDSL Lab. CSIE, CGU - 71
Master Paging a Slave • Paging assumes master has slaves Device ID and an idea of its Clock – A pages C with C’s Device ID – C Replies to A with C’s Device ID – A sends C its Device ID and Clock (FHS packet) NDSL Lab. CSIE, CGU - 72
Master Paging a Slave • Paging assumes master has slaves Device ID and an idea of its Clock – – A pages C with C’s Device ID C Replies to A with C’s Device ID A sends C its Device ID and Clock (FHS packet) A connects as a master to C NDSL Lab. CSIE, CGU - 73
Master Paging a slave fk fk+1 fk+2 fm FHS Master fk+1 Slave 625 s • Master pages slave (packet has slave ID) at slave page frequency (1 of 32) – Master sends page train of 16 most likely frequencies in slave hop set » Slave ID sent twice a transmit slot on slave page frequency » Master listens twice at receive slot for a response – If misses, master sends second train on remaining 16 frequencies • Slave listens for 11. 25 ms (page scan) – If correlater triggers, slave wakes-up and relays packet at response frequency – Master responds with FHS packet (provides master’s Device ID and Clock) – Slave joins piconet NDSL Lab. CSIE, CGU - 74
Paging Procedure 1. 25 ms FHS Pager train A A B B 10 ms Paged CONNECTION scan fk B Sleep (1. 25 s) fk+1 B 11. 25 ms • Each slave page scans on unique sequence of 32 channels fk – Master pages 16 most likely channels for entire sleep period (nominally 1. 25 seconds) • If clocks are off, then second train sent on last 16 frequencies for entire sleep period NDSL Lab. CSIE, CGU - 75
Physical Link Definition • SYNCHRONOUS CONNECTIONORIENTED (SCO) LINK • • • circuit switching symmetric, synchronous services slot reservation at fixed intervals For voice transmission Point-to-point connection No packet retransmission • ASYNCHRONOUS CONNECTIONLESS (ACL) LINK • • • packet switching (a)symmetric, asynchronous services polling access scheme For data transmission (ex: program) Point-to-multipoint connection Packet retransmission NDSL Lab. CSIE, CGU - 76
Physical Link HV 3 : 6 slots gap NDSL Lab. CSIE, CGU - 77
Packet Types/Data Rates Packet Types SEGMENT 1 2 3 4 TYPE 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 SCO link ACL link NULL POLL FHS DM 1 108. 8 DH 1 172. 8 DH 1 DM 3 258. 1 387. 2 54. 4 DH 3 390. 4 585. 6 86. 4 DM 5 286. 7 477. 8 36. 3 DH 5 432. 6 721. 0 57. 6 HV 1 HV 2 HV 3 DV Data Rates (Kbps) TYPE symmetric asymmetric AUX 1 DM 3 DH 3 DM 5 DH 5 NDSL Lab. CSIE, CGU - 78
Bluetooth Protocols Still Image WAE v. Card/v. Cal WAP OBEX HID Service Discovery TCP/UDP Audio Printing RFCOMM IP TCS L 2 CAP Host Controller Interface NDSL Lab. CSIE, CGU - 79
THANK YOU Q&A NDSL Lab. CSIE, CGU -
- Slides: 80