Proyecto Pi.MX8 - Diseño de la Placa Parte 4

Lukas Henkel
|  Creado: Julio 23, 2024  |  Actualizado: Julio 24, 2024
Proyecto PIMX8 - Capítulo VI

Capítulos

1
Introduction and Overview
| Created: January 18, 2024
2
Component placement and layout planning
| Created: February 06, 2024
3
Board Layout Part 1
| Created: February 22, 2024
4
Board Layout Part 2
| Created: March 21, 2024
5
Board Layout Part 3
| Created: June 24, 2024
6
Board Layout Part 4
| Created: July 23, 2024
7
PCB Assembly
| Coming Soon

Bienvenidos a una nueva entrega sobre el proyecto del módulo de cómputo Pi.MX8 SoM! En esta actualización estaremos dando los toques finales a nuestro diseño de PCB y preparando el diseño para la producción de prototipos.

Test of button

En el último artículo completamos el enrutamiento de las capas de señal. Esta fue la parte que más tiempo consumió del diseño de la PCB para el módulo Pi.MX8. Sin embargo, todavía nos quedan dos tareas por delante que requieren tanto cuidado como el anterior: el enrutamiento de los planos de potencia y la afinación del retardo de señal.

Planos de Potencia

Comencemos con los planos de potencia. Normalmente me gusta hacer la afinación del retardo como los últimos pasos, ya que las meandras necesarias para la sintonización de longitud a menudo llenan el espacio restante en la placa. Por ejemplo, colocar VIAs adicionales (lo que a veces puede ser necesario al enrutamiento de redes de potencia) podría requerirnos ajustar las primitivas de sintonización de longitud para crear el espacio necesario. Al llenar el espacio restante con primitivas de sintonización de longitud al final, podemos evitar trabajos adicionales de retoque.

Available power plane layers

Capas de plano de potencia disponibles

Al observar el apilado de capas, podemos ver que tenemos dos capas dedicadas a planos de potencia disponibles. Estas capas están separadas de las capas de tierra adyacentes por un prepreg delgado. Este apilamiento aumenta la capacitancia del plano de baja inductancia y puede ayudar a disminuir la impedancia de la red de distribución de potencia (PDN) en altas frecuencias.

Primero, vamos a trazar los rieles de potencia de alta corriente. En nuestro caso, estos son los rieles del núcleo y de memoria para el SoC i.MX8 y el controlador DRAM con el IC LPDDR4.

PMIC core and memory supply for the SoC

Suministro de núcleo y memoria PMIC para el SoC

Los rieles VCC_ARM y VCC_SOC utilizan detección remota, lo que significa que el nodo de retroalimentación de los convertidores buck no está conectado a los condensadores de salida cerca del MIC, sino a los pads de potencia del i.MX8. Esto es para compensar la caída de voltaje a través del plano de potencia o polígono. Como la corriente en estos rieles puede ser relativamente alta y el PMIC necesita regular estos voltajes con precisión, es importante "medir" el voltaje directamente en la carga. La siguiente figura muestra la caída de voltaje a través de un polígono de potencia:

Voltage drop across power polygon

Caída de voltaje a través del polígono de potencia

El polígono de alimentación para el riel VCC_ARM está trazado en la capa 6. El trazo trazado cerca del contorno del polígono es la señal de detección remota. Idealmente, nos gustaría medir el voltaje de manera diferencial para compensar los efectos parásitos introducidos por la corriente del camino de retorno y para hacer que la retroalimentación sea menos susceptible al ruido, pero en nuestro caso esto no será necesario. Seguiremos las recomendaciones del diseño de referencia.

VCC_SOC polygon

Polígono VCC_SOC

El trazo de retroalimentación utiliza un 'net-tie' cerca de los pines del SoC para conectar la red de retroalimentación con la red de alimentación. Sin usar un net-tie, tendríamos que asegurarnos manualmente de una aislación limpia entre el trazo de retroalimentación y el polígono de alimentación. Este enfoque es propenso a errores. El net-tie es simplemente un footprint que consiste en un segmento de trazo corto con dos pequeñas almohadillas en cada extremo. Al establecer el tipo de componente a net-tie, Altium Designer no creará un error de cortocircuito para este componente.

El polígono VCC_ARM y el riel de alimentación de DRAM están trazados de manera similar en la Capa 5.

VCC_ARM highlighted and DRAM power rail in purple

VCC_ARM resaltado y riel de alimentación de DRAM en púrpura

Las vías de alimentación restantes se distribuyen en las capas 5 y 6. Los polígonos de alimentación del sistema de 1.8V y 3.3V abarcan toda la placa ya que muchos componentes conectados a estas vías se distribuyen a lo largo de la placa.

El último paso en el enrutamiento de los planos de alimentación es configurar un análisis de PDN de AC y DC y verificar si los resultados están dentro de los límites de valor de impedancia establecidos por la guía de diseño de hardware del SoC.

La simulación de AC debe incluir los capacitores de desacoplamiento con un modelo equivalente preciso, las características de salida del regulador buck y la geometría del diseño. No vamos a profundizar en la configuración de la simulación en este artículo, pero debemos tenerla en cuenta como un paso de verificación obligatorio.

Power rails target impedance

Impedancia objetivo de las vías de alimentación

La simulación de DC requiere solo la geometría del diseño y las características de carga del SoC como entrada para calcular la caída de voltaje a través de los polígonos de alimentación y resaltar áreas de densidad de corriente excesiva.

Ajuste de retardo

Con el diseño de la red de alimentación completado, ahora podemos pasar al último ítem en nuestra lista de tareas - el ajuste de retardo.

Hay muchas interfaces en el módulo Pi.MX8 que tienen requisitos de tiempo estrictos y requieren ajuste de retraso. Vamos a ver las interfaces más críticas y cómo podemos usar X-Signals para ajustar los retrasos incluso a través de varios componentes.

Comencemos con la interfaz DRAM. La guía de diseño de hardware de i.MX8 proporciona toda la información que necesitamos para el ajuste de retraso. Antes de que podamos ajustar cualquier traza, primero tenemos que verificar si el retraso del paquete está incluido en el símbolo de la biblioteca esquemática.

NXP proporciona tiempos de retraso del paquete, que es el tiempo que tarda una señal en viajar desde la bola BGA de i.MX8 hasta el chip de silicio. Las diferentes longitudes en el interposer afectan el tiempo total de retraso, por lo que es importante tenerlas en cuenta.

Pin package delay in the schematic symbol

Retraso del paquete del pin en el símbolo esquemático

Podemos usar el editor de lista de librerías esquemáticas para pegar todos los retrasos del paquete del pin del documento de guía de diseño de hardware de i.MX8 de una vez usando el diálogo de pegado de cuadrícula inteligente.

Pin delays in table format through the SCHLIB List toolbar

Retrasos de los pines en formato de tabla a través de la barra de herramientas SCHLIB List

Los requisitos de ajuste de retraso para la interfaz LPDDR4 están descritos en la guía de diseño de hardware de i.MX8. La guía agrupa las dependencias de retraso en grupos de reloj, control/comando y byte. Las ventanas de tiempo para cada grupo se referencian a las señales de reloj y de strobe. Todas las señales diferenciales deben coincidir hasta 1ps entre las señales complementarias en el par.

LPDDR4-4000 PCB delay tuning requirements

Requisitos de ajuste de retraso para PCB LPDDR4-4000

Las señales en el grupo de dirección/comando/control deben cumplir con dos requisitos de tiempo. Un requisito define el retraso máximo entre cada señal dentro del grupo, mientras que el segundo requisito define la ventana de retraso máximo de todo el grupo referenciado a la señal de reloj.

Es por esto que usamos múltiples grupos de señales X para asegurar que las señales correctas sean objetivos dentro de las reglas de diseño.

X-signal classes for the LPDDR4 tuning

Clases de señal X para el ajuste de LPDDR4

Cuando uso reglas de ajuste de retraso entrelazadas, me gusta adicionalmente llevar un registro de los valores totales de retraso en una hoja de Excel para propósitos de documentación. Sin embargo, este paso es opcional y depende de las preferencias personales ya que los requisitos de tiempo pueden definirse todos dentro de la configuración de reglas de Altium Designer.

Delay tuning documentation in Excel

Documentación de ajuste de retraso en Excel

Una vez que se han definido las clases de señales X y las reglas de diseño están en su lugar, podemos comenzar a ajustar el retraso en el diseño. Aparte del ajuste del retraso intra-par, la mayoría de los ajustes deben realizarse en las líneas de dirección/comando/control:

Delay tuning address/command/control lines

Ajuste de retraso en líneas de dirección/comando/control

Las propias líneas de datos necesitan muy poco o ningún ajuste en absoluto. Alrededor de los pares de señales de reloj trazados en la capa superior, tenemos mucho espacio que podemos usar para el ajuste de retraso:

Clock delay tuning top layer

Ajuste de retraso del reloj en la capa superior

Al igual que con la red de entrega de energía, necesitamos realizar simulaciones de verificación para la interfaz DRAM. Nos interesa particularmente si podemos ver efectos de diafonía ya que partes de los trazados están empaquetados relativamente cerca unos de otros. La regla general es mantener una distancia de 3 veces el grosor del dieléctrico a las trazas vecinas. Sin embargo, no vamos a detallar la configuración de la simulación y los detalles en este artículo.

Una vez que se completa el ajuste de retraso de la interfaz DRAM, veamos otra aplicación para las señales X. La placa PiMX8 tiene dos interfaces que pueden manejar una pantalla externa - LVDS y MIPI-DSI.

MIPI-DSI también utiliza señalización diferencial de bajo voltaje (LVDS), por lo que podemos usar un multiplexor para seleccionar cualquiera de estas interfaces ya que comparten las mismas especificaciones de hardware. Al usar un multiplexor para cambiar entre las interfaces, también necesitamos ser conscientes de que cualquier enrutamiento realizado después del multiplexor (en el lado común) afectará el retardo de ambas interfaces, tanto la MIPI-DSI como la LVDS. Esto se puede tener en cuenta creando una clase de señal X separada para la interfaz MIPI-DSI y la interfaz LVDS, permitiendo más libertad en la afinación del retardo en el PCB.

En este ejemplo, podría haber sido posible evitar la necesidad de este enfoque si todo el enrutamiento en el lado común hubiera sido ajustado a una ventana de retardo ajustada, tanto entre pares como de par a par. Sin embargo, al usar dos clases de señal X separadas, tenemos un mejor control sobre el presupuesto de tiempo de cada interfaz.

Las señales X nos permiten salvar la brecha sobre el multiplexor y realizar la afinación de longitud en cada interfaz sobre toda la longitud de la señal antes y después del multiplexor.

El mismo enfoque se utiliza en la interfaz PCIe para salvar la brecha a través de los capacitores de acoplamiento AC en serie.

LVDS routed to the multiplexer

LVDS enrutado al multiplexor

MIPI-DSI routed to the multiplexer

MIPI-DSI enrutado al multiplexor

Todas las interfaces de alta velocidad en la placa Pi.MX8 se ajustan en retraso utilizando señales X ya que proporcionan una longitud de trayectoria más precisa de toda la señal. No vamos a examinar cada interfaz por separado ya que la configuración de la regla de ajuste de retraso y el ajuste de enrutamiento es una tarea repetitiva que no difiere mucho en su enfoque general entre las interfaces.

Este fue el paso final para completar el enrutamiento en la placa Pi.MX8. La siguiente etapa es realizar una verificación exhaustiva de las reglas de diseño y exportar el conjunto de datos de fabricación.

En la próxima actualización, echaremos un vistazo a las placas y comenzaremos a ensamblar algunos prototipos. Este será el paso final para encender el módulo Pi.MX8 por primera vez, así que ¡manténganse atentos!

Sobre el autor / Sobre la autora

Sobre el autor / Sobre la autora

Lukas is a passionate hardware designer with more than 10 years of experience in the electronics industry. As a co-founder of his own engineering services company, he has had the privilege of working on many exciting projects, taking on challenges ranging from precision analogue design to high-speed PCB layout and power electronics.

As a strong supporter of the open-source philosophy, Lukas has made it his goal to give anyone interested an insight into the construction and functioning of modern electronic devices. Driven by that goal, he has founded the company Open Visions Technology (OV Tech GmbH), which aims to bring highly repairable, fully documented state-of-the-art consumer hardware to the market.

Lukas firmly believes that with today's online access to know-how and tools, anyone with an idea, drive, and passion can create extraordinary things. He is looking forward to being part of an enthusiastic community and is excited to see how people bring their ideas to life.

Recursos Relacionados

Documentación técnica relacionada

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