Detección a nivel de hardware de USB3.0 vs USB2.0

3

Estoy diseñando un cargador de batería USB, y estoy tratando de usar hardware simple (los circuitos integrados están bien, simplemente no tengo nada sobre lo que tenga que cargar el firmware) para detectar si el conector USB está enchufando o no. El dispositivo es USB3.0 o USB2.0, por lo que puedo determinar con seguridad la cantidad de corriente que puedo extraer. Estoy usando un chip BQ2439RSER para determinar si el zócalo en el que estoy conectado es un puerto de flujo descendente estándar, un puerto de flujo descendente de carga o un puerto de carga dedicado. Sin embargo, tengo problemas para encontrar una forma sencilla de comprobar si el puerto del host es USB3.0 o USB2.0.

Mi idea inicial fue comprobar si había pull ups / pullds en cualquiera de los pines USB3 adicionales que no están presentes en una toma USB2, sin embargo, en todos los esquemas que he visto, los pares diferenciales de velocidad superior tienen bloqueadores en los condensadores (ver página 11 de esta hoja de datos enlace ). Mi siguiente paso fue solo comprobar si el pin GND_DRAIN estaba conectado al pin GND USB común, pero esta publicación ( USB3 con menos cables ) dice que GND_DRAIN y GND no serán necesariamente lo mismo.

No necesito ninguno de los pares RX / TX para trabajar o transmitir datos, solo me interesa identificar la corriente máxima permitida y dibujarla. Soy consciente de que algunos dispositivos me limitarán a 100 mA, pero según mi experiencia, estos son pocos y están muy lejos en estos días, por lo que estoy dispuesto a probar el prototipo sin enumeración (en el peor de los casos, diré un host FT232R). controlador para encargarse de eso más tarde, pero estoy tratando de mantener esto lo más simple posible).

Gracias por la ayuda

    
pregunta Platytude

1 respuesta

1

Normalmente, la capacidad del puerto está determinada por el dispositivo después de conectar y configurar la interfaz USB. Y luego controlar el cargador en consecuencia. Pero si el dispositivo que diseña no tiene ningún USB, solo un cargador con un cable USB3, puede usar la capacidad Rx-detect del canal de Tx USB3, consulte la sección 6-11 de las especificaciones de USB3.0.

Esencialmente, debe proporcionar una terminación de 45 ohmios en Tx - > Rx cables. El host aplicará un pulso a los cables Tx- / Tx + y observará el tiempo de respuesta RC. Sin embargo, este pulso puede ser difícil de detectar en el lado Rx. Si el host detecta la terminación, comenzará a enviar señales diferenciales LFPS, Polling.LFPS, que son ráfagas a 10-50MHz y 1us de duración, que se repiten cada 10 hasta un tiempo de espera de 360 ms, ya que su dispositivo no responderá. Debes poder detectar esta actividad. O tal vez cualquier actividad diferencial en las líneas Tx le dará una pista si el puerto del host es USB3 o USB2.

En realidad, es posible que solo desee detectar la actividad Rx-detect sin proporcionar la terminación, solo lo hará un receptor de alta impedancia y un solo extremo, ya que el host debe verificar periódicamente la presencia de la terminación Rx.

    
respondido por el Ale..chenski

Lea otras preguntas en las etiquetas