Qualcomm Technologies International, Ltd.
Confidential and Proprietary – Qualcomm Technologies International, Ltd.
(formerly known as Cambridge Silicon Radio Ltd.)
NO PUBLIC DISCLOSURE PERMITTED: Please report postings of this document on public servers or websites to: [email protected].
Restricted Distribution: Not to be distributed to anyone who is not an employee of either Qualcomm Technologies International, Ltd.or its affiliated companies without the express approval of Qualcomm Configuration Management.
Not to be used, copied, reproduced, or modified in whole or in part, nor its contents revealed in any manner to others without the express written permission of Qualcomm Technologies International, Ltd.
Any software provided with this notice is governed by the Qualcomm Technologies International, Ltd. Terms of Supply or the applicable license agreement at https://www.csrsupport.com/CSRTermsandConditions.
Qualcomm is a trademark of Qualcomm Incorporated, registered in the United States and other countries. All Qualcomm Incorporated trademarks are used with permission. Other product and brand names may be trademarks or registered trademarks of their respective owners.
This technical data may be subject to U.S. and international export, re-export, or transfer (“export”) laws. Diversion contrary to U.S. and international law is strictly prohibited.
© 2015 Qualcomm Technologies International, Ltd. All rights reserved.
Qualcomm Technologies International, Ltd. Churchill House
Cambridge Business Park Cambridge, CB4 0WZ
United Kingdom
Introduction to Bluetooth Smart
CSR
2Confidential © Cambridge Silicon Radio Limited 2015
• Technology Overview
− Features of the radio interface
− Data transmission principles
• Bluetooth Smart Connections
− Operating modes and roles
− Connection events
− Slave latency
• Communication protocol overview
− ATT and GATT protocol
• Bluetooth Smart profiles
This Session
Introduction to Bluetooth Smart
4Confidential © Cambridge Silicon Radio Limited 2015
Dual-mode and Single-mode Radios
• Dual-mode Radio
− Can support Bluetooth classic connections and Bluetooth low energy connections
− Typically for Master devices - Phones, PC, Tablet, PMP, TV
− Does not deliver power savings of Bluetooth Smart
• Single-mode Radio
− Only supports Bluetooth low energy devices (cannot communicate with Bluetooth classic radios)
− Typically for sensors and peripherals (can act as master to a small number of sensors)
− Much lower power than Bluetooth Classic or dual mode radio
Basic Concepts
5Confidential © Cambridge Silicon Radio Limited 2015
CSR1010
HID
CSR1011
HID
CSR1011
HID
Heart Rate
CSR1010
Cycle Speed
CSR1010
Insulin
pump
CSR1010
Weight scale
CSR1010
Glucose
meter
CSR1010
Bluetooth Smart ecosystem
6Confidential © Cambridge Silicon Radio Limited 2015
What is Bluetooth Smart?
7Confidential © Cambridge Silicon Radio Limited 2015
Optimized for low power consumption
• Low data rates
− Optimally less than 64kbps (up to 300kbps theoretical limit)
− Packets are short and the radio is off more
• Simple profile structure – attributes
− Peripheral operates like a database
− Host devices can read or write attributes e.g. battery level
− Peripherals can inform host devices of a change e.g. “key pressed”
Basic concepts
8Confidential © Cambridge Silicon Radio Limited 2015
• The 2.4GHz ISM band is a free for all for anyone who wants to use it
Spectrum usage
Direct Radio waves Visible X-rays
Current 100 kHz – 300 GHz light
Extremely Ultraviolet Gamma
low frequency FM radio radiation rays
(ELF) 88-108 MHz
Very
low frequency Microwaves
(VLF) 300 MHz – 300 GHz
medium wave radio
550-1600 kHz
Infrared
long wave radio radiation
150-350kHz
Frequency in hertz (Hz)
kHz MHz GHz
0 102 104 106 108 1010 1012 1014 1016 1018 1020 1022
Bluetooth
• The 2.4GHz ISM Band is
also used by:
• Microwave Ovens
• Digital Cordless
Phones
• 802.11b/g
9Confidential © Cambridge Silicon Radio Limited 2015
• Bluetooth Low Energy (Bluetooth Smart)
− Designed to run from Coin Cell Battery
− Optimised for low power, low cost
− Global Standard
− Interoperable
− Robust
− Duty Cycle is low
− Maximum length of packets is very short
• Radio is off for longer periods
− Efficient Protocols
− Fast / Lazy acknowledgement both possible
− Very low latency from wake-up to communication complete (< 10 ms)
− Low data rates
Bluetooth Smart
Slave
Master
10Confidential © Cambridge Silicon Radio Limited 2015
Topology
Advertiser
Slave
Master
Slave
Slave
Slave
Advertiser
Scanner
Advertiser
Advertisement
11Confidential © Cambridge Silicon Radio Limited 2015
• Transmit output power
− -20dBm to +10dBm
− No concept of Class 1 / 2 / 3
• Receive sensitivity
− -70dBm (-92dBm is expected performance)
• Modulation Index
− 0.5 (compared to 0.25 for Bluetooth BR/EDR)
− Easier to distinguish “1” from “0”
− Frequency hopping not required by regulatory agencies
• No frequency hopping in advertising/scanning
• Frequency hopping only in connections
− Frequency changes every packet (vs. every bit in Bluetooth classic)
Transmitter and Receiver Characteristics
12Confidential © Cambridge Silicon Radio Limited 2015
• Data is transmitted using Gaussian Frequency Shift Keying (GFSK)
• FSK uses two different frequencies to transmit a binary ‘1’ or ‘0’
• For Bluetooth low energy the two frequencies are:
− fc + for ‘1’
− fc - for ‘0’
where fc = frequency of current hop and = >185kHz
Modulation Scheme
13Confidential © Cambridge Silicon Radio Limited 2015
• For channel 0 (Frequency 2.402GHz)
• During one time slot the data can change value every 1µs, so the transmit frequency oscillates back and forth around the centre channel frequency.
Modulation example
2.402
Frequency,
GHz
>185kHz
To transmit ‘1’
2.402
Frequency,
GHz
>185kHz
To transmit ‘0’
14Confidential © Cambridge Silicon Radio Limited 2015
• Frequency hopping occurs while in a connection
− Advertisements are transmitted on 1, 2 or 3 channels at the same time (configurable)
• The frequency hops follow a hop-length that is pseudo-random per connection
− Communicated in the “Connection Request”
− Provides instant adaptive frequency hopping capability
− Can be updated using a channel update message
Frequency Hopping Spread Spectrum -FHSS
2.400
0
Frequency,
GHz
2.402
0
2.480
0
2.483
5
Guard
Band
Guard
Band
Bluetooth Smart connections
16Confidential © Cambridge Silicon Radio Limited 2015
Operating States and Roles
State State Description
StandbyDoes not transmit or receive
packets
AdvertisingBroadcasts advertisements in
advertising channels
Scanning Looks for advertisers
Initiating Initiates connection to advertiser
Co
nn
ectio
n
Maste
r Communicates with device in the
Slave role, defines timings of
transmissions
Sla
ve Communicates with device in
Master Role
StandbyAdvertising
Scanning
Initiating
Connection
17Confidential © Cambridge Silicon Radio Limited 2015
Establishing BLE Connection
Slave
Master
Slave
Slave
Slave
Advertiser
Advertisement
11
11
11
11
11
11
11
11
11
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
WiFi
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
Data
39
38
37
Advertising
2480
2478
2476
2474
2472
2470
2468
2466
2464
2462
2460
2458
2456
2454
2452
2450
2448
2446
2444
2442
2440
2438
2436
2434
2432
2430
2428
2426
2424
2422
2420
2418
2416
2414
2412
2410
2408
2406
2404
2402
MHz
BLE Channels: An unconnected device decides it wants to be connected....
This device (e.g. data gatherer) needs to “advertise” its presence
• 3 channels for connectable and discoverable
compromise for low power and robustness
• Time when connectable & discoverable = 1.3 ms
(22.5 ms minimum for BR Bluetooth)
• Duty cycle 10x to 20x better than BR Bluetooth
18Confidential © Cambridge Silicon Radio Limited 2015
Establishing BLE Connection – Advertising
• Slave device broadcasts its presence when it is ready to communicate.
• Advertising is broadcast on between 1, 2 or 3 available channels (user configurable)
Advertising Event:
Send Advert
PDU on
channel 37
2402 MHz
Send Advert
PDU on
channel 38
2426 MHz
Send Advert
PDU on
channel 39
2480 MHz
Advertising Interval delay Advertising Interval delay
time
Advertising Interval delay
Advertising Interval is configurable by the
host.
Min = 20ms
Max = 10.24s
Pseudo-random delay of 10ms added by
stack to improve coexistence between
devices
19Confidential © Cambridge Silicon Radio Limited 2015
Establishing BLE Connection – Scanning
Scanning Interval
Scanning Window
time
Scanning Window and Scanning
Interval are configurable by the host
Min = 2.5ms
Max = 10.24s
If both are the same, scanning is
continuous
time
Scanning interval coincides with advertising event.
Master is aware that the advertiser is present
20Confidential © Cambridge Silicon Radio Limited 2015
Establishing BLE Connection
Extract from the Bluetooth Core Specification
Important Parameters for Low Energy Operation
Connection Interval - How much time elapses between connections
Connection Latency – How many intervals a slave device may sleep for
21Confidential © Cambridge Silicon Radio Limited 2015
Anchor Points and Latency
time
ConnInterval (e.g. 100ms)
Connection Event
Anchor Point
Master PDUSlave
PDU
time
time
Conn_Latency = 3 (400ms)
Conn_Latency = 0
..........
22Confidential © Cambridge Silicon Radio Limited 2015
Anchor Points and Latency
time
Conn_Latency = 3 (400ms)
time
Conn_Latency = 1 (200ms)
23Confidential © Cambridge Silicon Radio Limited 2015
Frequency Usage
37 0 1 2 3 4 5 6 7 8 9 10 38 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 39
BLE Channel Map
CONNECTION REQUEST
PACKET DATA PAYLOAD
(from core spec)
Channel Map
Bitfield containing information on
which channels are available for use
Min number of channels “enabled”
per connection = 2.
Unused channels are automatically
remapped to used channels
Hop Increment
Channel Hop between
consecutive connection
events.
Bluetooth Smart protocol
25Confidential © Cambridge Silicon Radio Limited 2015
Bluetooth Smart stack
FIRMWARE
GATT
ATT SMP GAP
L2CAP
APPLICATION
GA
P S
ERV
ICE
GA
TT
SER
VIC
E
AP
PLI
CA
TIO
N
PR
OFI
LE
AP
PLI
CA
TIO
N
PR
OFI
LE
...
HCI
HARDWARE
LINK LAYER
PHYSICAL LAYER
26Confidential © Cambridge Silicon Radio Limited 2015
• All current BLE profiles use ATT for transport
• Client-server architecture
• ATT defines protocol for client to discover and access server data
• Client and server roles do not depend on the link establishment roles –connection initiator can be ATT server or both client and server at the same time
• Server data is arranged in table of attributes
• Each row in the server table is indexed by attribute handle
Attribute protocol
FIRMWARE
GATT
ATT SMP GAP
L2CAP
APPLICATION
GA
P S
ERV
ICE
GA
TT
SER
VIC
E
AP
PLI
CA
TIO
N
PR
OFI
LE
AP
PLI
CA
TIO
N
PR
OFI
LE
...
HCI
HARDWARE
LINK LAYER
PHYSICAL LAYER
27Confidential © Cambridge Silicon Radio Limited 2015
• Data is arranged as table of attributes
• Each attribute consists of
− Handle
− Attribute type (UUID)
− Permissions
− Attribute value
Attributes
0001 ATTRIBUTE
0002
FFFE
FFFF
HANDLE
...
ATTRIBUTE
ATTRIBUTE
ATTRIBUTE
HANDLE UUID PERMISSIONS VALUE
28Confidential © Cambridge Silicon Radio Limited 2015
• Client-initiated access
− Find information
− Read attributes
− Write attributes
− Queued attribute write
ATT: client-initiated data access
29Confidential © Cambridge Silicon Radio Limited 2015
• Server-initiated access
− Notifications
− Indications (acknowledged by client)
ATT: server-initiated data access
30Confidential © Cambridge Silicon Radio Limited 2015
• All current BLE profiles are based on GATT
• Reuses ATT data structure and client-server architecture
• Similar to ATT, GATT server and client roles do not depend on the link establishment role
• GATT server data is arranged in services with characteristics
• Defines access protocol to discover and access services and their characteristics
Generic attribute protocol
FIRMWARE
ATT
GATT
SMP GAP
L2CAP
APPLICATION
GA
P S
ERV
ICE
GA
TT
SER
VIC
E
AP
PLI
CA
TIO
N
PR
OFI
LE
AP
PLI
CA
TIO
N
PR
OFI
LE
...
HCI
HARDWARE
LINK LAYER
PHYSICAL LAYER
31Confidential © Cambridge Silicon Radio Limited 2015
• GATT server data is conceptually arranged into services, e.g. Battery Service
• The actual data (e.g. battery level in percent or battery state) is represented by characteristics of the service and their values, e.g. Battery Level
GATT database
SERVICE
CHARACTERISTIC
VALUE
DESCRIPTOR
CHARACTERISTIC
VALUE
DESCRIPTOR
CHARACTERISTIC
VALUE
SERVICE
CHARACTERISTIC
VALUE
...
...
...
32Confidential © Cambridge Silicon Radio Limited 2015
• The characteristic may be further described by characteristic descriptor, for example:
• Appearance
• Client configuration
• The services, characteristics and descriptors are mapped on top of the ATT table structure
• Services and characteristics are identified by UUID
GATT database
SERVICE
CHARACTERISTIC
VALUE
DESCRIPTOR
CHARACTERISTIC
VALUE
DESCRIPTOR
CHARACTERISTIC
VALUE
SERVICE
CHARACTERISTIC
VALUE
...
...
...
33Confidential © Cambridge Silicon Radio Limited 2015
0010 SERVICE DECLARATION
0011
0012
0013
...
CHARACTERISTIC DECLARATION
CHARACTERISTIC VALUE
CHARACTERISTIC DESCRIPTOR DECLARATION
0015
0016
CHARACTERISTIC DECLARATION
CHARACTERISTIC VALUE
0017
0018
CHARACTERISTIC DECLARATION
CHARACTERISTIC VALUE
0019 SERVICE DECLARATION
...
SERVICE
0014 CHARACTERISTIC DESCRIPTOR DECLARATION
SERVICE
GATT database mapped to the ATT attributes table
34Confidential © Cambridge Silicon Radio Limited 2015
• Client-initiated access
− Services, characteristics and descriptors discovery
− Read characteristic and descriptor value
− Write characteristic and descriptor value
GATT: client-initiated data access
35Confidential © Cambridge Silicon Radio Limited 2015
• Server-initiated access
− Characteristic value notification
− Characteristic value indication
• Server has to be configured first by setting the “Client configuration” descriptor of the characteristic
GATT: server-initiated data access
36Confidential © Cambridge Silicon Radio Limited 2015
• Defines profile roles
− Broadcaster – optimised for transmitter only applications
− Observer – optimised for receiver only applications
− Peripheral – optimised for low power, slave devices (e.g. sensors, input devices)
− Central – initiates and maintains connections (e.g. smartphone)
Generic Access Profile - GAP
FIRMWARE
ATT SMP GAP
L2CAP
APPLICATION
GA
P S
ERV
ICE
GA
TT
SER
VIC
E
AP
PLI
CA
TIO
N
PR
OFI
LE
AP
PLI
CA
TIO
N
PR
OFI
LE
...
HCI
HARDWARE
LINK LAYER
PHYSICAL LAYER
GATT
37Confidential © Cambridge Silicon Radio Limited 2015
• Defines procedures for:
− Discovering identities, names, and basic capabilities
− Creating bonds
− Exchange of security information
− Establishing connections
− Resolvable Private addresses
• Defines Advertising and Scan Response Data formats
• All profiles are built upon GAP
Generic Access Profile - GAP
FIRMWARE
ATT SMP GAP
L2CAP
APPLICATION
GA
P S
ERV
ICE
GA
TT
SER
VIC
E
AP
PLI
CA
TIO
N
PR
OFI
LE
AP
PLI
CA
TIO
N
PR
OFI
LE
...
HCI
HARDWARE
LINK LAYER
PHYSICAL LAYER
GATT
38Confidential © Cambridge Silicon Radio Limited 2015
• All current Bluetooth Smart application have to use GATT and GAP
• Mandatory support for GAP service in GAP Central and Peripheral applications
• Mandatory support for GATT service in GATT Client applications
• Bluetooth Smart profiles define requirements to GATT services, security aspects and GAP roles
Application layer
FIRMWARE
ATT SMP GAP
L2CAP
APPLICATION
GA
P S
ERV
ICE
GA
TT
SER
VIC
E
AP
PLI
CA
TIO
N
PR
OFI
LE
AP
PLI
CA
TIO
N
PR
OFI
LE
...
HCI
HARDWARE
LINK LAYER
PHYSICAL LAYER
GATT
Bluetooth Smart profiles
40Confidential © Cambridge Silicon Radio Limited 2015
CSR1010
HID
CSR1011
HID
CSR1011
HID
Heart Rate
CSR1010
Cycle Speed
CSR1010
Insulin
pump
CSR1010
Weight scale
CSR1010
Glucose
meter
CSR1010
Bluetooth Smart ecosystem
41Confidential © Cambridge Silicon Radio Limited 2015
• The Bluetooth SIG publishes a number ofdocuments that describe Profiles andServices which form the basis of industrywide interoperability:https://www.bluetooth.org/en-us/specification/adopted-specifications
Bluetooth Smart profiles
Profiles
Services
Define required functions and features of each layer
Specify inter–layer communication formats
Specify connection, scanning and advertising parameters
Specify collections and format of required characteristics
42Confidential © Cambridge Silicon Radio Limited 2015
• Bluetooth Smart profiles and services – as of Q2’14
Bluetooth Smart profiles
ANP Alert Notification Profile
ANS Alert Notification Service
BAS Battery Service
BCS Body Composition Service
BLP Blood Pressure Profile
BLS Blood Pressure Service
BMS Bond Management Service
CGMP Continuous Glucose Monitoring Profile
CGMS Continuous Glucose Monitoring Service
CPP Cycling Power Profile
CPS Cycling Power Service
CSCP Cycling Speed and Cadence Profile
CSCS Cycling Speed and Cadence Service
CTS Current Time Service
DIS Device Information Service
ESP Environmental Sensing Profile
ESS Environmental Sensing Service
FMP Find Me Profile
GLP Glucose Profile
GLS Glucose Service
HIDS HID Service
HOGP HID over GATT Profile
HRP Heart Rate Profile
HRS Heart Rate Service
HTP Health Thermometer Profile
HTS Health Thermometer Service
IAS Immediate Alert Service
IPSP Internet Protocol Support Profile
LLS Link Loss Service
LNP Location and Navigation Profile
LNS Location and Navigation Service
NDCS Next DST Change Service
PASP Phone Alert Status Profile
PASS Phone Alert Status Service
PXP Proximity Profile
RSCP Running Speed and Cadence Profile
RSCS Running Speed and Cadence Service
RTUS Reference Time Update Service
ScPP Scan Parameters Profile
ScPS Scan Parameters Service
TIP Time Profile
TPS Tx Power Service
UDS User Data Service
WSP Weight Scale Profile
WSS Weight Scale Service
43Confidential © Cambridge Silicon Radio Limited 2015
• CSR µEnergy SDK includes exampleimplementation for the most of the ratifiedBluetooth Smart profiles
− Full source code is available with detaileddocumentation and customisation guidelines
− Example applications are qualified and listed onBluetooth SIG website
− Designed for the final products – significantly reduces product time-to-market, for example:
• Mouse and keyboard applications are designed for real keyboards and mice – available as CSR µEnergy HID Evaluation Kit
• Health and Fitness applications – like heart rate meter, health thermometer, cycling sensor – are designed to run both in simulation mode and on the real hardware
CSR µEnergy SDK example applications
44Confidential © Cambridge Silicon Radio Limited 2015
Example applications
• Heart Rate
• Glucose Meter
• Blood Pressure
• Thermometer
• Proximity Tag
• Phone Alert Status
• Mouse
• Keyboard
• GATT Client
• GATT Server
• Apple Notification Center Service
CSR µEnergy SDK 2.4 Applications and Profiles
• Watch
• Cycling Speed and Cadence
• Running Speed and Cadence
• Environmental Sensor
• Beacon
• Weight Scale
• SPP-over-GATT
• Automotive-related
−Temperature and Pressure Sensor
−Keyless Entry System
−Multi-FunctionSteering Wheel
Automotive-related development boards
will be available later in this year
45Confidential © Cambridge Silicon Radio Limited 2015 45Confidential © Cambridge Silicon Radio Limited 2015