Proyecto de diseño de PCB para módulo CP2102 de USB a UART

Zachariah Peterson
|  Creado: Febrero 16, 2023  |  Actualizado: Agosto 26, 2024
Módulo CP2102 de USB a UART

Haz clic aquí para saltar al incrustado del visor y explorar este proyecto

Trabajo con un grupo de productos que requieren arranque y configuración a través de RS-232 o UART, y me gusta arrancar prototipos conectándolos a mi laptop. Sin embargo, para acceder a esa interfaz, tengo que enviar y recibir datos a través de un puerto COM. Desafortunadamente, mi laptop solo tiene puertos USB, por lo que necesito convertir entre el puerto USB y la interfaz UART. Normalmente uso un pequeño módulo conversor de interfaz que se puede comprar en línea.

Los conversores que he encontrado en línea son de bastante baja calidad y tienden a morir fácilmente por golpes o sobrevoltaje. Para proporcionar alguna protección contra sobrevoltaje, voy a mostrar cómo diseñar un puente de USB a UART utilizando el CP2102, un componente conversor de interfaz popular para líneas USB 2.0. Puedes ver el tutorial completo de este proyecto en el siguiente video.

 

Te podrías estar preguntando, ¿por qué no simplemente colocar uno de estos circuitos directamente en los prototipos, y luego acceder a la interfaz UART de tus prototipos con un cable USB? Esta es una pregunta justa. Hay dos razones para esto:

  1. No todos los productos embebidos soportarán USB, pero me cuesta recordar un producto embebido que haya construido que no tuviera una interfaz UART.
  2. Colocar un puerto USB extra con un chip convertidor de datos en cada prototipo añade trabajo extra y ocupa espacio. Es más simple colocar simplemente un conector de 2 pines para las líneas UART.

Así que, con esto en mente, vamos a trabajar en un pequeño módulo para un conversor de USB a UART CP2102.

Empezando con el CP2102

El CP2102 de Silicon Labs es un módulo convertidor de interfaz compacto que hace de puente entre las interfaces USB y UART. Me gusta este componente para sistemas que necesitan conectarse a USB porque hay controladores listos para el chip que permiten acceder a él a través de un puerto COM mediante una aplicación terminal (yo uso TeraTerm). Este chip es uno de los muchos que se utilizan en convertidores de USB a serie que encontrarás en Amazon o Alibaba.

El CP2102 viene en un paquete QFN-28 e incluye algunas características útiles:

  • Regulador integrado de +5V a +3V3 para alimentar dispositivos de menor voltaje
  • ROM programable para implementar datos del producto
  • Pin de reinicio opcional simple y circuito
  • Reloj integrado, eliminando la necesidad de un cristalexterno
  • Opción para alimentar con entrada de +3V3
  • Transferencia de datos vía USB 2.0

También hay un banco opcional de pines que actúan como indicadores o pines de control cuando se usan en la misma placa que un procesador, como un microcontrolador. Estos pines pueden ser controlados por GPIOs. No necesitamos estos para este módulo ya que el módulo operará independientemente de cualquier microcontrolador.

Esquemas

Los objetivos de diseño para este proyecto son simples: el diseño emitirá sus datos UART, alimentación y tierra a un conector de pines. El diseño necesitará encajar en un banco estándar de puertos USB. Finalmente, voy a añadir protección adicional contra sobrevoltaje en cualquier línea de datos y la línea de bus de +5 V para proporcionar la máxima protección contra sobrevoltaje al CP2102 y al dispositivo anfitrión.

Primero, veamos brevemente el circuito de aplicación para el CP2102 (página 15 de la hoja de datos).

CP2102 application circuit

Los esquemáticos generalmente seguirán este circuito de aplicación con algunas adiciones que se discutirán a continuación. Debido a que solo estamos utilizando este módulo en la placa sin ningún otro componente digital, no necesitamos preocuparnos por la capacitancia adicional del bus de alimentación aparte de los capacitores discretos especificados en el diagrama de aplicación. Después de mirar otros módulos que usan este y componentes similares, verás el mismo tipo y número de capacitores.

Diodos TVS

En este diagrama de aplicación, vemos la recomendación típica para la colocación de diodos TVS en las líneas USB. La parte que recomiendan es Littlefuse SP0503BAHT o equivalente. Inicialmente, coloqué un diodo TVS unidireccional 0402 para este componente. Como discuto a continuación, esto será solo un marcador de posición por ahora y se cambiará en el ensamblaje final.

No utilizaremos ninguno de los circuitos transceptores externos ni el pin de reinicio en esta iteración. En su lugar, solo usaremos los circuitos del lado izquierdo de la pantalla. También agregaré diodos TVS a las líneas Rx y Tx de UART. El nivel máximo de voltaje que se puede esperar para esta línea es VDD - 0.8 V. con un VDD máximo de 3.6 V, el voltaje máximo de la línea UART será de 2.4 V.

CP2102 UART I/O voltages

Para proporcionar la máxima protección posible en las líneas UART, podríamos colocar un diodo TVS con un umbral de ruptura menor. El diodo TVS recomendado solo protege hasta 5.5 V, que está justo por debajo de la calificación de sobrevoltaje para los I/Os en el CP2102. El riesgo de usar un diodo TVS más pequeño es que tendrá un voltaje de sujeción más bajo y no podrá soportar pulsos ESD de voltaje más alto.

Los esquemáticos finales se muestran a continuación. El dispositivo es simple y sigue esencialmente el circuito de aplicación. He optado por usar la alimentación de +5V que entra al módulo desde el conector USB (red VBUS) y he pasado esto al regulador de entrada en el CP2102. La alimentación de +5V y la salida de +3V3 están ambas accesibles en el conector de pines y pueden ser utilizadas para alimentar un dispositivo externo hasta los límites de potencia del estándar USB 2.0.

CP2102 USB to UART schematics

Diseño de PCB

El diseño del PCB se realizará en dos capas con todos los componentes colocados en la capa superior. El diseño del PCB será lo suficientemente pequeño como para que no necesitemos necesariamente un enrutamiento de alta velocidad de las líneas USB, pero lo implementaremos aquí como un ejemplo simple para mostrar cómo se puede hacer en este tipo de placa. Esta placa es lo suficientemente simple como para no necesitar ser colocada en cuatro capas y los requisitos de enrutamiento USB pueden ser satisfechos con un enrutamiento diferencial coplanar.

La colocación inicial se cubre en dos secciones; el conector USB y los diodos TVS para las líneas USB se colocan en el lado izquierdo de la placa, y el conector de pines con los diodos D4 y D5 se colocan en el lado derecho de la placa. La colocación en el lado izquierdo del diseño de la PCB se muestra a continuación.

CP2102 USB to UART PCB Layout

La colocación inicial en el lado del conector de pines se muestra a continuación. Utilicé un conector de pines en ángulo recto que sobresale del borde de la placa para que el módulo tuviera un perfil bajo. Esto también permite el uso de cables volantes estándar o un cable de paso de 100 mil para conectar a otra placa. Inicialmente, el pinout se estableció de modo que la alimentación de +5 V (red VBUS) se enrutaría hacia el conector de pines en el lado superior, pero esto más tarde se cambió al lado inferior para simplificar el enrutamiento.

CP2102 USB to UART PCB Layout

La colocación es simple en ambos bordes de la placa y el punto principal aquí es mantener los capacitores (C1-C4) cerca de sus respectivos pines de alimentación. La colocación de D4 y D5 será entre U1 y P1, pero ubicaré estos una vez que comience el enrutamiento para poder asegurarme de que el enrutamiento cerca de ellos no se vuelva complicado. Con esta colocación, el enrutamiento USB puede ir directamente al conector (J1). El siguiente punto es calcular el ancho y el espaciado de las pistas USB en esta placa de 2 capas.

Basado en la minimización de costos, la placa debe ajustarse al grosor estándar de 62 mils. El lado posterior será un relleno de tierra, y el lado superior utilizará enrutamiento coplanar para el par diferencial. El resto de L1 tendrá relleno de cobre. He usado la configuración de Dk predeterminada de 4.8 en el apilado, que está muy cerca del valor estándar de mi casa de fabricación seleccionada para PCBs de 2 capas. Los ajustes de impedancia se muestran a continuación.

CP2102 USB to UART PCB Layout

Aquí, estamos aprovechando el espaciado entre los pares y la distancia al cobre en L1 para establecer la impedancia diferencial al valor objetivo. El valor de ancho se basó en el tamaño de los pads en el CP2102 ya que no quiero reducir el enrutamiento hacia la huella para U1. Con estos ajustes, podemos enrutar los pares diferenciales hacia el conector y completar el diseño.

El diseño finalizado del PCB se muestra a continuación. Hay una longitud extra aquí que podría eliminarse si queremos miniaturizar el módulo. Simplemente usando la herramienta de medición (Ctrl + M), estimaría que podríamos cortar unos 400-500 mils de longitud simplemente tomando los componentes en la mitad derecha de la placa y moviéndolos más cerca del conector USB.

CP2102 USB to UART PCB Layout

Actualmente, el tamaño de este módulo es similar a otros módulos que puedes comprar en línea, por lo que el punto anterior no es crítico. Hay otras tres mejoras que podrían implementarse en este proyecto:

  • Agregue pequeños LEDs indicadores SMD en paralelo con las líneas UART Rx y Tx para que tengamos un indicador visual de la transferencia de datos
  • Agregue protección contra sobrevoltaje inverso en la línea de 3V3; los mismos componentes utilizados en la línea USB podrían usarse aquí
  • Agregue un circuito de reinicio con un pequeño interruptor

Voy a producir un lote de estas placas, y realizaremos algunas pruebas para verificar que las tarjetas funcionen correctamente. Como detallaré en otro video y blog, es probable que reemplace los diodos con TPD1E10B06DPYR en el ensamblaje ya que estos diodos alternativos proporcionan protección bidireccional y están más cerca de las especificaciones de SP0503BAHT.

Siga este enlace para descargar un archivo ZIP con los archivos fuente del proyecto. También puede usar el enlace de descarga en el incrustado anterior para acceder a los archivos fuente.

Cuando necesites crear rápidamente pequeños módulos y prepararlos para la fabricación, utiliza las herramientas CAD 2D y 3D en Altium Designer®. Cuando hayas terminado tu diseño y quieras liberar los archivos a tu fabricante, la plataforma Altium 365™ facilita la colaboración y el compartir tus proyectos.

Solo hemos arañado la superficie de lo que es posible con Altium Designer en Altium 365. Comienza tu prueba gratuita de Altium Designer + Altium 365 hoy mismo.

Sobre el autor / Sobre la autora

Sobre el autor / Sobre la autora

Zachariah Peterson tiene una amplia experiencia técnica en el mundo académico y la industria. Actualmente brinda servicios de investigación, diseño y marketing a empresas de la industria electrónica. Antes de trabajar en la industria de PCB, enseñó en la Universidad Estatal de Portland y realizó investigaciones sobre la teoría, los materiales y la estabilidad del láser aleatorio. Su experiencia en investigación científica abarca temas de láseres de nanopartículas, dispositivos semiconductores electrónicos y optoelectrónicos, sensores ambientales y estocástica. Su trabajo ha sido publicado en más de una docena de revistas revisadas por pares y actas de congresos, y ha escrito más de 1000 blogs técnicos sobre diseño de PCB para varias empresas. Es miembro de IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society y Printed Circuit Engineering Association (PCEA), y anteriormente se desempeñó en el Comité Asesor Técnico de Computación Cuántica de INCITS.

Recursos Relacionados

Documentación técnica relacionada

Volver a la Pàgina de Inicio
Thank you, you are now subscribed to updates.