Вы находитесь на странице: 1из 20

Bluetooth Low Energy

A timing perspective

Configurations between Bluetooth


versions

Overview : Goals of BLE


Lowest possible power operation
Lowest possible latency
Widest possible range of interoperable devices and
applications

Hardware configurations

Low power methods & Constraints


Lower standby time
3 advertising channels
RF on for 1.2 ms
Idle current dominated by
deep sleep current.

Faster connections
Lower peak power
Relaxed RF parameters
Restricted packet length

Reusing RF

60% silicon area


Same antennae for Wi-Fi
TDMA with Bluetooth

Reusing Host Control Interface

Same physical interfaces


Same drivers in OS

Reusing L2CAP (Logical link control & adaptation protocol)

Segregation of stacks at
known multiplexing point.

Active states of operation & Broadcast


topology
(a
)

Scanning

(b)

Advertisi
ng

Stand
by

Slave

Initiating

Master
Connecti
on

(d)

(c)

Link-layer activity
Network composed of master/initiator and
slave/advertiser in a piconet (star connected topology).
Master determines the instants in which slaves are
required to listen.
Coordinates the medium access using Time Division Multiple
Access (TDMA) scheme.
When it finds the slave, transmits a connection request,
creating a point-to-point connection.

Post-connection, physical channel divided into nonoverlapping time units called connection events.

Connection events
Starts with master transmitting a request to the slave.
If packet received by slave, has to be acknowledged.

While master and slave alternate in sending packets,


connection is considered open.
Every new connection event has a new data channel
frequency, computed using a frequency hopping
algorithm.
Link-layer connections use a stop-and-wait flow
mechanism based on cumulative acknowledgments.

Data exchange process (master and


slave)

Herein, the peripheral device is the slave and the central client is
the master. The three connection intervals use channel 37, 38, 39
for advertising respectively via the peripheral device.

Connection parameters
Set of parameters set by the Central client to determine
when and how Central and Periphery transmit data via
link.
1. Connection interval: How often the Central requests
data from its Peripheral (7.5 ms to 4 s).
2. Slave Latency: A non-zero latency allows the Periphery
to not answer when the Central asks for data up to the
slave latency number of times (0 to 499).
3. Connection Supervision timeout: Determines the
timeout from the last data exchange till a link is

Timeline for a minimum transaction


Time (s)

Master Tx

Radio active (s)

Slave Tx

176

ADV_DIRECT_IND

326

CONNECT_REQ

352

1928

Empty packet

80

2158
2452

144
Empty packet (ack)

2682
2928

80
96

Empty packet (ack)

Attribute protocol
Pckt.
LL_TERMINATE_IND

80

Energy for the above transaction = 15 mW * 3 ms


= 45 J

Energy consumption impact


We assume an ideal battery capacity of 230 mAh
(coin-cell battery) and nominal voltage of 3V.
The graph considers the following range of
parameters:
connInterval between 7.5 to 4000 ms.
connSlaveLatency between 0 and 7.
connSupervisionTimeout = 32 s (max).
For the most energy saving scenario, maximum slave
lifetime = 14.1 years and 12.4 years, for one-way and
round trip respectively.
These are obtained with connInterval = 86.25 ms,
connSlaveLatency = 370 and result in one reading
every 32 s.
For the least energy saving scenario, max slave
lifetime = 2.6 days and 2.0 days for one-way and
round trip respectively.

Maximum piconet size


In BLE, each connection between a master
and a slave is identified by a 32-bit access
address. Beyond this fact, the Bluetooth 4.0
specification does not impose further limits
on the number of slaves that can be
connected to a master.
However, the max number of slaves a
single master can handle is limited by the
connInterval parameter.
The most energy demanding parameters
yield a limited number of slaves per master:
1. For connInterval = 7.5 ms, no. of slaves
per master is between 2 and 11.
2. For connInterval = 4 s and one-way ATT
comm, no. of slaves per master is
approximately 5917.
The max piconet size is also limited by the

Throughput limitations
While the physical layer data rate of BLE is 1 Mbps, the maximum
application layer is throughput = 236.7 kbps.
Also, transmission of data cannot be resumed in case of a faulty packet
connection interrupt, until the beginning of the next connection event,
whereby a new data channel (i.e., a new frequency) is used.
Hence, moderate to high throughput achieved only for low connInterval
values.

For smallest connInterval and connSlaveLatency ( 7.5 ms and 0), max


application layer throughput was found to be 58.48 kbps. This shows
that high throughput has not been a primary goal in the design of the
BLE.

Note:
BLE is defined over an underlying 1Mbps link, however the
actual throughput after you take into consideration
The overhead of the protocol
The fact the link is half-duplex
The limitations in BTLE stacks (all of them) which restrict the
number of packets which can be transmitted per connection
interval
The limitations of various communicating devices which may
limit how often devices connect
Whether you are writing packets requiring responses or writing
without response and dealing with dropped packets.

Cont
1. Bluetooth occupies the same bands as WiFi and other BT and/or BT LTE
nodes exist.
2. Due to #1, the SNR of the band is often reduced because the noise
floor is above the "quiet" level. The increases the chances of the
various modulation/coding schemes getting an erroneous symbol
received.
3. #2 means the Bit Error Rate is increased and re-transmits are increased
4. #3 mean the net effective data transfer rate is reduced.

Further analysis of throughput


3 factors that determine maximum throughput with
BLE:
operation type
connection interval
number of packets transmitted per connection event

Calculation: given a number of packets per interval n


and a connection interval T, the throughput can be
calculated like this:
n * 20 Bits * 1/T

Evaluation of throughput
Protocol efficiency of the BLE data channel is calculated as:
ThroughputBLE (n, m, TTXprep ,TRXproc ,) =

n*8

0.16ms + (n+m)*8/1000 + 2* +2 + 2*max(0.15ms, TTXprep +TRXproc )

where n denotes the payload of each frame transferred from the master to the slave (i.e.,
forward frame), m is the payload of the reply frame and 0.16 ms accounts for the time for
transmitting the frame headers.

If we plugin n = 27, TTXprep= TRXproc= = m = 0 and considering


that the overhead introduced by the upper layers of the forward
frame protocols equals 7 bytes:
Maximum application layer throughput = 236.7 kbit/s

References
http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3478807/
https://devzone.nordicsemi.com/question/60/what-is-co
nnection-parameters
/
https://
www.safaribooksonline.com/library/view/getting-starte
d-with/9781491900550/ch01.html