¿Cuál es el efecto de la reasignación de puertos en un concentrador USB?

1

Estoy usando USB2517 para un proyecto. Es un hub de siete puertos, y estoy usando seis de ellos. Estoy trabajando a través de los ajustes de configuración, y estoy sorprendido por los registros de reasignación de puertos. La hoja de datos contiene el siguiente texto (página 34 en la hoja de datos):

  

Registro de reasignación de puertos para puertos 1 & 2   Cuando un concentrador USB enumera un concentrador, solo se le permite al concentrador informar cuántos puertos tiene; El concentrador no tiene permitido seleccionar un rango numérico o una asignación. El Controlador del host numerará los puertos descendentes del concentrador comenzando con el número '1', hasta el número de puertos que el concentrador reconozca.
  El número de puerto del host se conoce como "Número de puerto lógico" y el puerto físico en el concentrador es el "Número de puerto físico". Cuando el modo de reasignación está habilitado (consulte PRTMAP_EN en
  Registro 08h: Datos de configuración Byte 3) el puerto descendente del hub
  los números se pueden volver a asignar a diferentes números de puerto lógicos (asignados por el host).   Nota:   El OEM debe asegurarse de que los números de puerto lógico contiguo sean
  utilizado, desde el # 1 hasta el número máximo de puertos habilitados;   esto garantiza que los puertos del hub estén numerados de acuerdo con la forma en que un Host se comunicará con los puertos

Entonces, tengo siete puertos, DS [1: 7]. Estos son los "números de puerto físicos". El host los enumera como un rango, al que podemos llamar PORT [1: 7]. Estos son los "números de puerto lógico". Al escribir en este registro, estoy asignando DS [x] a PORT [y], o sobrescribo [¿ves lo que hice allí?] Deshabilitándolo

¿Por qué querría volver a asignar mis puertos, sin embargo? ¿En qué me beneficia eso al permitir que el concentrador maneje automáticamente la reasignación? ¿Hay algún tipo de prioridad de puerto en la especificación USB 2.0 que asigna ancho de banda adicional a puertos con números más bajos? ¿Es justo allí para mantener a los ingenieros demasiado cautelosos durante la noche?

Editar: El concentrador puede reasignar automáticamente los puertos para garantizar puertos lógicos contiguos si los puertos físicos en el centro del rango están deshabilitados si PRTMAP_EN (08h: 3) está bajo. ¿Se puede ganar algo reasignándolos manualmente en un orden diferente al que el concentrador haría automáticamente?

    
pregunta Jason_L_Bens

1 respuesta

1

Como lo explica la hoja de datos, los números de puertos lógicos deben asignarse consecutivamente, comenzando en 1. Si no está utilizando todos los puertos, y uno de los puertos no utilizados no se encuentra al "final" del puerto físico números, debe utilizar la reasignación para volver a poner en orden los puertos activos.

Por ejemplo: digamos que está creando un concentrador de 4 puertos y, por motivos de diseño de PCB, debe usar los puertos físicos 2, 3, 6 y 7. La reasignación de puertos le permitiría volver a asignar estos puertos como puertos lógicos 1 a 4, configurando:

PRTR12 = 0001_0000 -- physical port 2 = logical port 1, physical port 1 = disabled
PRTR34 = 0000_0010 -- physical port 4 = disabled, physical port 3 = logical port 2
PRTR56 = 0011_0000 -- physical port 6 = logical port 3, physical port 5 = disabled
PRTR7  = 0000_0100 -- physical port 7 = logical port 4
    
respondido por el duskwuff

Lea otras preguntas en las etiquetas