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