Bluetooth Radio and Baseband
The Bluetooth radio is the hardware transceiver unit that implements the
Bluetooth radio specification. The purpose of the specification is to provide
compatibility between Bluetooth devices that operate in the 2.4 GHz ISM band,
and to define the quality of the system. Further information on the Bluetooth
radio specifications may be found in the Bluetooth core specification document.
The Bluetooth baseband consists mainly of a Link Controller (LC) that carries
out baseband protocols and low-layer link routines. Protocols defined within the
scope of the baseband specification include (among others) physical channels and
links, data packet definitions, error correction and detection, logical
channels, channel control, and hop selection. For more information about the
Bluetooth baseband specification, see the Bluetooth core specification document.
An example implementation of the Bluetooth radio and baseband is the Ericsson
Bluetooth Module. In addition to the hardware, this module contains the firmware
that implements the baseband specifications. As you'd expect, there are a number
of other manufacturers developing Bluetooth modules too.
Bluetooth Software Protocol Stack
The Bluetooth software protocol stack can be thought of as driver code. This
code allows the application software to send and receive information from the
Bluetooth module. Several implementations of this currently exist, and vary from
GNU licensed code to commercial products targeted at various operating systems.
Major components of the protocol stack are the Link Manager (LM), the Logical
Link Control and Adaptation Protocol (L2CAP), the Host Control Interface (HCI),
the Service Discovery Protocol (SDP), Audio/Telephony Control, RFCOMM, Human
Interface Device (HID), TCP/IP, and other high level protocols. These are all
described in the subsequent sections.

Link Manager (LM)
The LM manages link setup, link configuration, and link packet control and
transfer. The LM also manages link security during the initialization of the
connection and throughout its existence (where applicable). The LM handles
synchronous and asynchronous packet communication within the piconet, as well as
the timing parameters used during communication. The LM also handles
master/slave role switching between devices. Sniff, hold, and park mode behavior
is controlled by the LM too.
'Sniff', 'hold', and 'park' are power saving modes in which a Bluetooth
device may operate. They allow for varying levels of participation and
communication within a piconet. The use of each of these modes is broadly
determined by the type of device, its function, and overall need for immediate
service.
Logical Link Control and Adaptation Protocol (L2CAP)
The services provided by L2CAP include protocol multiplexing, segmentation
and reassembly, and quality of service. The L2CAP protocol architecture is
connection-oriented, with connections labeled by a channel identifier. Each
channel is assumed to be a full-duplex connection, with a Quality-of-Service (QoS)
flow specification being applied to each channel direction.
Protocol multiplexing enables an application to use several higher-layer
protocols simultaneously - RFCOMM, TCP/IP, etc. This service also passes
packets used by the higher layer protocols to the appropriate handlers. Protocol
identifiers have a one-to-many mapping with channel identifiers. For example, a
master device may provide a TCP/IP service and have more than one slave unit
using that service.
Segmentation and reassembly is a service by which packets from higher layer
protocols are segmented into appropriate-sized Bluetooth packets and reassembled
again after transmission. This service is transparent to the higher layer
protocols.
The L2CAP also negotiates and enforces Quality Of Service (QoS) contracts,
which are based on the type of service provided, with a 'best effort' contract
used by default. QoS regulates the token size (bytes), the rate and peak
bandwidth (bytes/sec), and other key elements to ensure a robust connection.
Host Control Interface (HCI)
The HCI provides a standard interface to the Bluetooth module and link
manager services that is independent from the host hardware implementation. This
layer provides transparency between the host controller and the Bluetooth
hardware. There is an addendum to the HCI specification for each physical bus (USB,
PCI, RS232, etc.) that further defines the interface functions based on which
physical bus is used.
Service Discovery Protocol (SDP)
The SDP is the layer that exposes high-level services such as LAN access or
printer services to users and other applications. This layer also provides
information to implement a plug-and-play solution, such as a laptop computer
using a printer. This layer could be implemented using a higher SDP such as Java
JINI.
Audio and Telephony Control
These two protocols are linked, because in the Bluetooth specification,
telephony Control contains Call Control and Audio Control. This protocol defines
the interface needed to connect and disconnect a call, including signaling the
devices desired to participate in the connection. Telephony audio links are
established with synchronous links, and therefore do not go through the same
L2CAP-to-LM path that asynchronous links go through. Audio links may be thought
of as direct baseband to baseband links.
RFCOMM
RFCOMM provides a protocol to emulate cables with Bluetooth, enabling
compatibility with a large base of applications that currently use the serial
port as their main communication bus. RFCOMM conveys all of the RS232 control
signals, and supports remote port configuration. RFCOMM borrows from the IrComm
in the IrDA protocol stack.
Human Interface Device (HID)
HID is a protocol that enables the concept of a cordless computer. HID
describes keyboards, mice and joysticks. This layer would enable plug and play
support for such devices when used with a PC.
TCP/IP
TCP/IP over Bluetooth presents a powerful way to link devices. TCP/IP is a
network and transport layer that's widely supported by applications and APIs
across almost every operating system. The problems with using TCP/IP over
Bluetooth include, among others, handling ad hoc networking, DNS name
resolution, and broadcasting. Better profiles for networking with Bluetooth are
currently being developed by the SIG.
Other Protocols
Other protocols include things such as WAP, object exchange, still image, IR,
etc. These protocols would be used by an application that sends its native
packets through Bluetooth, just as it would use any other transport layer. All
of these possibilities exist within the scope of Bluetooth. All that is missing
is the development of the applications
|