Introduction to Bluetooth Wireless Technology Jon Inouye Staff Software Engineer Mobile Platforms Group Intel Corporation Bluetooth Bluetooth is is a a trademark trademark owned owned by by Bluetooth Bluetooth SIG SIG Inc. Inc. USA USA IEEE Oregon Section Bluetooth Seminar April 27, 2001 1
Radio Technology Cellular Licensed spectrum Voice driven Data services emerging E.g., 3G, GPRS, WAP* Wireless LAN Proliferation occurring E.g., IEEE 802.11b Wireless PAN Relative newcomer E.g., Bluetooth*, 802.15 WWAN Km WLAN 100 m text text WPAN 10 m *Third-party marks and brands are the property of their respective owners. IEEE Oregon Section Bluetooth Seminar April 27, 2001 2
WHAT IS BLUETOOTH? Applications TCP/IP HID RFCOMM Data L2CAP Audio Link Manager Baseband RF Control a hardware description an application framework IEEE Oregon Section Bluetooth Seminar April 27, 2001 3
OUTLINE Radio Baseband Connection Management Channel Operation Piconet Management Software Stack Profiles IEEE Oregon Section Bluetooth Seminar April 27, 2001 4
RADIO IEEE Oregon Section Bluetooth Seminar April 27, 2001 5
RADIO PARAMETERS (1) Frequency hopping ISM band at 2.45 GHz 2402 + k MHz, k = 0,, 78 device-specific hopping sequence nominal rate 1600 hops/s Modulation binary FSK Gaussian shaping BT = 0.5; 0.28 < h < 0.35-20dB bandwidth of 1 MHz IEEE Oregon Section Bluetooth Seminar April 27, 2001 6
RADIO PARAMETERS (2) Transmit power nominal 0 dbm up to 20 dbm provided power control Receiver sensitivity -70 dbm @ 0.1% BER IEEE Oregon Section Bluetooth Seminar April 27, 2001 7
BASEBAND OPERATIONS DISCOVERY AND CONNECTION ESTABLISHMENT IEEE Oregon Section Bluetooth Seminar April 27, 2001 8
INQUIRY Radio wanting to discover other radios Repetitively probe first set of 16 frequencies Probes two frequencies every 625 microseconds Repeat at least 256 times Repetitively probe second set of 16 frequencies Repeat entire cycle at least two times Radio wanting to be discovered Listen to one of 32 frequencies for at least 11.25 ms Sleep no longer than 2.56 seconds Wake up and listen to another frequency Repeat cycle IEEE Oregon Section Bluetooth Seminar April 27, 2001 9
INQUIRY OPERATION A IEEE Oregon Section Bluetooth Seminar April 27, 2001 10
CREATING A PICONET A page B IEEE Oregon Section Bluetooth Seminar April 27, 2001 11
CREATING A PICONET master A connected slave B IEEE Oregon Section Bluetooth Seminar April 27, 2001 12
CREATING A PICONET slave C slave D master A slave B IEEE Oregon Section Bluetooth Seminar April 27, 2001 13
OPERATIONAL STATES master active slave parked slave standby IEEE Oregon Section Bluetooth Seminar April 27, 2001 14
ADDRESSING Bluetooth Device Address (BD_ADDR) 48-bit IEEE 802 address 24-bit lower address part (LAP) 8-bit upper address part (UAP) Active Member Address (AM_ADDR) 3-bit active slave address all-zero broadcast address Parked Member Address (PM_ADDR) 8-bit parked slave address IEEE Oregon Section Bluetooth Seminar April 27, 2001 15
BASEBAND OPERATIONS PICONET CHANNEL IEEE Oregon Section Bluetooth Seminar April 27, 2001 16
FH/TDD CHANNEL f(2k) f(2k+1) f(2k+2) master t slave t 625 ms IEEE Oregon Section Bluetooth Seminar April 27, 2001 17
FREQUENCY HOPPING 2.402 2.480 freq master slave time IEEE Oregon Section Bluetooth Seminar April 27, 2001 18
PHYSICAL CHANNEL master BD_ADDR fi hop sequence master CLOCK fi phase slave 1 slave 2 master slave 3 slave 4 IEEE Oregon Section Bluetooth Seminar April 27, 2001 19
HOP SELECTION NATIVE CLK phase sequence HOP offset MASTER BD_ADDR IEEE Oregon Section Bluetooth Seminar April 27, 2001 20
PACKET FORMAT 72b 54b 0-2745b access code packet header payload IEEE Oregon Section Bluetooth Seminar April 27, 2001 21
ACCESS CODE 34 24 6 PRT LAP BRK 4 64 4 PREAMBLE SYNC WORD TRAILER LSB MSB IEEE Oregon Section Bluetooth Seminar April 27, 2001 22
ACCESS CODE TYPES Device access code (DAC) unit identifier derived from unit LAP Channel access code (CAC) channel identifier derived from master LAP Inquiry access code (IAC) reserved identifier derived from reserved address IEEE Oregon Section Bluetooth Seminar April 27, 2001 23
PACKET HEADER 3 4 1 1 1 8 AM_ADDR TYPE FLOW ARQN SEQN HEC parameter AM_ADDR TYPE FLOW ARQN SEQN HEC information slave active member address payload type LC flow control ACK/NAK retransmit ordering header error check IEEE Oregon Section Bluetooth Seminar April 27, 2001 24
PHYSICAL LINK DEFINITION Purpose: MULTI-MEDIA SUPPORT Mixing: circuit switching packet switching IEEE Oregon Section Bluetooth Seminar April 27, 2001 25
PHYSICAL LINK TYPES Synchronous Connection-Oriented (SCO) Link circuit switching symmetric, synchronous services slot reservation at fixed intervals Asynchronous Connection-Less (ACL) Link packet switching (a)symmetric, asynchronous services polling access scheme IEEE Oregon Section Bluetooth Seminar April 27, 2001 26
MIXED LINK EXAMPLE MASTER SCO ACL SCO ACL ACL SCO SCO ACL SLAVE 1 SLAVE 2 SLAVE 3 IEEE Oregon Section Bluetooth Seminar April 27, 2001 27
PACKET TYPES segment type SCO link ACL link 1 2 3 4 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 NULL POLL FHS DM1 HV1 HV2 HV3 DV NULL POLL FHS DM1 DH1 AUX1 DM3 DH3 DM5 DH5 IEEE Oregon Section Bluetooth Seminar April 27, 2001 28
MULTI-SLOT PACKETS 625 ms f(k) f(k+1) f(k+2) f(k+3) f(k+4) f(k+5) f(k) f(k+3) f(k+4) f(k+5) f(k) f(k+5) IEEE Oregon Section Bluetooth Seminar April 27, 2001 29
DATA RATES (kb/s) type symmetric asymmetric DM1 108.8 108.8 108.8 DH1 172.8 172.8 172.8 DM3 258.1 387.2 54.4 DH3 390.4 585.6 86.4 DM5 286.7 477.8 36.3 DH5 433.9 723.2 57.6 IEEE Oregon Section Bluetooth Seminar April 27, 2001 30
LINK CONTROL PACKETS ID packet NULL packet POLL packet FHS packet IEEE Oregon Section Bluetooth Seminar April 27, 2001 31
FHS PACKET BD_ADDR DAC AM_ADDR class of device paging class real-time clock IEEE Oregon Section Bluetooth Seminar April 27, 2001 32
ERROR CORRECTION Forward-Error Correction (FEC) 1/3 rate: bit-repeat code 2/3 rate: (15,10) shortened Hamming code Automatic Retransmission Query (ARQ) 1-bit fast ACK/NAK 1-bit sequence number header piggy-backing IEEE Oregon Section Bluetooth Seminar April 27, 2001 33
ARQ OPERATION MASTER A B B X C SLAVE 1 G F H SLAVE 2 Z Z NAK ACK IEEE Oregon Section Bluetooth Seminar April 27, 2001 34
CVSD WAVEFORM CODING 1 1 0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 0 1 1 1 0 0 0 1 0 1 0 1 0....... IEEE Oregon Section Bluetooth Seminar April 27, 2001 35
BASEBAND OPERATIONS PICONET MANAGEMENT IEEE Oregon Section Bluetooth Seminar April 27, 2001 36
OPERATIONAL STATES stand-by, scan page, inquiry connection active hold sniff park IEEE Oregon Section Bluetooth Seminar April 27, 2001 37
SIMPLIFIED STATE MACHINE Standby Waiting to join a piconet Inquire Discover radios Page Connect to a specific radio Connected Active on a piconet Park/Hold/Sniff Low Power connected states Unconnected Standby Connecting States Active States Low Power States Detach Transmit data AMA Releases AMA Address Inquiry T typical=2 ms PARK PMA Standby T typical=10.25s Connected AMA SNIFF Page T typical=0.6s T typical=2 ms HOLD AMA IEEE Oregon Section Bluetooth Seminar April 27, 2001 38
HOLD MODE MASTER ACL ACL ACL ACL ACL ACL ACL LOST SLAVE 1 HOLD INTERVAL SLAVE 2 IEEE Oregon Section Bluetooth Seminar April 27, 2001 39
SNIFF MODE MASTER ACL ACL ACL LOST SLAVE 1 SNIFF INTERVAL SLAVE 2 IEEE Oregon Section Bluetooth Seminar April 27, 2001 40
PARK MODE active slave master parked slaves BEACON PM_ADDR IEEE Oregon Section Bluetooth Seminar April 27, 2001 41
PARK MODE PARK INTERVAL MASTER BC ACL ACL BC SLAVE X SLAVE 2 SLAVE Y IEEE Oregon Section Bluetooth Seminar April 27, 2001 42
SCATTERNET slave 3 slave 1 slave 6 master A slave 4 / master B slave 2 slave 5 IEEE Oregon Section Bluetooth Seminar April 27, 2001 43
BASEBAND OPERATIONS SECURITY IEEE Oregon Section Bluetooth Seminar April 27, 2001 44
SECURITY COMPONENTS Authentication Payload encryption Key handling IEEE Oregon Section Bluetooth Seminar April 27, 2001 45
AUTHENTICATION To verify claimed identity Challenge-response system Algorithm E 1 : Input: RAND (128 bit), Claimant addr.. (48 bit), link key (128) Output: SRES (32 bit), ACO (96 bit) One-sided or mutual authentication ACO = Authenticated Ciphering Offset IEEE Oregon Section Bluetooth Seminar April 27, 2001 46
ENCRYPTION To prevent (un)intentional eavesdropping Stream ciphering Algorithm E 0 : Input: RAND (128 bit), master addr./clock, K c (128 bit) Output: cipher stream LFSR restart for every slot Encryption of payload only Point-to to-point or point-to to-multipoint IEEE Oregon Section Bluetooth Seminar April 27, 2001 47
KEY TYPES Link keys Encryption key Temporary Semi-permanent Master Key Unit Key Combination Key Initialization Key IEEE Oregon Section Bluetooth Seminar April 27, 2001 48
RADIO/BB SUMMARY Frequency hopping radio at 2.4 GHz Intrinsic support for voice and data Maximum 723 Kbps MAC throughput Low power modes Point-to-multipoint configuration Support of basic security mechanisms IEEE Oregon Section Bluetooth Seminar April 27, 2001 49
SOFTWARE STACK IEEE Oregon Section Bluetooth Seminar April 27, 2001 50
Outline Software scope and goals Protocol Review Profile Review Summary IEEE Oregon Section Bluetooth Seminar April 27, 2001 51
Software Architecture Applications TCS SDP RFCOMM Data Control Cover This Audio L2CAP Link Manager Baseband RF LMP IEEE Oregon Section Bluetooth Seminar April 27, 2001 52
Software Architecture Goals Support the target usage models Support a variety of hardware platforms Protocol reuse Avoid duplicating existing technology Promote better harmonization across technologies Good out of box user experience Interoperability IEEE Oregon Section Bluetooth Seminar April 27, 2001 53
Outline Software goals Protocol Review Profile Review Summary IEEE Oregon Section Bluetooth Seminar April 27, 2001 54
Bluetooth Protocol Stack WAE vcard/vcal* Audio Still Image WAP* OBEX* Printing HID TCP/UDP RFCOMM Service Discovery IP TCS L2CAP Host Controller Interface *Third-party marks and brands are the property of their respective owners. IEEE Oregon Section Bluetooth Seminar April 27, 2001 55
HCI Host Controller Interface (HCI) provides a common interface between the Bluetooth Host and the Bluetooth Module HCI Bluetooth Host Host Drives and Applications Bluetooth HCI driver Bluetooth HCI Transport driver (USB*, PC Card*, PCI*) Transport Bus HCI Transport Firmware Bluetooth Host Controller Link Manager Bluetooth Baseband *Third-party marks and brands are the property of their respective owners. Bluetooth Radio Bluetooth Module IEEE Oregon Section Bluetooth Seminar April 27, 2001 56
Link Layer Control and Adaptation Protocol Also known as L2CAP Basic data link layer protocol over Baseband Support for: Protocol Multiplexing Segmentation and Reassembly (SAR) Quality of Service Groups IEEE Oregon Section Bluetooth Seminar April 27, 2001 57
L2CAP Architecture Connection-oriented oriented Channel identifier (CID) used to label each connection endpoint Channels may be uni-directional or bi-directional QoS flow specification assigned to each channel direction Connectionless Supports group abstraction IEEE Oregon Section Bluetooth Seminar April 27, 2001 58
L2CAP Channels Connection-Oriented Data Channel Connectionless Data Channel L2CAP Signalling Channel L2CAP CID CID Device #1 CID CID L2CAP CID CID CID L2CAP Device #2 CID L2CAP Device #3 CID L2CAP Device #4 IEEE Oregon Section Bluetooth Seminar April 27, 2001 59
Service Discovery Protocol Bluetooth SDP enables Bluetooth devices to discover the characteristics and capabilities of other Bluetooth devices within RF proximity Within Bluetooth SDP, a service is: any information, resource, or facility that is provided by (or through) one Bluetooth device that is advertised as available to nearby Bluetooth devices Bluetooth SDP does not provide a general purpose service access/usage mechanism; SDP only enables discovery of services IEEE Oregon Section Bluetooth Seminar April 27, 2001 60
Service Discovery Two parts Service record format Information about service provided by attributes Attributes composed of an ID and a value Ids may be universally unique identifiers (UUID) Session protocol for enabling discovery Searching for and browsing services IEEE Oregon Section Bluetooth Seminar April 27, 2001 61
Typical SDP Client/Server Interactions Client Server ServiceSearchRequest(SearchPattern) ServiceSearchResponse(ServiceRecordHandleList) ServiceAttributeRequest(ServiceRecordHandle, AttributeIDList) ServiceAttributeResponse(AttributeList) IEEE Oregon Section Bluetooth Seminar April 27, 2001 62
SDP Scope Many Service Discovery Protocols Service Location Protocol (SLP), Jini*, Universal Plug and Play (UPnP*), etc. Bluetooth SDP focuses on service discovery within Bluetooth environment SDP does not compete with other technologies. SDP compliments them by enabling their use in Bluetooth environments *Third-party marks and brands are the property of their respective owners. IEEE Oregon Section Bluetooth Seminar April 27, 2001 63
RFCOMM Supports a large base of legacy applications using the serial port as the primary communications mechanism. Reuse GSM TS 07.10 as an existing standard for multiplexing a single physical channel and V.24 emulation. Designed to allow multiple ports over a single physical channel between a PC and a GSM handset IEEE Oregon Section Bluetooth Seminar April 27, 2001 64
TCS Protocol Telephony Control Protocol Specification Call Control Call setup and release Symmetrical derivative of Q.931 Group management Gateway may serve more cordless devices Distributes group information IEEE Oregon Section Bluetooth Seminar April 27, 2001 65
TCS Impact Cordless Telephony Example Phone moves into range of voice access point and establishes link Phone link placed into a low power state Incoming call is broadcast to all phones On answer, a voice (SCO) link is setup Intercom Supports direct phone-to to-phone communication IEEE Oregon Section Bluetooth Seminar April 27, 2001 66
Reuse and Recycle Desire to reuse IrDA* * applications on mobile phones and PCs Decision to merge with IrDA s OBEX (Object Exchange) protocol on top of RFCOMM or TCP. Enables harmonized API across PAN technologies Interaction with applications on phones Handset manufacturers have agreed on an application framework called WAP*. Bluetooth is treated as a WAP bearer in a manner similar to GSM. Reuse browser interface on mobile phone. *Third-party marks and brands are the property of their respective owners. IEEE Oregon Section Bluetooth Seminar April 27, 2001 67
Outline Software goals Protocol Review Profile Review Summary IEEE Oregon Section Bluetooth Seminar April 27, 2001 68
Interoperability and Profiles Protocols define the communication language spoken between devices How do you avoid the Tower of Babel problem? Solution: Mandate the language spoken for a given usage model IEEE Oregon Section Bluetooth Seminar April 27, 2001 69
Profiles Represents the default solution for a specific usage model Vertical slice through the protocol stack Basis for interoperability and logo requirements Each Bluetooth device supports one or more profiles IEEE Oregon Section Bluetooth Seminar April 27, 2001 70
Protocols and Profiles Applications Relationship between Protocols and Profiles Protocols Profiles IEEE Oregon Section Bluetooth Seminar April 27, 2001 71
Profiles in the Bluetooth Specification 1.1 Generic Access Profile TCS-BIN-based Profiles Service Discovery Application Profile Cordless Phone Profile Intercom Profile Serial Port Profile Dial-up Networking Profile Fax Profile Headset Profile LAN Access Profile Generic Object Exchange Profile File Transfer Profile Object Push Profile Synchronization Profile IEEE Oregon Section Bluetooth Seminar April 27, 2001 72
Example: Dialup Networking Profile PPP AT Commands RFCOMM L2CAP LMP ACL SCO Bluetooth Baseband IEEE Oregon Section Bluetooth Seminar April 27, 2001 73
Software Summary Protocols defined for communication Profiles defined to promote interoperability Existing protocols used where possible IEEE Oregon Section Bluetooth Seminar April 27, 2001 74