banner
Hogar / Blog / Todo sobre USB
Blog

Todo sobre USB

Jan 15, 2024Jan 15, 2024

En los seis meses que han pasado después de la publicación del último artículo sobre USB-C, he pensado en varias formas en que estos artículos podrían haberse mejorado. Por supuesto, es normal tener ese sentimiento, incluso esperado. Ahora creo que hay algunas lagunas que puedo salvar. Por ejemplo, no he proporcionado suficientes circuitos de ejemplo y, a veces, un esquema puede transmitir cosas mejor que mil palabras.

¡Arreglemos eso! Le daré esquemas de los tipos de dispositivos USB-C que probablemente desee construir. También compartiré un montón de números de piezas de circuitos integrados en este artículo, pero no tengo una colección exhaustiva, por supuesto; si encuentra más circuitos integrados interesantes que funcionen para fines USB-C y no se mencionen aquí, hágalo. ¡Háganos saber todos en los comentarios!

Hemos visto el primer circuito de ejemplo en el primer artículo: un puerto USB-C del lado del dispositivo (“orientado hacia arriba”) que admite USB 2.0 y 5 V de alimentación. Debe tener resistencias de 5,1 K, una resistencia por pin, y recuerde unir ambos pines de datos; use vías si es necesario. Si desea determinar la cantidad de corriente disponible para usted, también puede conectar ADC o comparadores a ambos pines CC juntos, aunque la mayoría de las veces, su dispositivo tiene un consumo de energía lo suficientemente bajo como para que no haya razón para preocuparse.

Ahora bien, si quieres crear un dispositivo con un enchufe USB-C, el cableado es el mismo. La única diferencia es que solo necesita llenar uno de los menús desplegables CC y conectar un par de pines D+/D- en lugar de ambos pares. No es probable que suceda nada malo en la práctica si conecta el segundo par de pines USB 2.0, es simplemente grosero según el estándar; Solía ​​​​entrar en conflicto con cierto tipo de puertos y cables (los VirtualLink) que ya no se venden.

Sin embargo, si conecta pull-downs de 5,1 K a ambos pines CC, accidentalmente creará un accesorio de pirata informático: un adaptador de modo de depuración, algo que le ayudará a obtener señales adicionales de algunos puertos USB-C. Por ejemplo, en la computadora portátil Framework, una placa equipada con un conector USB-C con ambos desplegables cambiará un puerto USB-C a un modo de depuración y expondrá la conexión EC UART en los pines SBU. A menos que esté creando un accesorio de depuración de este tipo, solo debe llenar uno de los menús desplegables y conectar los pines de datos USB 2.0 en consecuencia.

¿Qué pasaría si quisieras crear un puerto anfitrión? Por un lado, es más fácil, porque no necesariamente es necesario realizar ninguna medición de ADC. En su lugar, agrega pull-ups, valores diferentes para diferentes cantidades de corriente disponible. No todos los dispositivos verifican la presencia de pull-up, pero los teléfonos sí, por lo que si está fabricando un cargador USB-C improvisado, es posible que un teléfono o una computadora portátil no lo reconozca como una forma válida de cargar si no tiene el pull-up. -UPS. ¡Tampoco cuesta mucho agregarlos!

Más importante aún, es posible que desees controlar VBUS, encendiéndolo solo después de haber detectado un menú desplegable en uno de los pines CC. No necesariamente tendrá un problema si no lo hace, pero cubre algunos casos extremos importantes, como que alguien conecte un cable USB-A a USB-C a su puerto.

Nunca he hecho este circuito, pero a mi modo de ver, debería ser suficiente usar dos FET, uno por pin CC, ambos puestos en paralelo. Este circuito puede tener casos extremos: ¡se agradecen las mejoras! Por otro lado, he utilizado varias veces conexiones de puertos USB-C equipadas con menú desplegable como puertos host, por lo que definitivamente no es un requisito difícil y no siempre es necesario dividir tu colección FET.

En total, hay dos cosas que desea hacer si está creando un puerto de host, y ninguna de las dos es absolutamente necesaria. Además, si desea volverse más complejo en los circuitos, o tal vez incluso crear un puerto de doble función, ¡hay circuitos integrados que lo ayudarán con esta parte del USB-C!

Por ejemplo, tomemos el WUSB3801. Se encarga de la detección tanto de la fuente como del sumidero, tiene todos los pulld-ows y pull-ups necesarios en su interior e incluso puede hacer puertos de doble función, lo que le permite construir cualquier tipo de puerto de alimentación de 5 V. Puede mostrar el estado del puerto con algunos GPIO, o puede conectarlo a su microcontrolador a través de I2C, ¡e incluso tiene un pin de identificación para que pueda usarlo para reemplazar completamente un puerto MicroUSB por uno USB-C! El WUSB3801 es lo suficientemente pequeño, soldable y versátil. Por ejemplo, en el servidor La-Tecnologia Discord, alguien construyó un circuito WUSB3801 que limita la corriente de un cargador de iones de litio en función de si el puerto USB-C conectado puede proporcionar 3 amperios o no.

Ya sea que desee construir un puerto de origen, un puerto receptor o incluso un puerto que pueda hacer ambas cosas, el WUSB301 (o cualquiera de los muchos circuitos integrados similares como el TUSB320) será su solución del día. Una queja que tengo hacia el WUSB3801 es que no proporciona un GPIO para determinar la polaridad del puerto actualmente conectado; debe usar la interfaz I2C para eso. Ahora bien, ¿por qué necesitarías saber la polaridad del puerto? La razón son las interfaces de alta velocidad, y la interfaz USB 3.0 es definitivamente un pilar del USB-C, aunque sólo sea por lo fácil que es de implementar.

Construir un dispositivo USB 3.0 con un enchufe USB-C es tan fácil como construir un dispositivo USB 2.0 con un enchufe USB-C. Al USB 3.0 se le agregaron dos pares de diferencias de alta velocidad y un conector USB-C tiene espacios para cuatro pares de diferencias. Con el enchufe, conecta su USB 3.0 SSRX a USB-C RX1, USB 3.0 SSTX a USB-C TX1, abre un menú desplegable en el CC1 y listo. No hay componentes adicionales aparte de los condensadores en serie que su enlace USB 3.0 pueda necesitar, y estos no serán diferentes de una implementación normal.

Ahora bien, esta es la razón por la que verás que muchas unidades flash USB adoptan un conector USB-C: es así de fácil agregar uno, no es necesario descubrir los pines CC, agregar ningún componente adicional ni nada por el estilo. Sin embargo, es necesario agregar componentes adicionales si desea agregar una toma USB-C con soporte USB 3.0. Imagine conectar su unidad flash USB 3.0 USB-C a una toma USB-C; dependiendo de cómo la gire, las clavijas terminarán en una de las dos posiciones. No desea unir los pines TX/RX del zócalo, eso sería un problema importante de integridad de la señal, por lo que si está agregando un zócalo USB-C con soporte USB 3.0, necesita un mux para manejar alta velocidad. rotación de la señal.

Estos son, a estas alturas, un tipo de chip USB-C probado y verdadero; los encontrará de al menos una docena de fabricantes diferentes; Si encuentra algunos circuitos integrados que tienen la misma configuración de pines, le resultará difícil sufrir escasez de chips. Algunos muxes tendrán una entrada POL, para cambiar manualmente su señal USB 3.0 a dos posiciones posibles; estas están diseñadas para usarse junto con su propio controlador PD, es decir, un chip que maneja pines CC. Encontrará que muchos muxes también contienen lógica CC y básicamente le brindarán una solución completa para USB-C con capacidad de 5 V y USB 3.0. Si está construyendo un host, es posible que solo necesite agregar manejo VBUS, y si está construyendo un dispositivo con un conector USB-C, ¡no necesita nada más!

Este mux es cómo funcionan muchos puertos USB-C baratos en computadoras portátiles: solo proporcionan USB 2.0, nada más, y dado lo fácil que es de implementar, tiene sentido que muchos fabricantes de computadoras portátiles baratas se hayan apegado a esto. Es más, incluso podrías omitir el mux si quisieras si tienes un puerto USB 3.0 de sobra. Hemos visto esto en placas base de escritorio y, curiosamente, ¡así es como ambos puertos USB-C también están conectados en el MNT Pocket Reform! Tiene sentido, el concentrador USB 3.0 integrado de la placa Pocket Reform tiene cuatro puertos libres, pero solo hay dos puertos USB-C en los que puede exponer el USB 3.0. Funciona bastante bien, y si alguien quiere acceder a estos dos puertos USB 3.0 adicionales, ¡solo necesita diseñar un adaptador pasivo!

Uno de estos dos puertos USB-C en Pocket Reform es especial, no solo conecta el riel de 5 V a VBUS como lo hace el primer puerto. En cambio, tiene un interruptor de encendido IC conectado a VBUS y un FUSB302B conectado a los pines CC. Ese es el puerto de carga del Pocket Reform y, de hecho, esta es una de las formas en que puede ejecutar el suministro de energía.

Todas las opciones de las que hemos hablado ya admiten hasta 15 W de potencia, concretamente 5 V a 3 A. Por supuesto, también se admiten voltajes más altos. Sólo necesitas hablar PD, o tal vez dejar que un chip amigable hable por ti.

Estos chips amigables, como se puede imaginar, son circuitos integrados de activación de PD. Los conectas a los pines CC y ellos negocian un perfil de energía en tu nombre. Tienen algunas entradas que le permiten configurar el voltaje deseado y, opcionalmente, una salida de controlador FET para desconectar VBUS si la fuente de alimentación no puede proporcionar el voltaje que necesita, asegurándose de no obtener los 5 V predeterminados en un riel de alimentación. donde necesitas 20 V.

Podríamos hablar mucho sobre los chips de activación, muchas otras personas lo hacen, y seguro que yo también. De hecho, es la opción que la gente elige abrumadoramente cuando necesitan alto voltaje en un puerto USB-C. Son perfectos para la mayoría de los casos de uso y es probable que desees elegir uno. Sin embargo, tenga en cuenta que su comportamiento es inflexible: no le permitirán crear un puerto de doble función y no le permitirán distinguir entre una fuente de alimentación USB-C de 30 W y una de 100 W, lo que ayuda cuando está conduciendo una carga resistiva. Tampoco puedes combinarlos con USB 3.0 o DisplayPort ya que no tienen salida de polaridad y no te permiten enviar mensajes personalizados.

¡Un controlador PD te permitirá hacer mucho más! Ya sea que utilice un controlador PD externo como el FUSB302B o tal vez un controlador PD integrado en su MCU, le permitirá tomar sus propias decisiones de comunicación PD. Tiene todas las resistencias que puedas desear y es probable que encuentres código de ejemplo para cualquier tarea que necesites realizar. Ya hemos creado mensajes PD personalizados, tanto para la alimentación como para el funcionamiento del disipador DisplayPort. En algún momento, incluso construiremos nuestra propia fuente de alimentación USB-C con un FUSB302B, ¡así que estad atentos! Cuando se trata de MCU, existen algunos microcontroladores STM32 y Cypress conocidos con periféricos PD y, recientemente, el CH32X035 ha entrado en escena.

Su propio controlador PD también le permitirá enviar mensajes DisplayPort, extrayendo una salida DisplayPort de cualquier puerto compatible o quizás ofreciendo DisplayPort usted mismo. Use un enchufe USB-C y no necesitará un mux, o use un enchufe y agregue un mux compatible con DisplayPort; le permitirá extraer DisplayPort de dos carriles y USB 3.0 simultáneamente, o DisplayPort de cuatro carriles, lo que desee. . O puede usar un zócalo DisplayPort, omitir el mux y hacer que su puerto solo funcione en una orientación: ¡este vendedor chino de eDP puede confirmarlo!

La próxima vez, repasaremos el funcionamiento interno de una fuente de alimentación USB-C y luego convertiremos una fuente de alimentación de 20 V en una fuente USB-C con soporte de 20 V; Solo necesitaremos el FUSB302, algunos FET y un regulador de 5 V de repuesto. No requerirá mucho de nuestra parte, podrá convertir sus fuentes de alimentación antiguas a fuentes de alimentación USB-C para computadoras portátiles y también obtendrá algunas ideas sobre cómo funciona una fuente de alimentación USB-C.