Una interfaz de controlador de host USB y Firewire ( UFHC ) es una interfaz a nivel de registro que permite que un controlador de host para hardware USB o IEEE 1394 se comunique con un controlador de host en software. El software del controlador generalmente se proporciona con el sistema operativo de una computadora personal , pero también puede ser implementado por dispositivos específicos de la aplicación, como un microcontrolador .
En la tarjeta de expansión o en el controlador de la placa base, esto implica una lógica personalizada compleja, con motores lógicos digitales en el chip controlador de la placa base, además de circuitos analógicos que gestionan las señales diferenciales de alta velocidad. En cuanto al software , requiere un controlador de dispositivo (denominado controlador de host o HCD).
IEEE 1394
Interfaz de controlador de host abierta
Open Host Controller Interface ( OHCI ) [ 1 ] es un estándar abierto .

Cuando se aplica a una tarjeta IEEE 1394 (también conocida como FireWire , i.LINK o Lynx ), OHCI significa que la tarjeta admite una interfaz estándar para la PC y puede ser utilizada por los controladores OHCI IEEE 1394 que vienen con todos los sistemas operativos modernos . Debido a que la tarjeta tiene una interfaz OHCI estándar, el sistema operativo no necesita saber de antemano quién fabrica la tarjeta ni cómo funciona; puede asumir con seguridad que la tarjeta entiende el conjunto de comandos bien definidos que se definen en el protocolo estándar .
USB
Interfaz de controlador de host abierta
El estándar OHCI para USB es similar al estándar OHCI para IEEE 1394, pero solo admite USB 1.1 (velocidades completas y bajas); por lo tanto, su interfaz de registro es completamente diferente. En comparación con UHCI, traslada más inteligencia al controlador y, por consiguiente, es mucho más eficiente; esta fue una de las motivaciones para su definición. Si un ordenador proporciona USB 1.1 no x86, o USB 1.1 x86 desde un controlador USB que no sea de Intel o VIA, probablemente utilice OHCI (por ejemplo, OHCI es común en tarjetas PCI adicionales basadas en un chipset NEC). Tiene muchas menos restricciones de propiedad intelectual que UHCI. [ 2 ] Solo admite direccionamiento de memoria de 32 bits, [ 3 ] por lo que requiere una IOMMU o un búfer de rebote computacionalmente costoso para funcionar con un sistema operativo de 64 bits. OHCI se comunica con el resto del ordenador solo con E/S mapeadas en memoria . [ 3 ]
Interfaz universal de controlador de host
La interfaz de controlador de host universal ( UHCI ) es una interfaz propietaria creada por Intel para USB 1.x (velocidades completas y bajas). Requiere una licencia de Intel. Un controlador USB que utiliza UHCI realiza pocas tareas a nivel de hardware y requiere un controlador UHCI de software para gestionar gran parte del bus USB. [ 2 ] Solo admite direccionamiento de memoria de 32 bits, [ 4 ] por lo que requiere una IOMMU o un búfer de rebote computacionalmente costoso para funcionar con un sistema operativo de 64 bits. UHCI se configura con E/S mapeadas por puerto y E/S mapeadas por memoria, y también requiere E/S mapeadas por memoria para las actualizaciones de estado y para los búferes de datos necesarios para almacenar los datos que deben enviarse o que se recibieron. [ 4 ]
Interfaz de controlador de host mejorada
La interfaz de controlador de host mejorada ( EHCI ) [ 5 ] es un estándar de controlador de alta velocidad aplicable a USB 2.0. Los sistemas basados en UHCI y OHCI, existentes anteriormente, implicaban una mayor complejidad y costes innecesarios. Por consiguiente, el Foro de Implementadores de USB (USB-IF) insistió en una especificación pública para EHCI. Intel organizó las pruebas de conformidad de EHCI , lo que contribuyó a evitar la introducción de funciones propietarias.
Originalmente, un PC con puertos de alta velocidad tenía dos controladores: uno para dispositivos de baja y alta velocidad y otro para dispositivos de alta velocidad. Normalmente, este sistema contaba con controladores EHCI y OHCI o UHCI. El controlador UHCI proporcionaba interfaces de baja y alta velocidad para los controladores de host USB de los chipsets Intel o VIA en la placa base, o para cualquier controlador de host discreto de VIA conectado al bus de expansión del ordenador. El controlador OHCI proporcionaba funciones de baja y alta velocidad para los puertos USB de los controladores de host USB integrados o discretos de otros fabricantes de chipsets de placas base conectados al bus de expansión del ordenador. El controlador EHCI proporcionaba funciones de alta velocidad para los puertos USB de la placa base o del controlador USB discreto. Los sistemas de hardware más recientes enrutan todos los puertos a través de un concentrador interno de "adaptación de velocidad" (RMH, por sus siglas en inglés) que convierte todo el tráfico que involucra a cualquier puerto conectado directamente que funcione a velocidad máxima o baja velocidad entre el tráfico de alta velocidad presentado al controlador EHCI y el tráfico de velocidad máxima o baja velocidad que esperan los puertos que operan a esas velocidades, lo que permite al controlador EHCI gestionar estos dispositivos.
La especificación de la interfaz de software EHCI define versiones de 32 y 64 bits de sus estructuras de datos, [ 5 ] por lo que no necesita un búfer de rebote o IOMMU para funcionar con un sistema operativo de 64 bits si se implementa un concentrador de adaptación de velocidad para proporcionar conectividad de velocidad completa y baja en lugar de controladores complementarios que utilicen la especificación UHCI o la especificación OHCI, ambas especificaciones solo de 32 bits.
EHCI ha añadido funciones de administración de energía, especialmente la suspensión selectiva USB. [ 6 ]
Interfaz de controlador de host extensible
La interfaz de controlador de host extensible ( xHCI ) es el estándar de controlador de host más reciente que mejora la velocidad, la eficiencia energética y la virtualización con respecto a sus predecesores. El objetivo era definir un controlador de host USB que reemplazara a UHCI/OHCI/EHCI. Es compatible con todas las velocidades de dispositivos USB (USB 3.1 SuperSpeed+, USB 3.0 SuperSpeed, USB 2.0 de baja, máxima y alta velocidad, y USB 1.1 de baja y máxima velocidad).
Interfaz del controlador de host virtual
La interfaz de controlador de host virtual ( VHCI ) se refiere a un controlador virtual que puede exportar dispositivos USB virtuales que no están respaldados por dispositivos físicos. Por ejemplo, en Linux, los controladores VHCI se utilizan para exponer dispositivos USB de otras máquinas, conectados mediante el protocolo USB/IP .
Interfaz de host USB4
La interfaz de host USB4 se define en la especificación USB4. Permite que el sistema operativo gestione la ruta de host USB4 para USB, DisplayPort, PCI Express, Thunderbolt o comunicación de host a host. [ 7 ]
Véase también
Referencias
- ↑ "Especificación de la interfaz del controlador de host abierto 1394, versión 1.1" (PDF) . microsoft.com . Promotores de la HCI abierta 1394. 6 de enero de 2000. Archivado (PDF) del original el 21 de julio de 2017.
- 1 2 "Preguntas frecuentes sobre USB en Linux" . 27 de agosto de 2007. Consultado el 13 de abril de 2014 .
- 1 2 Compaq; Microsoft; National Semiconductor (14 de septiembre de 1999). "Especificación del controlador de host abierto para USB, versión: 1.0a" (PDF) . getusb.info . Archivado del original (PDF) el 18 de mayo de 2020. Recuperado el 12 de mayo de 2020 .
- 1 2 Intel (marzo de 1996). "Guía de diseño de la interfaz del controlador de host universal (UHCI), revisión 1.1" (PDF) . netbsd.org . Consultado el 10 de enero de 2017 .
- 1 2 "Especificación de interfaz de controlador de host mejorada" . Intel.com . Archivado del original el 2 de abril de 2013. Recuperado el 10 de enero de 2017 .
- ↑ "Especificación de interfaz de controlador de host mejorada para bus serie universal" (PDF) . Archivado (PDF) del original el 2 de mayo de 2026. Consultado el 14 de junio de 2026 .
- ↑ "El controlador de host USB4® ASM4242 ha superado la certificación USB-IF" (PDF) . Archivado (PDF) del original el 19 de mayo de 2024. Consultado el 15 de agosto de 2024 .
Enlaces externos
- Documento estándar OHCI para USB de Compaq, Microsoft y National Semiconductor.
- Fuente del kernel de Linux: documentación de OHCI y EHCI
- Especificación Intel EHCI
- Especificación Intel xHCI
- Estándares de hardware informático
- USB