Autor Tema: Length tuning y vias  (Leído 1481 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3452
    • Pinballsp
Length tuning y vias
« en: 13 de Febrero de 2019, 06:10:04 »
 
Buenas.

¿ Sabeis si para calcular la longitud de pistas para el Length tuning, hay que considerar el grosor del PCB, si hay vías en esa pista ?.

Eagle, no pide nada al respecto, por lo que he supuesto que no lo tiene en consideración. Tengo un PCB con una SDRAM conectada a un RT1020 Cortex M7 500Mhz. Las pistas de esta SDRAM necesitan estar sintonizadas, así están también en la placa de evaluación de NXP para este procesador.

He puesto la placa de evaluación al microscopio, y he visto que las pistas del bus de datos van por una cara, y las del bus de direcciones por la otra. Las que van por la cara TOP, van directas de la SDRAM al micro, sin vías, así lo he hecho yo también aplicando Length tuning para dejarlas todas al largo de la pista más larga.

Las otras pistas van por la cara bottom, y en todas estas, echa viás tanto en los pines de la SDRAM como en los pines del microcontralador.  Para calcular el largo en estas pistas, he sumado 3.2mm que son los 1.6mm de grosor del PCB para cada vía, al total de la pista. De todas formas, empiezo a sospechar que el largo de pista del bus de datos no tiene porque estar sintonizado con el lardo de pista del bus de direcciones, sino que tienen que estar al mismo largo dentro de cada bus, pero no estoy seguro.

Tampoco tengo claro si las lineas de control deben de estar sintonizadas entre ellas, o también al mismo largo que las pistas de los buses.








« Última modificación: 13 de Febrero de 2019, 06:12:28 por planeta9999 »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7234
Re:Length tuning y vias
« Respuesta #1 en: 13 de Febrero de 2019, 08:28:59 »
Length tuning

Bsicamente el Largo...

Y respecto a las vias, aportan a la longitud de las mismas, pero si TODAS tienen 1 o 2 vias aplicadas... Entonces no tiene sentido tenerlas en cuenta... Ya que la supongmaos la linea de direccion 1 tendria (longitud sobre la placa + 2 vias) y la otra linea tambien tendria (longitud sobre la placa + 2 vias). Lo unico que puede variar es la longitud sobre la placa.

Y respecto a sobre si deben estar sincronizados entre ellos, opino que si y reduciria cualquier problema que pueda suceder, esto es MI opinion.. El que la tiene bastante clara es manwewe.

Encontre esto:

https://www.eevblog.com/forum/eda/sdr-sdram-layout-question/

Donde afirman:

Citar
The drawback of using SDRAM is that the address, control and data lines run at the same frequency and you will likely have to match the length of all these traces but this is something you'll have to look up in an application note of the microcontroller and the memory.
Vi un AN donde habla directamente de "grupos" el problema era que para lectura y escritura, habia linea de datos que necesitaban estar sincronizadas con las de control.

De un PDF de Micron:

Citar
SDRAM systems have only a single-ended clock (CLK), so the important trace-matching relationship is not to a second differential clock trace but instead to the other groups.
Match clock traces to data group traces within ±500 mil. If multiple clocks are transmitted from the controller to components, all clock-pair traces should be equivalent to
within ±20 mil. Matching trace lengths to this level of accuracy helps minimize skew.

For both DDR and SDRAM, also match clock traces to each signal trace in the address and command groups to within ±400 mil. If clock traces cannot be matched to the trace lengths of these groups within 400 mil, then all clock trace lengths must be increased as a group. The longest-to-shortest trace-length difference must be ≤800 mil, so both longest and shortest traces determine how much length must be added to all clock lines.

En resumen, todos tienen que estar igual  :D
« Última modificación: 13 de Febrero de 2019, 08:47:49 por KILLERJC »

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3452
    • Pinballsp
Re:Length tuning y vias
« Respuesta #2 en: 13 de Febrero de 2019, 08:51:41 »
Todas las pistas no tienen dos vías. Me fijé en el diseño de la placa de evaluación de NXP, el Bus de Datos y las Lineas de Control están por la cara de arriba, sin vías, el Bus de Direccionamiento está por la cara de abajo con 2 vías cada pista.

Como no lo tenía claro, apliqué el mismo largo para todas las pistas, y a las que tienen dos vías les resté 3.2mm por el grosor del PCB (1.6mm * 2 vías), para calcular el largo de pista.

A veremos que tal va esto, es la primera vez que aplico lo del length tuning con meandros en Eagle. Nunca había usado un micro tan rápido. En este caso la SDRAM (de 256Mbit) es para que cargue y ejecute el programa desde esa RAM y también para cargar un array bastante grande que en el arranque está en SD.

También voy a montar pasivos 0402 en la Pick and Place, porque este procesador lleva un montón de condensadores de desacoplo y a la velocidad que va, imagino que contra más pequeño y cerca este todo mejor. En teoría puede montar hasta 0201, pero por ahora solo ha he probado con 1206, aunque los LQFP144 me los pone perfectos.
« Última modificación: 15 de Febrero de 2019, 01:45:56 por planeta9999 »

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3452
    • Pinballsp
Re:Length tuning y vias
« Respuesta #3 en: 13 de Febrero de 2019, 08:54:03 »
En resumen, todos tienen que estar igual  :D

Lo hice así, para no equivocarme, así voy sobre seguro. Aunque tenía curiosidad por saber si ajustar el largo de las pistas era solo para cada bus independiente de los otros.

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6759
Re:Length tuning y vias
« Respuesta #4 en: 13 de Febrero de 2019, 13:35:38 »
Hola!

Eagle todavia no implementa la equalización asisitida? En Altium uno puede establecer como regla de diseño que cierto grupo de nets tengan como maximo cierta diferencia entre ellas y una herramienta te permite ir ecualizandolas.

Pero si, si tu memoria trabaja a mas de 100MHz, lo conveniente seria ecualizar. Tenes el siguiente doc pare revisar al respecto:

https://www.nxp.com/docs/en/application-note/AN2826.pdf

Ten en cuenta tambien si no son necesarias resistencias de terminación (resistencias serie cerca de la fuente de la señal). Y lo que hacen de poner un grupo de señales en una capa y otro grupo de señales en otra, es para disminuir el crosstalk entre señales. Cosas como estas las evitaria (en rojo):

En azul marco lo que tampoco es aconsejanble o se saca o se coloca una via a gnd para que la referencia sea fuerte.

Saludos
No contesto mensajes privados, las consultas en el foro

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3452
    • Pinballsp
Re:Length tuning y vias
« Respuesta #5 en: 14 de Febrero de 2019, 05:29:16 »
Ten en cuenta tambien si no son necesarias resistencias de terminación (resistencias serie cerca de la fuente de la señal).

Gracias por los consejos.

No se que son y que función tienen, en este caso, las resistencias de terminación. En el esquema de la placa de evaluación hay unas resistencias, en serie, de cero ohm. No se si será eso, no las puse en mi diseño, al ver que eran de cero ohm.

Citar
Y lo que hacen de poner un grupo de señales en una capa y otro grupo de señales en otra, es para disminuir el crosstalk entre señales. Cosas como estas las evitaria (en rojo):

¿ Te refieres a que no es bueno que hayan pistas en paralelo ?. Miraré a, ver como esta ruteado en la placa de NXP.

Citar
En azul marco lo que tampoco es aconsejanble o se saca o se coloca una via a gnd para que la referencia sea fuerte.

Esas islas de cobre estan todas conectadas a masa con vias.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7234
Re:Length tuning y vias
« Respuesta #6 en: 14 de Febrero de 2019, 06:26:41 »
No se que son y que función tienen, en este caso, las resistencias de terminación. En el esquema de la placa de evaluación hay unas resistencias, en serie, de cero ohm. No se si será eso, no las puse en mi diseño, al ver que eran de cero ohm.

Depende de lo que diga el fabricante... Por ejemplo de un documento de Micron:

Choose series resistor values such that the sum of the resistor impedance and controller output driver impedance equals ZO

Tambien:

https://www.nxp.com/docs/en/application-note/AN1722.pdf (Pagina 3) tens un dibujo de como es la cosa..
En resumidas cuentas... a esa velocidad se comienza a considerar como una linea de transmision, por lo tanto las impedancias del receptor y lo que ve el receptor hacia el transmisor deberian ser iguales para que se reduzca en lo posible el reflejo de la señal. Y esto es lo que se esta intentando con esa resistencia en serie... Por lo que vi las que estan en paralelo las usan para cuando tienen varias DDR juntas.



Esas islas de cobre estan todas conectadas a masa con vias.

Si lo estan... Pero en un punto alejado... dejando de ser estrictamente GND en los extremos de las islas al no tener mas vias.. Yo por mi lo sacaria directamente y que no queden islas (entremedio).
« Última modificación: 14 de Febrero de 2019, 06:30:11 por KILLERJC »

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3452
    • Pinballsp
Re:Length tuning y vias
« Respuesta #7 en: 14 de Febrero de 2019, 07:44:04 »
En resumidas cuentas... a esa velocidad se comienza a considerar como una linea de transmision, por lo tanto las impedancias del receptor y lo que ve el receptor hacia el transmisor deberian ser iguales para que se reduzca en lo posible el reflejo de la señal.

El tema del cálculo de impedancias lo desconozco por completo, tendré que buscar información.


Esas islas de cobre estan todas conectadas a masa con vias.

Si lo estan... Pero en un punto alejado... dejando de ser estrictamente GND en los extremos de las islas al no tener mas vias.. Yo por mi lo sacaria directamente y que no queden islas (entremedio).
[/quote]

Ya las he corregido, he añadido vias donde se podía y otras las he quitado.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3452
    • Pinballsp
Re:Length tuning y vias
« Respuesta #8 en: 14 de Febrero de 2019, 07:47:19 »
 
Este es el esquema de la placa de evaluación, con la SDRAM conectada a un micro RT1020. Lo que no se es para que sirven todas esas resistencias de 0 ohm conectadas en serie con los buses y las lineas de control. Aunque en el esquema aparecen 2 resistencias y 1 condensador, en paralelo, no están puestos en la placa, todo lo que en el esquema aparece como DNP no está puesto.

Todas esas resistencias de 0 ohm, en la placa, aparecen metidas a mitad de camino en cada pista, ni idea de para que sirven y porque se conectan en el PCB de esa manera.

Veo en la placa de evaluación, que si hay muchas pistas que van en paralelo, y que las islas de cobre, efectivamente tienen varias vías. La última foto, es del bus que va por la cara de abajo.








« Última modificación: 14 de Febrero de 2019, 07:58:27 por planeta9999 »

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6759
Re:Length tuning y vias
« Respuesta #9 en: 14 de Febrero de 2019, 10:03:35 »
Hola!

Esas son las famosas resistencias de terminación en serie. Si la señal es unidireccional van lo mas cerca del pin fuente (que emite la señal), si es bidireccional van en la mitad. Estas resistencias sirven para mejorar la respuesta de señales rapidas, disminuir el sobreimpuslo por ejemplo. Hay herramientas que te permiten analizar esto durante el diseño, como hyperlinx, pero sino dejas el footprint para las resistencias y lo evaluas despues. Generalmente son resistencias entre 10 y 20 ohm que se colocan. Ahh y ademas tu net tiene que tener una impedancia Z0 de 50 ohm, esto depende de la distancia al plano interno y el espesor de la pista.

Saludos
No contesto mensajes privados, las consultas en el foro

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3452
    • Pinballsp
Re:Length tuning y vias
« Respuesta #10 en: 14 de Febrero de 2019, 10:30:36 »
https://www.nxp.com/docs/en/application-note/AN1722.pdf (Pagina 3) tens un dibujo de como es la cosa..
En resumidas cuentas... a esa velocidad se comienza a considerar como una linea de transmision, por lo tanto las impedancias del receptor y lo que ve el receptor hacia el transmisor deberian ser iguales para que se reduzca en lo posible el reflejo de la señal.


OK, no había leído esto.
Lo que no se todavía es como calcularlas, y si la ubicacion de cada resistencia es importante.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3452
    • Pinballsp
Re:Length tuning y vias
« Respuesta #11 en: 14 de Febrero de 2019, 10:33:13 »
Hola!

Esas son las famosas resistencias de terminación en serie. Si la señal es unidireccional van lo mas cerca del pin fuente (que emite la señal), si es bidireccional van en la mitad. Estas resistencias sirven para mejorar la respuesta de señales rapidas, disminuir el sobreimpuslo por ejemplo. Hay herramientas que te permiten analizar esto durante el diseño, como hyperlinx, pero sino dejas el footprint para las resistencias y lo evaluas despues. Generalmente son resistencias entre 10 y 20 ohm que se colocan.

En este caso, en la placa de evaluación de NXP, las han puesto de 0 ohm. En la siguiente revisión que haga de PCB, ya las pondré y corregiré también lo de las vias en las islas de cobre, estas ya las mandé a fabricar.


Citar
Ahh y ademas tu net tiene que tener una impedancia Z0 de 50 ohm, esto depende de la distancia al plano interno y el espesor de la pista.

De eso si que no tengo ni idea, buscaré información a ver si me voy enterando de como se calcula. La placa es de dos caras.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3452
    • Pinballsp
Re:Length tuning y vias
« Respuesta #12 en: 14 de Febrero de 2019, 10:57:45 »
 
Estoy mirando lo del cálculo de la impedancia de las pistas, y de momento no me aclaro.
Desconozco que valor debo de calcular, si esto lo dice el fabricante de la SDRAM en el datasheet, o si hay un valor estandard.

He entrado a una calculadora online, y me da errores.
http://www.hughescircuits.com/index.php/fr/support/impedance-calculator

El espesor del dieléctrico, supongo que es el espesor de la placa, en mi caso 1.6mm
Espesor de la pista, los fabricantes lo dan en onzas, por omisión 1 onza que son 1.4mil.
Ancho de pista, en mi caso 6mil.
Permitividad relativa, ni idea de que es.

Le pulso a Zo, y me da errores en otros campos.



Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6759
Re:Length tuning y vias
« Respuesta #13 en: 14 de Febrero de 2019, 11:40:00 »
Hola,

la impedancia en estos casos debe ser de 50 ohm. Y para el calculo, H no es el espesor de la placa, sino la distancia al plano. En este caso se necesita minimo un PCB de 4 capas y por ejemplo si el stack es:



Y calculas la impedancia, te da que el ancho debe ser minimo 15 y maximo 22 para estar dentro de los 45 y 55 ohm aprox:



Si necesitas que sea de menor ancho, se puede bajar los 10mil a 5mil del dielectrico, pero se debe consultar al fabricante cual es el minimo permitido.

Saludos
« Última modificación: 14 de Febrero de 2019, 11:42:32 por Suky »
No contesto mensajes privados, las consultas en el foro

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6759
Re:Length tuning y vias
« Respuesta #14 en: 14 de Febrero de 2019, 11:50:59 »
Citar
Y lo que hacen de poner un grupo de señales en una capa y otro grupo de señales en otra, es para disminuir el crosstalk entre señales. Cosas como estas las evitaria (en rojo):

¿ Te refieres a que no es bueno que hayan pistas en paralelo ?. Miraré a, ver como esta ruteado en la placa de NXP.


Exacto, se pueden poner en paralelo pero a una distancia minima. Si la pista tiene 10 mils de ancho, no colocaria otra a un minimo de 20 mils. Y al rutear intentas usar diferentes capas para tratar de separar lo ms posibles las pistas entre si.

Saludos
No contesto mensajes privados, las consultas en el foro