07 April 2016

Bluetooth stack: General & Embedded Implementations

Bluetooth stack


Bluetooth is a wireless technology standard used for exchanging data over short distances (using short-wavelength UHF radio waves in the ISM band from 2.4 to 2.485 GHz) from fixed and mobile devices, and building personal area networks (PANs). Invented in 1994 by telecom vendor Ericsson.


A Bluetooth stack is software that refers to an implementation of the Bluetooth protocol stack. 
The Bluetooth protocol stack is split in two parts: a "controller stack" containing the timing critical radio interface, and a "host stack" dealing with high level data. The controller stack is generally implemented in a low cost silicon device containing the Bluetooth radio and a microprocessor. The host stack is generally implemented as part of an operating system, or as an installable package on top of an operating system. For integrated devices such as Bluetooth headsets, the host stack and controller stack can be run on the same microprocessor to reduce mass production costs; this is known as a hostless system.

Bluetooth stacks can be roughly divided into two distinct categories:
1. General-purpose implementations that are written with emphasis on feature-richness and flexibility, usually for desktop computers. Support for additional Bluetooth profiles can typically be added through drivers.
2. Embedded system implementations intended for use in devices where resources are limited and demands are lower, such as Bluetooth peripheral devices

General Implementations:
1. FreeBSD 
Its implemented using the Netgraph framework. Variety of Bluetooth USB dongles are supported by the ng_ubt driver.
2. Linux 
The Linux operating system currently has BlueZ included with the official Linux kernel distributions , initially developed by Qualcomm.
3. BlueZ 
BlueZ is a Bluetooth stack for Linux kernel-based operating systems. Its goal is to program an implementation of the Bluetooth wireless standards specifications for Linux. In addition to the basic stack, the bluez-utils and bluez-firmware packages contain low level utilities such as dfutool which can interrogate the Bluetooth adapter chipset to determine whether its firmware can be upgraded.
4. Mac OS X 
Since version 10.2, Apple Mac OS X has contained an integrated Bluetooth stack. Included profiles are DUN, SPP, FAX, HID, HSP, SYNC, PAN, BPP and OBEX. Version 10.5 adds support for A2DP and AVRCP.
5. Windows:

  • Widcomm was the first Bluetooth stack for the Windows system. The stack was initially developed by a company named Widcomm Inc., which was acquired by Broadcom Corporation in 2004.


  • Microsoft Windows stack: Prior to Windows 8, the Microsoft Windows Bluetooth stack only supports external or integrated Bluetooth dongles attached through USB. It does not support Bluetooth radio connections over PCI, I²C, serial, PC Card or other interfaces. Generally, only a single stack can be used at any time: switching usually requires uninstalling the current stack, although a trace of previous stacks remains in the Windows registry.
  • Bluetooth Toshiba stack: Toshiba has created its own Bluetooth stack for use on Microsoft Windows. Toshiba licenses their stack to other original equipment manufacturers (OEM) and has shipped with some ASUS, Dell and Sony laptops. A non-disclosure agreement must be signed to obtain the API. The Toshiba stack is also available with certain non-OEM Bluetooth accessories such as USB Bluetooth dongles and PCMCIA cards from various vendors.

BlueSoleil
BlueSoleil is a product of IVT Corporation, which produces stacks for embedded devices and desktop systems. The stack is available in both standard and VOIP versions. It supports the profiles A2DP, DUN, FAX, HFP, HSP, LAP, OBEX, OPP, PAN, SPP, AV, BIP, FTP, HID and SYNC.

Embedded implementations:
1. BlueCode+
2. BlueCore Host Software (BCHS) a.k.a. CSR Synergy
3. ClarinoxBlue
4. EtherMind stack, dotstack
5. Symbian OS, Blue SDK






Support this site: