Desde el wiki de oracle (controlador usb):

El controlador de host USB tiene un concentrador incrustado llamado concentrador raíz. Los puertos que están visibles en el panel posterior del sistema son los puertos del concentrador raíz.

Lo que entiendo de esto es que el concentrador raíz simplemente es un punto en el que todos los concentradores USB se unen.

-¿Es el concentrador raíz una pieza de hardware o es un término que se usa para indicar el punto en el que todos los datos de los dispositivos USB se juntan?

-Existen diferentes tipos de interfaces entre el concentrador raíz y el controlador (UHCI, OHCI, EHCI), ¿es correcto pensar en el controlador como un «intermediario» entre el concentrador raíz y la computadora real?

Respuesta

Puede tener más de un concentrador raíz, así que no, no es el punto donde todos los concentradores se unen. Sería más conveniente pensar en el concentrador raíz como uno de los varios puntos de partida para la enumeración.

El concentrador raíz es una pieza de hardware. Más específicamente, es parte del controlador de host (que a su vez puede ser independiente chip o una parte del chipset).

Las interfaces que menciona son interfaces de controlador de host (HCI), es decir, interfaces del controlador de host, no del concentrador raíz. Básicamente son registros a los que el software puede acceder para comunicarse con el controlador del host.

De lo anterior, no creo que el término «intermediario» sea aplicable como lo imaginó.

ACTUALIZAR :

Aquí hay un análogo simple para ilustrar las relaciones:

Un vehículo es un controlador. Tiene una interfaz (pedales) que el software (conductor) puede usar para operar el controlador. También tiene un motor (concentrador raíz) que realiza una parte esencial de la funcionalidad del automóvil.

Puede decir que el conductor opera un motor usando pedales, y eso sería correcto pero no precisa, porque hay bastantes partes entre los pedales y el motor. Estas partes corresponden a los circuitos lógicos internos del controlador.

Por lo tanto, una declaración más precisa sería «el conductor controla el automóvil usando pedales, dirección rueda y una palanca, y dado que el motor es parte del automóvil, hace su trabajo en todo el proceso de conducción «. En términos informáticos, eso se traduciría en» el software controla el controlador de host que usa HCI, y dado que el concentrador raíz es parte del controlador de host, hace su trabajo al admitir la comunicación USB «.

Comentarios

  • Entonces el controlador de host es un chip que se comunica con el software a través de la interfaz del controlador de host (HCI) y ese chip también está conectado a uno o más concentradores raíz para que los datos se puedan pasar entre el dispositivo USB y el controlador (y del controlador al software).
  • Casi lo haces bien. El controlador de host no está " conectado " a los concentradores raíz, el concentrador raíz es parte del controlador. Y dado que las PC generalmente tienen varios controladores (integrados en el conjunto de chips, así como chips separados en la placa base), hoy en día tiene varios concentradores raíz en su sistema. ' actualizaré la respuesta con una mejor explicación.

Responder

Un concentrador USB normal es un dispositivo USB que puede dividir el tráfico USB de un enlace (ascendente) a varios puertos descendentes, y mux el tráfico venidero de muchos puertos en uno ascendente. Para hacerlo, cada concentrador tiene un tubo de control especial que controla las funciones del puerto, como conectar / desconectar / suspender / reanudar / deshabilitar, etc. Estas funciones se controlan a través de transacciones de control de tipo USB, que se dirigen a cada puerto en particular, todo mediante paquete USB -token protocolo. Este protocolo funciona hasta cualquier nivel válido de acumulación de concentradores, y cada puerto tiene bits de estado bien definidos dentro de las respuestas USB.

Un concentrador raíz realiza una función similar, excepto que (a) el flujo ascendente está asociado directamente con el host tubo / bus del controlador, y (b) varios bits de estado de cada puerto se asignan directamente a registros de 32 bits en el espacio PCI del host. Esta es una pieza de hardware.

Sin embargo, para mantener la compatibilidad bit a bit entre TODOS los puertos en el árbol USB y proporcionar acceso universal a todos los puertos, el software del controlador del host generalmente tiene una capa especial que convierte los estados de control de puerto basados en registros (PORTSC ) en el formato de estado del puerto USB estándar. Esto se ilustra en la siguiente documentación de Microsoft .

ingrese la descripción de la imagen aquí

donde la capa encerrada en un círculo, creo, proporciona esta traducción del estado del puerto. Después de eso, el sistema no conoce la diferencia entre un puerto de concentrador raíz y cualquier puerto de concentrador normal.

Respuesta

Este es un detalle de implementación , en su mayor parte.

Los concentradores USB implementan la detección de inserción / extracción, el control de potencia del puerto y el lado ascendente del protocolo de enumeración que se utiliza antes de que se asigne un número al dispositivo.

Se requiere la misma funcionalidad para cada puerto USB de bajada, ya sea que esté conectado directamente al controlador o parte de un dispositivo separado, y sería una tontería tener dos especificaciones diferentes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *