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