Host Controller Interface


The basic structure showing how the host controller layers are fitted

into the protocol stack is shown below:


For many devices, the Bluetooth enabling module may be added as a separate card, for instance, on a PC or a laptop, the Bluetooth hardware may be added as a PCI card or a USB adapter. 


Hardware modules usually implement the lower layers-radio, baseband and LMP. Then the data to be sent to LMP and baseband travels over the physical bus like USB. A driver for this bus is required on the "host", that is the PC, and a "host controller interface" is required on the Bluetooth hardware card to accept data over the physical bus. Thus, if the higher Bluetooth layers, L2CAP and above are in software and the lower ones in hardware, the following extra layers are at least required:


HCI driver:  This is the driver for host controller interface. It resides in the

host, above the physical bus, and formats the data to be accepted by

the Host Controller on the Bluetooth hardware.


Host Controller Interface:  This resides on the Bluetooth

hardware and accepts communications over the

physical bus.