BLUETOOTH LATENCY AND DATA Application Note v1.1

Similar documents
Problem 7. Problem 8. Problem 9

BT740 Development Kit Quick Start Guide v1.2

LXRS and LXRS+ Wireless Sensor Protocol

Dos-A Scalable Optical Switch for Datacenters

Congestion Control in TCP

Routing Protocols in MANETs

our APP,you can easily control robot,drone and others by BLE. Adopting TI CC2540 chip with 256 KB space, the BLE HC module can use BLE technology

Sena Technologies White Paper: Latency/Throughput Test. Device Servers/Bluetooth-Serial Adapters

Configuring Parameters

LoRaWAN Wzzard Utility Quick Guide. v /11/1

IEEE 802.3az: The Road to Energy Efficient Ethernet

Bluetooth Serial Port Adapter Optimization

DV4mini. DV4mini: D-Star/DMR/C4FM Hotspot-USB-Stick Interface Description Version DV Development Group Author : DJ0ABR

Network Processor Interface User s Guide

Chapter 3 Review Questions

How to Choose the Right Bus for Your Measurement System

ECEN Final Exam Fall Instructor: Srinivas Shakkottai

CS 421: Computer Networks SPRING MIDTERM I April 7, minutes

CAN Connected To FlexRay

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

Impact of IEEE n Operation on IEEE Operation

ARQ and HARQ inter-working for IEEE m system

Specification. Current Consumption Range 8m * Rotational Angle +/- 50 degrees * Shear Angle +/- 40 degrees *

Terminal I/O Profile Client Implementation Guide

MSD40NBT Testing Hardware Test Document Version 1.2

LMX9838 Cable Replacement

IEEE C802.16h-07/017. IEEE Broadband Wireless Access Working Group <

Homework 2 COP The total number of paths required to reach the global state is 20 edges.

Configuring parameters and Band Selection

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Configuring Bands

Comparison of Ethernet Testers GL Communications Inc

SNR610. Embedded network node module SNR610. Description. Feature. Application. SNR610 is highly integrated network module.

Monitoring and Analysis

Computer Communication Networks Midterm Review

User Guide Laird Configuration and Test Utility Software. Version 1.0

Data Link Control Protocols

INTAB INTERFACE-TEKNK AB

Advantages of MIPI Interfaces in IoT Applications

KW41Z IEEE and BLE Coexistence Performance

AN1138: Zigbee Mesh Network Performance

RFIC TX/RX Configuration

Performance Evaluation of Bluetooth Low Energy Communication

RESOURCES. By: Chris Downey, Laird Technologies Product Manager, Telematics & Wireless M2M Date: May 25, 2011

TCP/IP-2. Transmission control protocol:

Mobile Transport Layer Lesson 02 TCP Data Stream and Data Delivery

Advantages and disadvantages

Development Kit Setup with SDIO 2.0 and SDIO 3.0 Host DVK-ST60-SIPT/DVK-SU60-SIPT

Testing was conducted in order to compare XB3-24 homogenous, XB3-24 / XB24 mixed and XB24 homogenous network performance.

ECE 653: Computer Networks Mid Term Exam all

ELAN DIGITAL SYSTEMS LTD. CF232 COMPACT FLASH CF+ CARD USER S GUIDE

Lixia Zhang M. I. T. Laboratory for Computer Science December 1985

UART HCI Bluetooth Module for Linux BT860

TABLE OF CONTENTS 2/10

Overview. Applications. Features. Pin assignment

Level 3 Design and maintain ICT networks software components ( )

Terminal I/O Profile. Client Implementation Guide. Release r02

Congestion Control in TCP

Configuring parameters and Band Selection

Configure IP SLA Tracking for IPv4 Static Routes on an SG550XG Switch

ECE251: Thursday November 8

Performance Evaluation of WiFiRe using OPNET

PRACTICE QUESTIONS ON RESOURCE ALLOCATION

CB-OBS4XX OPTIMIZATION GUIDE

BV4501 IASI Twin Relay. Product specification. December 2008 V0.a. ByVac Page 1 of 12

CANopen. Network configuration. Operating instructions Software. Integration of Bürkert devices in CANopen networks

CHAPTER 7 SIMULATION OBSERVATIONS

Strengthening Unlicensed Band Wireless Backhaul

AN4872 Application note

WIR-1386 / WIR-1186M Long Range 865MHz 867MHz RF Wireless Module with WIR-METERING Mesh Stack

High bandwidth, Long distance. Where is my throughput? Robin Tasker CCLRC, Daresbury Laboratory, UK

Burst Transfers ABSTRACT

The Transport Layer Reliability

ADVANCED VEHICLE TECHNOLOGIES, Inc. AV. AVT-718 LIN Support. Introduction. Firmware. Hardware. Inc.

in Berlin (Germany) Sponsored by Motorola Semiconductor NEC Electronics (Europe) Siemens Semiconductors Organized by

ICC. Modbus RTU Sniffer Driver Manual INDUSTRIAL CONTROL COMMUNICATIONS, INC Industrial Control Communications, Inc.

November 1998 doc.: IEEE /378 IEEE P Wireless LANs Extension of Bluetooth and Direct Sequence Interference Model.

Experiments on TCP Re-Ordering March 27 th 2017

Reliable File Transfer

_äìé`çêé» UART Host Transport Summary. February 2004

TCP Throughput Testing

CAN Generic 11-bit/29-bit Identifier Driver

WiMOD LoRaWAN EndNode Modem HCI Specification

Delivering Voice over IEEE WLAN Networks

3.1. Introduction to WLAN IEEE

Data sheet Wireless UART firmware version 4

Lecture 12 December 04, Wireless Access. Graduate course in Communications Engineering. University of Rome La Sapienza. Rome, Italy

Ethernet Hub. Campus Network Design. Hubs. Sending and receiving Ethernet frames via a hub

Direct Link Communication I: Basic Techniques. Data Transmission. ignore carrier frequency, coding etc.

Header Compression Capacity Calculations for Wireless Networks

Low Throughput Networks: an approach to IoT connectivity ETSI IoT workshop October 2017

Basics of UART Communication

Chapter 11 Data Link Control 11.1

Bluetooth V4.1 BLE RS-232 Serial Adapter Model: BLE-232B Bluetooth V4.2 BLE RS-232 Serial Adapter Model: BLE-232C

Lecture 8. TCP/IP Transport Layer (2)

Testing Minimum Inter Frame Gap (IFG)

ELAN DIGITAL SYSTEMS LTD. SL332 PC- CARD USER S GUIDE

nblue TM BR-MUSB-LE4.0-S2A (CC2540)

Data Link Layer: Overview, operations

To see the details of TCP (Transmission Control Protocol). TCP is the main transport layer protocol used in the Internet.

Transcription:

BLUETOOTH MODULES BLUETOOTH LATENCY AND DATA v1.1 1 INTRODUCTION This document describes and presents the results from a series of tests to determine overall Bluetooth data throughput, given inherent latencies present in a packet-based protocol such as Bluetooth. This transfer protocol results in a lot of data in one direction and minimal data in the reverse direction. One device sends a single byte acknowledgement, and the other takes this acknowledgement as a cue to send a large packet. One protocol which behaves in this fashion is Xmodem. This document describes the creation of a test procedure, which uses an application on a Windows PC to measure the latencies and throughput, and makes suggestion as to how the overall data throughput can be increased. 2 TEST SETUP The test setup consists of a sufficiently fast Windows PC (>2Ghz processor) with two serial ports capable of rates up to 460800 baud, two Laird Bluetooth Intelligent serial modules, and an application which transfers data between the two serial ports and measures various time intervals using a very high resolution timer. This timer is accurate to within microseconds. The physical setup is as shown in Figure 1. Figure 1: Latency Test Setup The application sends an X character out from serial port A and on receipt of that character at serial port B, sends a packet (1029 bytes) out from serial port B which is subsequently received at serial port A. The large packet consists of a string made up of the characters 0 to 9 and the. character. In addition the packet is delimited by a * as the first character and # as the last character. These special delimiting characters, plus the X trigger character in the reverse direction allows the application to measure various time intervals. These time measurements are collected into various histogram arrays, all rounded up to the nearest millisecond. 2.1 Normal Test vs. Optimized Test In one set of tests (Normal), the time measurements/markers are as shown in Figure 2. 1

Serial Port A (TX) Serial Port A (RX) Serial Port B (TX) Serial Port B (RX) Figure 2: Timing - Normal Test 0 T1 T2 T3 In the second set of tests (Optimised), the time measurement/markers are as below. When data transfer starts, many trigger characters are sent to ensure that the data transfer direction is kept primed. For each packet received, fresh acknowledgements are sent. This is shown in Figure 3. Multiple s Serial Port A (TX) Serial Port A (RX) Serial Port B (TX) Multiple s Serial Port B (RX) 0 T4 Figure 3: Timing - Optimised Test 2

3 TEST RESULTS 3.1 Normal Test 1 Baud rate=115200 Packet Len = 1029 (89ms to send at 115200) ACK from port A is sent every 1000ms Test results are shown in Figure 4. 45 40 35 30 25 20 15 10 5 0 1 15 29 43 57 71 85 99 113 127 141 155 169 183 197 211 225 239 253 267 281 295 Figure 4: Normal Test 1 Results The first band is the frequency distribution (ms) for the gap between sending X from port A to receiving that character at port B. The second band is the frequency distribution for the gap between sending X from port A and receiving the start of the 1029 packet ( * character) at port A. The third band is the frequency distribution for the gap between sending X from port A and receiving the end of the 1029 packet ( # character) at port A. Result: Calculations show that it takes 89 milliseconds to send 1029 bytes at 115200 over a serial cable. The histogram above shows that the second band starts at about 72msec and ends at 113msec. This proves point T2 is very close to point T1, transmission starts very soon after UART data is received by the appropriate module. 3

3.2 Normal Test 2 ACK from port A is sent every 1000ms Test results are shown in Figure 5. 60 50 40 30 20 10 0 1 15 29 43 57 71 85 99 113 127 141 155 169 183 197 211 225 239 253 267 281 295 Figure 5: Normal Test 2 Results The first band is the frequency distribution (ms) for the gap between sending X from port A to receiving that character at port B. The second band is the frequency distribution for the gap between sending X from port A and receiving the start of the 1029 packet ( * character) at port A. The third band is the frequency distribution for the gap between sending X from port A and receiving the end of the 1029 packet ( # character) at port A. Result: Calculations show that it takes 22 milliseconds to send 1029 bytes at 460800 over a serial cable. The histogram above shows that the second band starts at about 72msec and ends at 113msec but unlike Test 1, the end of the packet reaches much sooner. 3.3 Normal Test 3 ACK from port A is sent every 1000ms Test results are shown in Figure 6. 4

45 40 35 30 25 20 15 10 5 0 1 15 29 43 57 71 85 99 113 127 141 155 169 183 197 211 225 239 253 267 281 295 Figure 6: Normal Test 3 Results The first band is the frequency distribution (ms) for the gap between sending X from port A to receiving that character at port B. The second band is the frequency distribution for the gap between sending X from port A and receiving the start of the 1029 packet ( * character) at port A. The third band is the frequency distribution for the gap between sending X from port A and receiving the end of the 1029 packet ( # character) at port A. Result: Calculations show that it takes 22 milliseconds to send 1029 bytes at 460800 over a serial cable. The histogram above shows that the second band starts at about 43msec and ends at 85msec but unlike Test 1, the end of the packet reaches significantly sooner. 3.4 Normal Test 4 Baud rate=115200 Packet Len = 1029 (89ms to send at 115200) Result: 238 packets of 1029 characters where transferred in 60 seconds giving an overall throughput of 4082 bytes per second (32654 bits per second) 5

3.5 Normal Test 5 Result: 315 packets of 1029 characters where transferred in 60 seconds giving an overall throughput of 5402 bytes per second (43218 bits per second) 3.6 Normal Test 6 Result: 470 packets of 1029 characters where transferred in 60 seconds giving an overall throughput of 8060 bytes per second (64484 bits per second) 3.7 Optimised Test 7 Primed with 8 Acks at the beginning. Result: 893 packets of 1029 characters where transferred in 60 seconds giving an overall throughput of 15315 bytes per second (122519 bits per second) 3.8 Optimised Test 8 Primed with 16 Acks at the beginning. Result: 1120 packets of 1029 characters where transferred in 60 seconds giving an overall throughput of 19208 bytes per second (153664 bits per second). 6

3.9 Optimised Test 9 Baud rate=115200 Primed with 16 Acks at the beginning. Packet Len = 1029 (89ms to send at 115200) Result: 580 packets of 1029 characters where transferred in 60 seconds giving an overall throughput of 9947 bytes per second (79576 bits per second). 3.10 Normal Test 10 Bluetooth Serial Module to Bluetooth USB Adapter (Simulates DSP to PC scenario) Result: 792 packets of 1029 characters where transferred in 60 seconds giving an overall throughput of 13583 bytes per second (108662 bits per second) 3.11 Optimised Test 11 Bluetooth Serial Module to Bluetooth USB Adapter (Simulates DSP to PC scenario) Primed with 16 Acks at the beginning. Result: 1511 packets of 1029 characters where transferred in 60 seconds giving an overall throughput of 25914 bytes per second (207309 bits per second). 4 SUMMARY These tests demonstrate that latency is an inherent feature of Bluetooth. To minimise these effects, adopt a windowed acknowledgement scheme that produces the best throughput. Additionally, to increase overall throughput, configure the baud rate to the highest possible setting. REVISION HISTORY Revision Date Description Approved By 1.0 10 Sept. 2014 Initial Release Jonathan Kaye 1.1 03 Mar 2015 Updated footer Sue White 7