E-mail: info@hyxkiot.com Call: +86 13480952801
Your Location:Home > News > Industry News

Three Important Factors Affecting BLE Throughput

Release date:2022-7-23 5:53:47

Each operating system and device has its own limits, such as the connection interval and the number of packets per interval. Also, did you know that with iOS, you can send 4 packets per connection interval, and HID devices can send 10 packets per connection interval, increasing the rate by 2.6 times?

The nominal data transfer rate of the Bluetooth PHY is 1M/bps, that is, the rate transmitted to the air after debugging by the Bluetooth physical layer is 1Mbit per second. This does not mean that the data transfer rate received by the Bluetooth receiver can reach 1M/bps.

ble throughput

There are many factors that affect the BLE throughput, the maximum throughput is only 1M/bps, and the data transceiver also has corresponding communication protocols and Bluetooth protocols, such as:

- maximum packet length

- time delay between packets

- Overhead bytes in the packet, such as packet length, data integrity check and general packet information.

 

So, 50% to 75% of 1Mbps? That would be 31.25 to 62.5 kB per second. This is still a very good rate performance.

 

BLE Throughput

There are only two devices in a BLE connection (multiple connections are beyond the scope of this article), one of which is called Master and the other is called Slave. Each side communicates with the other for a given period of time, called the connection interval (minimum 7.5ms, with minimum increments of 1.25ms). Each instance of communication between two devices is called a communication event.

 

Minimum Connection Interval

Minimum Connection Interval

When a peripheral is in receive mode, a communication event starts with the central (master) sending a packet. If the peripheral successfully receives the packet from the central, the peripheral will then send the packet while the central is in receive mode. By default, the central and peripheral devices send a packet even if there are no packets to send, which is often referred to as a null link layer heartbeat.

 Bluetooth data heartbeat

After each master-slave heartbeat packet ends, if the master or slave has a message queued for sending, they can "ask" or "warn" the other party to inform themselves that there is more data to send. This will appear to exchange multiple packets within a time interval. The connect event will continue until the packet is not received correctly, the sender ends the connect event, or it ends in a non-normal situation (timeout).

Multiple packets

It is important to note that in a connection event you can exchange more than two packets, which will greatly improve throughput, but you need to understand that the maximum number of packets per connection event depends on the BLE stack/chipset, each An iOS device connection event allows a maximum of four data packets, and an Android device runs a maximum of six data packets per connection event.

 

Packets per time interval can be calculated by the following formula:

BLE throughput

 

The important factors in the general BLE data throughput formula are the following three important elements:
1. Connection interval - how often the device talks.
2. Number of packets per connection interval - how many packets are exchanged when they speak.
3. Packet Length - The length of the application data in the BLE packet.

 

The theoretical maximum application data throughput in BLE can be described as the following formula:

Throughput = Packets Per Second * Data Per Package

 

Possible ways to improve BLE throughput:

 

1.) Increase the effective packet length of BLE

 

It is now certain that BLE packets contain up to 20 bytes of BLE application data v4.0 and v4.1 (v4.2 includes a packet length extension, but that is not supported in many on iOS or Android). Keep in mind that actual BLE packets are longer in size, but naturally include many important-purpose segments such as CRC and headers for different layers.

 

2.) Reduce the connection interval solution

 

For iOS 9.2 and iPhone 6 and above, the minimum connection interval is 30 milliseconds, unless you support configuring the BLE device via GATT as the HID method, the minimum connection interval is allowed to drop to 11.25 milliseconds. For Android devices, the minimum connection interval is 7.5ms.

 

BLE device and iPhone 6 data throughput = (1000 mSecs) * 20 * (4) / (30 mSecs) = 2,667.66 byte/s.

 

If the IOS device supports HID, the throughput increases to = (1000 mSecs) * 20 * 4 / (11.25 mSecs) = 7,111.11 Bytes per second

 

Tip: You can increase the length of the application data in the packet by 3 bytes, thereby increasing the throughput by 15%.

 

For example, let's connect the peripheral we use to connect the iPhone 6 to a different client (hardware) with a connect interval of 10mSecs per connect event and a maximum of 12 packets (6 in each direction). This will increase the ideal maximum value as follows:

 

BLE device and Iphone 6 maximum throughput = (1000mSecs) * 20 * (6) / (10 mSecs) = 12,000 Bytes per second.

Copyright © 2021 Shenzhen Huayang Xinke Electronics Co., Ltd. All rights reserved