Bluetooth Low Energy Timing

Embed Size (px)

DESCRIPTION

An analysis of BLE timing scheme and throughput

Citation preview

Bluetooth Low Energy

Bluetooth Low EnergyA timing perspective

Configurations between Bluetooth versions

Overview : Goals of BLELowest possible power operation

Lowest possible latency

Widest possible range of interoperable devices and applications

Hardware configurations

Low power methods & ConstraintsLower standby time3 advertising channelsRF on for 1.2 msIdle current dominated by deep sleep current.Faster connectionsLower peak powerRelaxed RF parametersRestricted packet lengthReusing RF60% silicon areaSame antennae for Wi-FiTDMA with BluetoothReusing Host Control InterfaceSame physical interfacesSame drivers in OSReusing L2CAP (Logical link control & adaptation protocol)Segregation of stacks at known multiplexing point.

Active states of operation & Broadcast topology

(a)(b)(c)(d)

Slave MasterLink-layer activityNetwork 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 non-overlapping time units called connection events.

Connection eventsStarts 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 parametersSet of parameters set by the Central client to determine when and how Central and Periphery transmit data via link.Connection interval: How often the Central requests data from its Peripheral (7.5 ms to 4 s).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).Connection Supervision timeout: Determines the timeout from the last data exchange till a link is considered lost (100 ms to 32 s).

Timeline for a minimum transactionTime (s)Master TxRadio active (s)Slave Tx0176ADV_DIRECT_IND326CONNECT_REQ3521928Empty packet802158144Attribute protocol Pckt.2452Empty packet (ack) 80268296LL_TERMINATE_IND2928Empty packet (ack)80Energy for the above transaction = 15 mW * 3 ms = 45 JEnergy 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.These are obtained with connInterval = 7.5 ms, connSlaveLatency = 0 and result in one reading every 7.5 ms.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:

For connInterval = 7.5 ms, no. of slaves per master is between 2 and 11.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 memory or antenna availability in the master. Throughput limitationsWhile 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 considerationThe overhead of the protocolThe fact the link is half-duplexThe limitations in BTLE stacks (all of them) which restrict the number of packets which can be transmitted per connection intervalThe limitations of various communicating devices which may limit how often devices connectWhether you are writing packets requiring responses or writing without response and dealing with dropped packets.

ContBluetooth occupies the same bands as WiFi and other BT and/or BT LTE nodes exist.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.#2 means the Bit Error Rate is increased and re-transmits are increased#3 mean the net effective data transfer rate is reduced.

Further analysis of throughput3 factors that determine maximum throughput with BLE:operation typeconnection intervalnumber of packets transmitted per connection eventCalculation: 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 throughputProtocol 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/sReferenceshttp://www.ncbi.nlm.nih.gov/pmc/articles/PMC3478807/

https://devzone.nordicsemi.com/question/60/what-is-connection-parameters/

https://www.safaribooksonline.com/library/view/getting-started-with/9781491900550/ch01.html