Diseño de hardware con RP2040: distribución de componentes

Anteriormente hablamos de cómo crear una tarjeta de depuración con el RP2040 usando KiCAD. Como primeros pasos agregamos los componentes necesarios y las librerías y luego hicimos las conexiones en el diagrama esquemático. EN esta entrada veremos como distribuir los componentes en la PCB y que consideraciones tomar para su colocación.

Disitribución de los componentes y delineado de la tarjeta

Lo primero que tenemos que hacer es distribuir los componentes y delinear la forma de la tarjeta, no necesariamente en ese orden. En este caso, como queremos que la Raspberry Pi Pico a probar se inserte sobre nuestra tarjeta, vamos a conservar la forma y dimensiones de la Pico. El ancho mínimo del fabricante es de 1in, así que lo modificamos. Luego, dentro del espacio de trabajo, vamos colocando los componentes.

A la tarjeta se añadió un pequeño espacio para conectar los cables del puerto SWD, esto para que fuese más fácil interconectar las dos tarjetas.

Para aprovechar el espacio sobrante de los pines, se agregaron las funciones de cada pin, para no tener que revisar el pinout en internet. Vía: Digi-key

Reglas de diseño

Las reglas de diseño se configuraron como sigue. Estan basadas en los requisitos mínimos establecidos por OSH Park. Las reglas se tomaron en cuenta de modo que cualquiera pudiese fabricarlas con métodos no tan especializados.

Con las reglas de diseño podemos definir las tolerancias para el fabricante y así obtener una PCB de calidad. Vía: Digi-Key

La definición de los trazos se hizo como sigue. Se trató de conservar el mínimo necesario para las vias de datos, pero para los puertos de energía de 3.3V y GND se buscó el mayor ancho posible, de modo que se pudiese usar una corriente máxima de 500 mA.

Las líneas de datos para el puerto USB se calcularon para que sean de un ancho de 0.77mm con 0.15mm de separación en la capa de arriba, con un plano de tierra a 1.6mm debajo. Esto resultó en una impedancia diferencial ideal de 90 ohms, asumiendo las siguientes consideraciones:

Puedes leer cómo calcular las medidas de las pistas que llevan datos USB en esta página. Vía Digi-Key

Ruteado de las pistas

Aquí se puede ver el resultado del ruteo. Debido al tamaño de los componentes pasivos, como los resistores y capacitores, el espacio en la tarjeta y su colocación fue crítico, lo que llevo a tomar ciertas licencias en algunos otros componentes como el cristal de cuarzo.

Los componentes de tipo 0603 permiten soldarlos a mano, pero la necesidad de colocar los capacitores de desacoplo lo más cercanos al microcontrolador plantea otro reto de diseño. Vía: Digi-Key

Para la capa de abajo podemos ver el resultado aquí. Se procuró utilizar la menor cantidad de vías para que existiese un mayor plano de tierra.

La colocación de 6 vías en el pad de tierra del microcontrolador logra un buen balance de disipación de calor y conductor de corriente, aunque el fabricante recomienda usar 9 para un mejor rendimiento. Vía: Digi-key

Algunas notas sobre la distribución de los componentes:

  • Se rutearon primero las líneas de datos del conector USB para que tuvieran una conexión directa con el RP2040, sin la necesidad de cambiar de capa (esto para evitar ángulos de 90 grados al pasar de una capa a otra).
  • Después se rutearon las pistas que proveen la alimentación, ya que son más anchas que el resto de las pistas. También porque hay muchas conexiones relacionadas a la alimentación, entonces es mejor resolver primero esas conexiones.
  • La guía para diseñar hardware para RP2040 recomienda que se usen 9 vías en el pad de tierra que lleva el microcontrolador, esto para que exista un buen camino donde pueda fluir la corriente y haya una forma de disipar el calor. Debido a el poco espacio que quedó con los trazos de la capa de abajo, sólo se pudieron colocar 6 vías. Esto es suficiente para nuestros fines.
  • Las pistas que van hacia el cristal del oscilador deben ser lo más rectas y cortas posibles, además de que deben tener la misma longitud en lo posible. Una vez más, los capacitores dieron algunos problemas de espacio, por lo que se trató de dejar lo más cortas posibles las pistas.
  • Se colocaron algunos jumpers para las líneas de TX/RX así también para VSYS, en caso de que el usuario desee desconectar estas lineas de la Pico a probar
  • Los marcadores fiduciales se añadieron por hábito, aunque no se llegue a usar una máquina pick-and-place para manufacturar una de estas tarjetas.
  • Se omitió la máscara de componentes para los pines 0 y 1, esto con el fin de recordar que están siendo usados por el depurador y no están disponibles.
  • Se mantuvieron los marcadores REFDES en la máscara de componentes para recordar donde van los componentes cuando se están colocando a mano en la PCB.

Obteniendo los archivos gerber para la fabricación

Estas son las especificaciones que se usaron para el paso de ploteado

Configuración de los archivos gerber. Vía: Digi-Key

Y estas son las especificaciones para el archivo de los barrenos

Configuración de los archivos de barrenado. Vía: Digi-Key

Los archivos PTH y NPTH se mantienen por separado, esto con la intención de que el proceso de fabricación no recubra de metal los orificios de montaje. Estos archivos se guardaron en un archivo comprimido .zip y se mandaron al fabricante de PCB DKRed.

Conclusiones

Se distribuyeron los componentes de la PCB y se dieron algunas observaciones de diseño para tomar en cuenta. Es importante considerar las especificaciones de diseño para el bus de datos USB, la longitud de las pistas para el cristal oscilador y la alimentación de toda la tarjeta. Se hicieron algunas recomendaciones de usabilidad para ciertos puertos, como los jumpers para los pines RX/TX y la máscara de componentes.

En la siguiente entrada se describe el proceso de montaje de componentes y las pruebas realizadas a la tarjeta final

Referencias:

Hardware Design with the RP2040 Part 2: PCB Layout