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.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.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.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.Link Control
A number of control procedures relating to LE ACL connections are defined. A selection of examples appears in Table 1.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.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.Link Control
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.References
External links