stringtranslate.com

Interfaz del controlador del host (USB, Firewire)

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 un sistema operativo de una computadora personal , pero también puede implementarse mediante dispositivos específicos de la aplicación, como un microcontrolador .

En la tarjeta de expansión o el controlador de la placa base, esto implica mucha lógica personalizada, 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 el lado del software , se requiere un controlador de dispositivo (llamado controlador de host o HCD).

IEEE 1394

Interfaz de controlador de host abierta

La interfaz de controlador de host abierta ( OHCI ) [1] es un estándar abierto .

Imagen de un controlador de host integrado VIA VT6307 utilizado para la comunicación IEEE 1394A

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 exactamente quién fabrica la tarjeta o 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 que, como resultado, su interfaz de registro se ve completamente diferente. Comparado con UHCI, transfiere más inteligencia al controlador y, por lo tanto, es mucho más eficiente; esto fue parte de la motivación para definirlo. Si una computadora proporciona USB 1.1 que no es x86, o USB 1.1 x86 desde un controlador USB que no está fabricado por Intel o VIA, probablemente use OHCI (por ejemplo, OHCI es común en tarjetas PCI complementarias 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. [ cita requerida ] OHCI interactúa con el resto de la computadora solo con E/S mapeadas en memoria . [3]

Interfaz de controlador de host universal

Universal Host Controller Interface ( 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 hace poco en hardware y requiere un controlador UHCI de software para hacer gran parte del trabajo de gestión 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. [ cita requerida ] UHCI está configurado con E/S asignadas a puertos y E/S asignadas a memoria, y también requiere E/S asignadas a memoria para actualizaciones de estado y para búferes de datos necesarios para almacenar datos que deben enviarse o datos 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, como existían anteriormente, implicaban una mayor complejidad y costos de lo necesario. En consecuencia, el USB Implementers Forum (USB-IF) insistió [ ¿cuándo? ] en una especificación pública para EHCI. Intel organizó pruebas de conformidad con EHCI y esto ayudó a evitar la incursión de características propietarias.

Originalmente, una PC que proporcionaba puertos de alta velocidad tenía dos controladores, uno que manejaba dispositivos de baja y máxima velocidad y el segundo que manejaba dispositivos de alta velocidad. Por lo general, un sistema de este tipo tenía controladores EHCI y OHCI o UHCI. El controlador UHCI proporciona interfaces de baja y máxima velocidad para los controladores host USB de chipsets Intel o VIA en la placa base, o para cualquier controlador host discreto VIA conectado al bus de expansión de la computadora. El controlador OHCI proporciona funciones de baja y máxima velocidad para los puertos USB de todos los demás proveedores de chipsets de placa base o controladores host discretos conectados al bus de expansión de la computadora. El controlador EHCI proporciona funciones de alta velocidad para los puertos USB en la placa base o en el controlador USB discreto. El hardware más reciente enruta todos los puertos a través de un concentrador interno de "adaptación de velocidad" (RMH) que convierte todo el tráfico que involucra a cualquier puerto conectado directamente que funcione a velocidad completa o baja velocidad entre el tráfico de alta velocidad presentado al controlador EHCI y el tráfico de velocidad completa o baja velocidad que esperan los puertos que funcionan a esas velocidades, lo que permite que el controlador EHCI maneje estos dispositivos.

La especificación de 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 coincidencia de velocidad para proporcionar conectividad de alta y baja velocidad en lugar de controladores complementarios que utilizan la especificación UHCI o la especificación OHCI, las cuales son solo especificaciones de 32 bits.

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 en comparación con sus predecesores. El objetivo también era definir un controlador de host USB para reemplazar a UHCI/OHCI/EHCI. Admite todas las velocidades de dispositivos USB (USB 3.1 SuperSpeed+, USB 3.0 SuperSpeed, USB 2.0 de baja, máxima y alta velocidad, 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

Interfaz de host definida en la especificación USB4. Permite que el sistema operativo administre la ruta de host USB4 para USB, DisplayPort, PCI Express, Thunderbolt o comunicación de host a host.

El controlador de host USB4® ASM4242 ha superado la certificación USB-IF

Véase también

Referencias

  1. ^ http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/ohci_11.pdf [ URL desnuda PDF ]
  2. ^ ab "Preguntas frecuentes sobre USB de Linux". 27 de agosto de 2007. Consultado el 13 de abril de 2014 .
  3. ^ ab "Copia archivada" (PDF) . Archivado desde el original (PDF) el 2020-05-18 . Consultado el 2020-05-12 .{{cite web}}: CS1 maint: copia archivada como título ( enlace )
  4. ^ ab "UHCI11D.DOC" (PDF) . Ftp.netbsd.org . Consultado el 10 de enero de 2017 .
  5. ^ ab "Especificación de interfaz de controlador de host mejorada". Intel.com . Consultado el 10 de enero de 2017 .

Enlaces externos