Un controlador de host de bus serie universal (USB) es una interfaz que permite que una pieza de hardware habilitada interactúe y se comunique con una pieza de software en particular. La conexión USB es un puerto de entrada y salida que viene de serie con la mayoría de las computadoras y una variedad de otros equipos digitales que permiten que los datos se transmitan a través de un cable o cualquier otra forma de conexión directa. Un controlador de host USB gestiona la comunicación entre los dispositivos periféricos y el sistema informático. La mayoría de las computadoras modernas tienen controladores de host de alta velocidad y muchas computadoras antiguas pueden tener un controlador de host instalado fácilmente en una ranura abierta en su placa base.
Un controlador de host USB de alta velocidad mantiene una conexión entre dispositivos como un teclado, mouse, módem o impresora y asegura que el sistema operativo de la computadora reconozca el dispositivo. El sistema operativo se basa en el controlador de host USB para evitar tener que instalar controladores individuales para cada dispositivo conectado. Cada dispositivo USB se comunica con el sistema operativo de la computadora en un lenguaje de programación estándar, como C ++.
Hay varios tipos de interfaz de controlador de host USB que admiten diferentes tipos de puertos USB. La interfaz de controlador de host abierta (OHCI) es el estándar para la mayoría e incluso es compatible con USB 1.1. La interfaz de controlador de host universal (UHCI) de Intel® admite USB 1 en velocidades rápidas y lentas. Otros tipos de interfaces de controlador de host incluyen la interfaz de controlador de host mejorada (EHCI), que está clasificada como súper rápida según los estándares especificados públicamente, y el estándar de controlador de host más nuevo, llamado interfaz de controlador de host extensible (xHCI). El xHCI ha sido diseñado para mejorar la velocidad, la potencia y la eficiencia que sus predecesores.
El reconocimiento de dispositivos estándar como el teclado y el mouse por parte del sistema operativo generalmente lo realiza automáticamente el controlador del host. El protocolo del controlador de host combina el proceso de comunicación de varios dispositivos para crear una transferencia de datos eficiente y simultánea. Un buen ejemplo es cuando un usuario de computadora ingresa datos en un programa de procesamiento de texto usando un teclado y un mouse al mismo tiempo.
Un controlador de host USB es capaz de establecer comunicación entre la computadora y varios dispositivos a través de un solo puerto. El controlador de host también determina cómo se alimenta cada dispositivo conectado, razón por la cual un usuario puede cargar un teléfono celular a través de un puerto USB mientras escucha música desde una memoria USB en otro puerto. Para computadoras antiguas sin un controlador de host USB, el hardware se puede comprar a los proveedores e instalar en una ranura de la placa base con bastante rapidez.