This post wraps up our six-part series on Bluetooth 101. The purpose has been to provide a basic understanding of Bluetooth technology, in general. For a detailed understanding, the reader is advised to seek more detailed expert interaction.
As a refresher, Bluetooth is a wireless technology standard used to exchange data over short distances, from fixed and/or mobile devices. It builds on the concept of personal area networks (PANs), or Piconets. Bluetooth exchanges data using short-wavelength transmissions in the ISM 2.4 GHz band.
The heart of Bluetooth is the protocol stack. The protocol stack defines how the technology works, and how it is to be used to accomplish specific tasks.
Bluetooth Architecture/Protocol Stack
Bluetooth is both a hardware-based radio system and a software stack that specifies the linkages between the architecture layers of the two. The heart of this specification is the protocol stack, which is used to define how Bluetooth works. The Bluetooth protocol stack is a set of layered programs. Each layer in a protocol stack talks to the layer above it and to the layer below it.
Think of Bluetooth as having two well-defined layers of functionality in the stack. These layers range from the lower level hardware-based radio system, to an upper level software stack that specifies the linkages between the layers (Figure 1).
Lower Stack Layers
The lower layers are the basic core specifications that describe how Bluetooth works. The base of the Bluetooth protocol stack is the radio layer, or module. The radio layer describes the physical characteristics of the transceiver. It is responsible for modulation/demodulation of data for transmitting or receiving over radio frequencies in the 2.4 GHz band. This is the physical wireless connection. It splits the transmission band into 79 channels and performs fast frequency hopping (1600 hops/sec) for security.
Above the radio layer is the baseband and link controller/link manager protocol (LMP). Perhaps the best way to think of these layers is that the baseband is responsible for properly formatting data for transmission to and from the radio. It defines the timing, framing, packets, and flow control on the link. The link manager controller translates the host controller interface (HCI) commands from the upper stack, and establishes and maintains the link. It is responsible for managing the connection, enforcing fairness among slaves in the piconet, and provides for power management.
Upper Stack Layers
The upper stack layers consist of profile specifications that focus on how to build devices that will communicate with each other, using the core technology.
The host controller interface (HCI) serves as the interface between the software part of the system and the hardware (i.e., the device driver).
The L2CAP (logical link control and adaptation protocol) layer is above the HCI in the upper stack. Among other functions, it plays a central role in communication between the upper and lower layers of the Bluetooth stack. It keeps track of where data packets come from and where they should go. It is a required part of every Bluetooth system.
Above the L2CAP layer, the protocol stack is not as linearly ordered. Still, the service discovery protocol (SDP) is important to mention because it exists independently of other higher-level protocol layers. It provides the interface to the link controller and allows for interoperability between Bluetooth devices.
Of course, it is not required to partition the Bluetooth stack as shown in Figure 1. Bluetooth headsets, for example, combine the module and host portions of the stack on one processor to meet self-containment and small size needs. In such devices, the HCI may not be implemented at all unless device testing is required.
Bluetooth Protocol Profiles
A Bluetooth profile is a set of instructions for using the protocol stack in a certain way. Many different profiles exist, depending on the types of devices connected and their purposes. For example, a cell phone might implement the Headset Profile (HSP), while a FAX machine might implement the FAX Profile.
A profile is a complete definition of how a product manufacturer can implement Bluetooth wireless technology for a particular usage – how to accomplish specific tasks. In other words, to use Bluetooth wireless technology, a device must be able to interpret certain Bluetooth profiles, of which there are many, depending on the activity desired. Profiles are definitions of possible applications, and specify the behaviors that Bluetooth-enabled devices use to communicate with each other. A non-technical way to describe profiles is to think of them as settings, or instructions to be followed for communication to occur. All devices in the connection must be compatible with the subset of Bluetooth profiles necessary to use the desired services.
At a minimum, each Bluetooth profile contains information on the following:
- Dependencies on other profiles/protocols
- Suggested user interface formats
- Specific parts of the Bluetooth protocol stack used by the profile.
To perform its task, each Bluetooth profile uses specific options and parameters at each layer of the stack. As an example, suppose the desire is to stream high-quality Audio. To accomplish this, the A2DP (Advanced Audio Distribution Profile) uses the LMP and L2CAP protocols that control the Baseband Radio interface to transmit the desired digital audio stream that would be used. On the receiving end, the process would flow in reverse to yield the desired audio data.
Many Bluetooth protocols are implemented in software – too many and diverse to describe in this post. The L2CAP provides the interface to the link controller, and allows for interoperability between Bluetooth devices. Examples of a few of the many profiles are:
- A2DP – Advanced Audio Distribution Profile
- AVRCP – Audio/Video Remote Control Profile
- GAVDP – General Audio/Video Distribution Profile
- PAN – Personal Area Networking
- HFP – Hands-Free Profile
- HSP – Headset Profile
- CTP – Cordless Telephony Profile
- VDP – Video Distribution Profile
- FTP – File Transfer Profile
- RFCOMM – Radio Frequency Communications
- TCS – Telephony Control Protocol
- WAP – Wireless Application Protocol
- SDP – Service Discovery Protocol
- TCP/IP – Transmission Control Protocol/Internet Protocol
Why is it Called Bluetooth?
The name reflects the Scandinavian origins of the technology. It was named after a 10th century Danish Viking, King Harald Blätand (Blätand means “Bluetooth” in English). Legend says that he liked eating blueberries so much that his teeth became stained with the color of the fruit – hence his name. Because he united Denmark, Sweden, and Norway, he was associated with uniting efforts, hence the association of uniting devices via Bluetooth.
Although this series of posts has been related to Bluetooth technology in general, Bluetooth has been used for a number of years in our particular discipline, that of hearing aid devices. The original HiPRO programming interface made use of the RS232 (serial port) interface on the PC. One of the first uses of Bluetooth was to replace this RS232 wired communication connection with a Bluetooth link as used by the NoahLink programming box.
The Bluetooth Special Interest Group (SIG) had identified wireless RS232 application as a targeted application of this emerging technology, and as such, had defined a profile for just such applications.
More recently, Bluetooth technology has been applied inside a number of relay or streamer hearing aids to provide access to the mobile phone Bluetooth Headset profiles, in addition to being able to stream music from those devices.
The hearing aid industry is on the verge of seeing Bluetooth-like connectivity directly to the hearing aid. This will be the topic of a future set of posts on this site. So, stay tuned.