Bluetooth SIG Shop | Bluetooth.org


Seleccionar idioma  
search site search 

Arquitectura - Interfaz del controlador del anfitrión (HCI)

Interfaz del controlador del anfitrión (HCI)

Descripción general

La HCI proporciona una interfaz de comandos entre el controlador de la banda base y el gestor de enlaces, y acceso a los parámetros de configuración. Esta interfaz proporciona un método uniforme de acceso a todas las funciones de la banda base Bluetooth.

Capas inferiores de la pila de software Bluetooth


La figura de la izquierda proporciona una visión de conjunto de las capas inferiores de software. El firmware HCI utiliza los comandos HCI para los dispositivos con tecnología Bluetooth accediendo a comandos de banda base, comandos del gestor de enlaces, registros de estado del dispositivo, registros de control y registros de acontecimientos.

Pueden existir varias capas entre el driver HCI del sistema anfitrión y el firmware HCI del dispositivo Bluetooth. Estas capas intermedias, la capa de transporte del controlador del anfitrión, proporcionan la capacidad de transferir datos sin tener conocimiento detallado de los mismos.

El driver HCI del anfitrión intercambia datos y comandos con el firmware HCI del dispositivo Bluetooth. El driver de la capa de transporte del controlador del anfitrión (es decir, del bus físico) proporciona a ambas capas HCI la capacidad de intercambiar información entre ellas.

El anfitrión recibirá notificaciones asíncronas de acontecimientos HCI independientemente de qué capa de transporte del controlador del anfitrión se use. Los acontecimientos HCI se usan para notificar al anfitrión que ha sucedido algo. Cuando el anfitrión descubre que se ha producido un acontecimiento, analizará el paquete del acontecimiento recibido para determinar de cuál se trata.

Capa de transporte del controlador del anfitrión

El software del driver del anfitrión cuenta con una capa de transporte entre el driver del controlador del anfitrión y el anfitrión. El principal objetivo de esta capa de transporte es la transparencia. El driver del controlador del anfitrión (que ejerce de interfaz con el controlador) debería ser independiente de la tecnología de transporte subyacente. El transporte tampoco debería requerir ninguna visibilidad de los datos que el driver del controlador del anfitrión pasa al controlador. Esto permite actualizar la interfaz (HCI) o el controlador sin afectar a la capa de transporte.




Descripción general de los comandos y eventos HCI

Acontecimientos genéricos

Los acontecimientos genéricos pueden ser el resultado de múltiples comandos, o acontecimientos que pueden producirse en cualquier momento.

Configuración de dispositivo

Los comandos de configuración de dispositivo se emplean para poner el controlador en un estado conocido.

Control de flujo del controlador

Los comandos y acontecimientos de control de flujo del controlador se emplean para controlar el flujo de datos desde el anfitrión al controlador.

Información del controlador

Los comandos de información del controlador permiten al anfitrión descubrir información local sobre el dispositivo.

Configuración del controlador

Los comandos y acontecimientos de configuración del controlador permiten la configuración de los parámetros globales de configuración.

Descubrimiento de dispositivos

Los comandos y acontecimientos de descubrimiento de dispositivos hacen posible que un dispositivo descubra otros en el área circundante.

Configuración de la conexión

Los comandos y acontecimientos de configuración de la conexión hacen posible que un dispositivo establezca una conexión con otro dispositivo.

Información remota

Los comandos y los acontecimientos de información remota hacen posible descubrir la información relativa a la configuración de un dispositivo remoto.

Conexiones síncronas

Los comandos y acontecimientos de conexión síncrona hacen posible la creación de conexiones síncronas.

Estado de conexión

Los comandos y acontecimientos de estado de conexión hacen posible la configuración de un enlace, en particular para el funcionamiento con bajo consumo energético.

Estructura de piconet

Los comandos y acontecimientos de estructura de piconet hacen posible su descubrimiento y reconfiguración.

Calidad de servicio

Los comandos y acontecimientos de calidad de servicio hacen posible la especificación de parámetros de servicio.

Enlaces físicos

Los comandos y acontecimientos de enlace físico hacen posible la configuración de un enlace físico.

Control de flujo del anfitrión

Los comandos y acontecimientos de control de flujo del anfitrión permiten controlar el flujo hacia el anfitrión.

Información de enlaces

Los comandos y acontecimientos de información de enlaces hacen posible la lectura de información sobre un enlace.

Autenticación y cifrado

Los comandos y acontecimientos de autenticación y cifrado hacen posible la autenticación de un dispositivo remoto y el subsiguiente cifrado del enlace.

Pruebas

Los comandos y acontecimientos de pruebas hacen posible que un dispositivo se ponga en modo de prueba.

Control de flujo HCI

Control de flujo de datos del anfitrión al controlador

El control de flujo se usa en la dirección del anfitrión al controlador para evitar el desbordamiento de los búfer con datos ACL destinados a un dispositivo remoto (usando un identificador de conexión) que no contesta. El anfitrión gestiona los búfer de datos del controlador.

Control de flujo de datos del controlador al anfitrión

En algunos casos, puede ser preciso controlar también el flujo desde el controlador hacia el anfitrión. El comando Set Host Controller To Host Flow Control (Ajustar control de flujo del controlador del anfitrión al anfitrión) permite activar o desactivar el control de flujo en esa dirección.

 
 
© 2009 Bluetooth SIG, Inc. All rights reserved. legal | privacy policy