USB-C como fuente de alimentación y negociación con USB 2.0 y 3.0

Tengo una PCB que actualmente cuenta con un Micro-USB que se usa solo para la transferencia de datos y un conector de entrada de fuente de alimentación de 5V separado para encender el dispositivo. La corriente máxima consumida por el dispositivo es de 600 mA. Para eliminar la necesidad del conector de entrada y usar solo un cable, me gustaría seguir los pasos que se muestran en esta publicación para que mi dispositivo USB 2.0 maneje tanto la transferencia de datos como la alimentación (5V, 600mA) usando un USB-C receptáculo.

Por lo que entiendo, los pasos incluyen soldar los dos pines de datos del Micro-USB a los pines del receptáculo, soldar las resistencias desplegables de 5.1k en los pines CC y soldar los pines 5V/GND del conector de entrada al VBUS/ pines GND del receptáculo para encender mi dispositivo. Por ahora no me importa si la modificación es voluminosa, solo me importa la seguridad.

Luego quiero conectar mi dispositivo recién modificado a una computadora portátil. Mis preguntas son:

Si lo conecto a un puerto USB-C, ¿la negociación de energía funcionará como se esperaba? Entiendo que los hosts USB 2.0 limitan la negociación a 500 mA, por lo tanto, quiero saber si la negociación funcionará ya que el host puede manejar más (900 mA) pero mi dispositivo solo funciona con USB 2.0.

Ahora digamos que uso un adaptador USB-C a USB-A disponible comercialmente para conectar mi dispositivo modificado a un puerto USB-A clásico en mi computadora portátil. Espero que la respuesta no cambie si el puerto se ejecuta en USB 3.0. Y si el puerto solo cuenta con USB 2.0, ¿mi dispositivo básicamente no se encenderá, ya que la negociación se detendrá en 500 mA?

Soy nuevo en la negociación, ¡cualquier ayuda es muy apreciada!

Respuestas (2)

Cuando conecta su dispositivo, la resistencia de extracción Rp en el lado del host y la resistencia de extracción Rd en el lado del dispositivo forman un divisor de resistencia.

página 9 en AN5225

La resistencia Rd es 5.1K como mencionó, pero el Rp variará según las capacidades de potencia del host. Puede monitorear el voltaje en los pines cc y, después de asegurarse de que el host sea capaz de proporcionar suficiente energía, habilite los circuitos que demandan energía.

AN5225 de ST habla más sobre el tema.

ingrese la descripción de la imagen aquí

Gracias por su respuesta. Mi pregunta está más relacionada con la negociación de energía que con la verificación de que el host puede manejar los requisitos de energía. No estoy seguro de entender a qué nivel ocurre esta negociación de poder y cómo funciona. Estoy buscando recursos en línea para comprender mejor esto, pero no puedo encontrarlos. Básicamente, mi dispositivo tiene controladores implementados con la biblioteca libusb, y me gustaría asegurarme de que la negociación sea segura al conectar el dispositivo modificado a USB 2.0 o 3.0.

Si solo necesita velocidades de datos de 5V 600 mA y USB2.0, puede optar por un esquema sencillo, por ejemplo:

ingrese la descripción de la imagen aquí

Las resistencias desplegables de 5.1k permiten que su dispositivo extraiga hasta 3 A del host, si el host es capaz .

Con respecto a su necesidad de más de 500 mA, es una buena idea medir las líneas USB_CCx con el ADC de su MCU para conocer con certeza las capacidades de su host. Para comprender qué voltaje desea leer de los pines, puede consultar la nota de la aplicación de ST mencionada en la respuesta anterior.

Si su MCU no puede manejar esta parte del trabajo, mire los circuitos integrados de configuración de CC (deje Injoinic IP2721 solo como referencia, no estoy seguro de que controle la capacidad actual del host).