Asynchronous connection-oriented logical transport

Last updated

Introduction

ACL is an informal acronym which refers to the Bluetooth Asynchronous Connection-oriented Logical transport. ACL is used as a shorthand to refer to one of two types of logical transport defined in the Bluetooth Core Specification, either BR/EDR ACL or LE ACL. BR/EDR ACL is the ACL logical transport variant used with Bluetooth Basic Rate/Enhanced Data Rate (BR/EDR, also known as Bluetooth Classic) whilst LE ACL is the ACL logical transport variant used with Bluetooth Low Energy (LE).

Contents

The ACL transports are part of the Bluetooth data transport architecture.

Note that all definitions of Bluetooth terminology, protocols and procedures including ACL are defined in the Bluetooth Core Specification [1] which is published by the standards development organisation, the Bluetooth Special Interest Group (Bluetooth SIG).

The Bluetooth Data Transport Architecture

The architecture section of the Bluetooth Core Specification defines a number of concepts which collectively constitute the Bluetooth data transport architecture. Key amongst these concepts are the Physical Channel, Physical Link, Logical Link and Logical Transport. Certain combinations are intended for use in different application types which have particular requirements regarding issues such as topology, timing, reliability and radio channel use.

The LE ACL logical transport is used with either an LE-C logical link, which carries control data or an LE-U logical link which is for user data. It is based on an LE Active Physical Link and the LE Piconet Physical Channel. See Figure 1.

Figure 1 - The LE-ACL logical transport within the Bluetooth data transport architecture Bluetooth LE ACL data transport architecture.png
Figure 1 - The LE-ACL logical transport within the Bluetooth data transport architecture

The BR/EDR ACL logical transport is used with either an ACL-C logical link for control data or an ACL-U logical link for user data and it is based on a BR/EDR Active Physical Link and either the BR/EDR Basic Piconet Physical Channel or the BR/EDR Adapted Piconet Physical Channel. See Figure 2.

Figure 2 - The BR/EDR ACL logical transport within the Bluetooth data transport architecture Bluetooth BR EDR ACL data transport architecture.png
Figure 2 - The BR/EDR ACL logical transport within the Bluetooth data transport architecture

Both ACL variants are designed to provide reliable, bi-directional, point to point communication.

LE ACL

Overview

A Bluetooth LE Central device may establish a connection with an advertising Peripheral device by responding to a received connectable advertising packet with a PDU that requests a connection. A number of parameters are specified in the request. Amongst these parameters are connection interval, supervision timeout, peripheral latency and channel map.

The connection interval parameter defines how often in milliseconds, the radio can be used for servicing this connection. Whenever the connection interval timer expires, a connection event is said to begin and at this point, the Central device in the connection may transmit a link layer packet. At the start of each connection event, the radio channel to be used is selected using a procedure known as adaptive frequency hopping.

The Peripheral device, possessing the same connection parameters as the Central device knows when to expect transmitted packets from the Central device and over which channel. If the value of the Peripheral Latency connection parameter is zero, the Peripheral must reply to the Central device 150 microseconds (+/- 2µs) after receiving the last bit of the Central’s packet. Central and Peripheral may then proceed to exchange a further implementation-defined number of packets during the remainder of the connection event. Note that the Peripheral’s behavior may be modified by a non-zero Peripheral Latency parameter value.

Figure 3 shows a basic exchange of packets, during two connection events with C>P indicating packet transmission by the Central device and P>C by the Peripheral.

Figure 3 - Basic packet exchange over a Bluetooth LE-ACL connection (C denotes the Central device, P denotes the Peripheral device) Basic packet exchange over a Bluetooth LE-ACL connection.png
Figure 3 - Basic packet exchange over a Bluetooth LE-ACL connection (C denotes the Central device, P denotes the Peripheral device)

Packets exchanged over an LE ACL connection contain either LL Data PDUs or LL Control PDUs which are associated with Link Layer control procedures. If either device has no data to transmit and transmission of a packet is required, it must send an empty LL Data PDU.

The Supervision Timeout parameter specifies the maximum time which may elapse between two Link Layer data packets having been received before the link is considered to have been lost.

The Peripheral is not required to listen for packets from the Central device during every connection event. The Peripheral Latency parameter defines the number of consecutive connection events during which the Peripheral does not have to be listening. This gives the Peripheral the opportunity to save power.

Figure 4 shows the behavior of the Peripheral with Peripheral Latency = 1 and therefore listening during alternate connection events only. The Central may transmit during those events where the Peripheral is not listening, but such packets will not be received and therefore will not be acknowledged, ending the connection event.

Figure 4 - A Bluetooth LE-ACL connection with Peripheral Latency=1 (C denotes the Central device, P denotes the Peripheral device) Bluetooth LE-ACL connection with Peripheral Latency 1.png
Figure 4 - A Bluetooth LE-ACL connection with Peripheral Latency=1 (C denotes the Central device, P denotes the Peripheral device)

Acknowledgement and Flow Control

Link layer data packets contain three important fields which contribute to communication being reliable. These fields are called the Sequence Number (SN), Next Expected Sequence Number (NESN), and the More Data field. All three of these fields are single bit fields and their use provides a system of acknowledgements and a method for checking for the correct ordering of received packets.

Communication starts with the Central device (Device A in Figure 5) sending a link layer data packet with SN and NESN both set to zero. From this point on, at each packet exchange that takes place, if all is well, the value of the SN field as set by Device A, will alternate between zero and one. The other device (Device B) always knows therefore, what the SN value of the next packet to be received should be and checks for this.

If Device B receives a packet from Device A with the expected SN value, it responds with a link layer data packet that has NESN set to the logical value NOT(SN). So for example, if the received SN value was 1 then NESN in the response will be 0.

When Device A receives a response from Device B with NESN set to the value that Device A intends to use for SN in its next packet, Device A takes this to be an acknowledgement from Device B, confirming that it received the last transmitted packet correctly. Figure 5 shows this.

Figure 5 - A successful exchange of Bluetooth packets at the link layer A successful exchange of Bluetooth packets at the link layer.png
Figure 5 - A successful exchange of Bluetooth packets at the link layer

If Device B receives a packet with the wrong SN value, it assumes that the packet is the retransmission of the previous packet received, acknowledges it but does not pass it up the stack for further processing.

If Device A receives an unexpected NESN value in a reply from Device B or does not receive a reply at all, it resends the packet with the same SN value used originally. Different controller implementations are free to implement varying algorithms regarding how many times to resend before concluding communication to have failed. See Figure 6.

Figure 6 - Bluetooth link layer retransmissions Bluetooth link layer retransmissions.png
Figure 6 - Bluetooth link layer retransmissions

Each packet contains a CRC field and encrypted packets also contain an MIC field. On receiving a packet, the link layer checks the CRC and if present, the MIC. If either check fails, the packet is not acknowledged, and this generally results in the originator of the packet resending it. See Figure 7.

Figure 7 - Behaviour of the Bluetooth link layer when a CRC failure occurs CRC failure at the Bluetooth link layer.png
Figure 7 - Behaviour of the Bluetooth link layer when a CRC failure occurs

Channel Use

LE-ACL employs a spread spectrum scheme known as adaptive frequency hopping. At the start of each connection event, frequency hopping occurs, with one of the 37 general purpose Bluetooth LE radio channels being selected from the set of available channels using a channel selection algorithm. Each device in the connection will then switch to the selected channel and over time and a series of connection events, communication will take place using a frequently changing series of different channels, distributed across the 2.4 GHz band, thereby significantly reducing the probability of collisions occurring.

A channel map is maintained by the Central device and may also be maintained by the Peripheral device. This is a table of data which indicates which channels are available for use and which are not. Implementations mark channels as used or unused according to how well each channel is performing in terms or errors and evidence of interference. Unused channels are not selected by the channel selection algorithm. In this way, adaptive frequency hopping dynamically adjusts the channels used for active communication according to the prevailing RF conditions in the environment.

A number of control procedures relating to LE ACL connections are defined. A selection of examples appears in Table 1.

Table 1 - Example Link Layer control procedures
Control ProcedureDescription
Connection UpdateAllows either the Central or Peripheral device to request changes to the connection parameters connection interval, peripheral latency and supervision timeout.
Channel Map UpdateAllows the Central device to transfer its latest channel map data to the connected Peripheral.
EncryptionAllows either Central or Peripheral to enable the encryption of packets.
Feature ExchangeAllows Central or Peripheral to initiate an exchange of the Link Layer features each device supports, encoded as a bitmap field.
Periodic Advertising Sync TransferAllows either Central or Peripheral to transfer periodic advertising synchronization information relating to a periodic advertising train that has been discovered to the other device over an LE ACL connection.
CIS Creation ProcedureAllows a Central device to create a Connected Isochronous Stream (CIS) with the Peripheral.
Power Control RequestAllows one peer to request that the other peer adjust its transmit power level.
Channel Classification ReportingAllows a Peripheral to report channel classification data to the connected Central.

Subrated Connections

Subrated connections are LE ACL connections which have additional properties assigned to them and behave differently in some ways. The additional properties are called the subrate factor, subrate base event, and continuation number.

The subrated connection properties provide a mechanism for indicating that only a specific subset of connection events is to be actively used by the connected devices, with the radio not being used in other connection events. A subrated connection can therefore have a short ACL connection interval which allows low latency at the application layer but still exhibit a low duty cycle.

Figure 8 illustrates the basic concepts relating to subrated connections.

Figure 8 - Bluetooth LE subrated connection basic concept Bluetooth LE subrated connection basic concept.png
Figure 8 - Bluetooth LE subrated connection basic concept

Here we can see that only one in every five connection events is used by either Central or Peripheral. The other four are skipped and so there is no radio activity during those connection events. This ratio of used to skipped connection events is determined by the subrate factor parameter and in this example it is set to 5.

Subrated connections have a number of special Link Layer control procedures defined for use with them. For example, there is a procedure for updating subrated connection parameters which works differently to the general Connection Update procedure. Critically, changes to subrated connection parameters can be applied almost instantaneously whereas general connection parameter changes can take a significant amount of time to take effect. The advantage of subrated connections therefore is that persistent connections which exhibit a low duty cycle and consume little power can be established and can be switched to a high duty cycle, high bandwidth connection with no delay that any user could notice. This capability has particular applicability in some LE Audio scenarios such as those involving hearing aids and smartphones.

The Bluetooth Core Specification Version 5.3 Feature Enhancements paper has a substantial chapter dedicated to the subject of subrated connections and is recommended as a source of further information.

BR/EDR ACL

Overview

Communication using a BR/EDR ACL logical transport is similar to the LE ACL variant and provides an asynchronous point-to- point communication mechanism for exchanging data between a Central device and a Peripheral.

When a BR/EDR device joins a piconet, a default ACL logical transport automatically created. Other logical transport types (e.g., SCO - BR/EDR synchronous connection-oriented) between the same pair of devices are dependent upon the default ACL and if it is removed then the other logical transports are also removed.

BR/EDR ACL connections make use of time slots defined by the underlying physical channel. Central and Peripheral devices alternately transmit and receive during a subset of these time slots, allocated by the implementation. Synchronous logical transports are given priority such that BR/EDR connections use only those time slots that have not been reserved for synchronous communication.

Six packet types for defined for Bluetooth Basic Rate (BR) and are named DM1, DH1, DM3, DH3, DM5 and DH5. Bluetooth Enhanced Data Rate (EDR) defines a further six packet types named 2-DH1, 3-DH1, 2-DH3, 3-DH3, 2-DH5 and 3-DH5. A packet type AUX1 is defined for use in testing.

A BR/EDR ACL connection is established by a Peripheral device paging a Central device. The Central device performs page scanning.

Acknowledgments and Ordering

1-bit header fields ARQN and SEQN are used to allow positive or negative acknowledgements to be made and to verify that the order of packets received is as it should be.

Flow Control

The RX buffer associated with BR/EDR ACL connections may become full. The header field FLOW is used to provide a simple flow control mechanism with values in responses indicating STOP or GO.

Channel Use

Adaptive frequency hopping (a responsibility of the underlying physical channel) is in effect when using the BR/EDR ACL logical transport, with a channel selected at each reception or transmission event. 79 channels are defined for use with Bluetooth BR/EDR and there are a number of different possible hopping patterns defined.

The Link Manager Protocol (LMP) defines a series of PDU types which allow the control of and negotiation over details of the BR/EDR ACL logical transport to be carried out. LMP PDUs are sent over an ACL-C logical link.

Related Research Articles

Bluetooth is a short-range wireless technology standard that is used for exchanging data between fixed and mobile devices over short distances and building personal area networks (PANs). It employs UHF radio waves in the ISM bands, from 2.402 GHz to 2.48 GHz. It is mainly used as an alternative to wire connections, to exchange files between nearby portable devices and connect cell phones and music players with wireless headphones. In the most widely used mode, transmission power is limited to 2.5 milliwatts, giving it a very short range of up to 10 metres (33 ft).

IEEE 802.2 is the original name of the ISO/IEC 8802-2 standard which defines logical link control (LLC) as the upper portion of the data link layer of the OSI Model. The original standard developed by the Institute of Electrical and Electronics Engineers (IEEE) in collaboration with the American National Standards Institute (ANSI) was adopted by the International Organization for Standardization (ISO) in 1998, but it remains an integral part of the family of IEEE 802 standards for local and metropolitan networks.

In computer networking, the maximum transmission unit (MTU) is the size of the largest protocol data unit (PDU) that can be communicated in a single network layer transaction. The MTU relates to, but is not identical to the maximum frame size that can be transported on the data link layer, e.g. Ethernet frame.

<span class="mw-page-title-main">OSI model</span> Model of communication of seven abstraction layers

The Open Systems Interconnection model is a conceptual model that 'provides a common basis for the coordination of [ISO] standards development for the purpose of systems interconnection'. In the OSI reference model, the communications between a computing system are split into seven different abstraction layers: Physical, Data Link, Network, Transport, Session, Presentation, and Application.

<span class="mw-page-title-main">Personal area network</span> Computer network centered on an individual persons workspace

A personal area network (PAN) is a computer network for interconnecting electronic devices within an individual person's workspace. A PAN provides data transmission among devices such as computers, smartphones, tablets and personal digital assistants. PANs can be used for communication among the personal devices themselves, or for connecting to a higher level network and the Internet where one master device takes up the role as gateway.

SCSI Set of computer and peripheral connection standards

Small Computer System Interface is a set of standards for physically connecting and transferring data between computers and peripheral devices. The SCSI standards define commands, protocols, electrical, optical and logical interfaces. The SCSI standard defines command sets for specific peripheral device types; the presence of "unknown" as one of these types means that in theory it can be used as an interface to almost any device, but the standard is highly pragmatic and addressed toward commercial requirements. The initial Parallel SCSI was most commonly used for hard disk drives and tape drives, but it can connect a wide range of other devices, including scanners and CD drives, although not all controllers can handle all devices.

Connectionless communication, often referred to as CL-mode communication, is a data transmission method used in packet switching networks in which each data unit is individually addressed and routed based on information carried in each unit, rather than in the setup information of a prearranged, fixed data channel as in connection-oriented communication.

<span class="mw-page-title-main">Network topology</span> Arrangement of the elements of a communication network

Network topology is the arrangement of the elements of a communication network. Network topology can be used to define or describe the arrangement of various types of telecommunication networks, including command and control radio networks, industrial fieldbusses and computer networks.

<span class="mw-page-title-main">Protocol data unit</span> Unit of information transmitted over a computer network

In telecommunications, a protocol data unit (PDU) is a single unit of information transmitted among peer entities of a computer network. It is composed of protocol-specific control information and user data. In the layered architectures of communication protocol stacks, each layer implements protocols tailored to the specific type or mode of data exchange.

Simple Network Management Protocol (SNMP) is an Internet Standard protocol for collecting and organizing information about managed devices on IP networks and for modifying that information to change device behaviour. Devices that typically support SNMP include cable modems, routers, switches, servers, workstations, printers, and more.

<span class="mw-page-title-main">X.25</span> Standard protocol suite for packet switched wide area network (WAN) communication

X.25 is an ITU-T standard protocol suite for packet-switched data communication in wide area networks (WAN). It was originally defined by the International Telegraph and Telephone Consultative Committee in a series of drafts and finalized in a publication known as The Orange Book in 1976.

In the seven-layer OSI model of computer networking, the physical layer or layer 1 is the first and lowest layer; The layer most closely associated with the physical connection between devices. This layer may be implemented by a PHY chip.

OBEX is a communications protocol that facilitates the exchange of binary objects between devices. It is maintained by the Infrared Data Association but has also been adopted by the Bluetooth Special Interest Group and the SyncML wing of the Open Mobile Alliance (OMA). One of OBEX's earliest popular applications was in the Palm III. This PDA and its many successors use OBEX to exchange business cards, data, even applications.

Wireless USB Wireless radio communication protocol

Wireless USB was a short-range, high-bandwidth wireless radio communication protocol created by the Wireless USB Promoter Group which intended to increase the availability of general USB-based technologies. It was unrelated to Wi-Fi, and different from the Cypress WirelessUSB offerings. It was maintained by the WiMedia Alliance which ceased operations in 2009. Wireless USB is sometimes abbreviated as "WUSB", although the USB Implementers Forum discouraged this practice and instead prefers to call the technology Certified Wireless USB to distinguish it from the competing UWB standard.

<span class="mw-page-title-main">Link aggregation</span> Using multiple network connections in parallel to increase capacity and reliability

In computer networking, link aggregation is the combining of multiple network connections in parallel by any of several methods, in order to increase throughput beyond what a single connection could sustain, to provide redundancy in case one of the links should fail, or both. A link aggregation group (LAG) is the combined collection of physical ports.

Architecture for Control Networks (ACN) is a suite of network protocols for control of entertainment technology equipment, particularly as used in live performance or large-scale installations. For example, lighting, audio or special effects equipment. ACN is maintained by Entertainment Services and Technology Association and its first official release was ANSI Standard E1.17-2006 - Entertainment Technology - Architecture for Control Networks. The standard was subsequently revised and released as ANSI E1.17-2010.

Bluetooth Low Energy is a wireless personal area network technology designed and marketed by the Bluetooth Special Interest Group aimed at novel applications in the healthcare, fitness, beacons, security, and home entertainment industries. It is independent of classic Bluetooth and has no compatibility, but Bluetooth Basic Rate/Enhanced Data Rate (BR/EDR) and LE can coexist. The original specification was developed by Nokia in 2006 under the name Wibree, which was integrated into Bluetooth 4.0 in December 2009 as Bluetooth Low Energy.

iSCSI conformance testing is testing to determine whether an iSCSI Initiator/Target meets the iSCSI standard.

References

  1. "Bluetooth Core Specification".