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

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

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6759
Re:Length tuning y vias
« Respuesta #15 en: 14 de Febrero de 2019, 11:55:28 »
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).

Exacto.. Fijate como lo hacen en las placas de ellos:



en cada extreno tratan de poner una via.

Saludos
No contesto mensajes privados, las consultas en el foro

Conectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3489
    • Pinballsp
Re:Length tuning y vias
« Respuesta #16 en: 14 de Febrero de 2019, 15:02:57 »
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:

¿ No se puede hacer con PCB de 2 caras. En mi caso no puedo usar 4 capas, porque la placa es muy grande y me dispararía el coste.


Citar
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.

En la placa de NXP, las pistas son muy finas, vistas al microscopio, el ancho de pista con respecto al ancho del pin del microcontrolador, yo diría que son de 6mil. Lo que si se ve es mayor separación entre pistas que la que yo he dejado, que en mi caso lo tenía configurado también a 6mil.

Para la próxima revisión del PCB (ahora he pedido 5 unidades, para probar), he pensado en subir el ancho de estas pistas a 8 ó 9mil, poner más vías en las islas de cobre de masa, poner las resistencias en serie de terminación, y aumentar la separación entre pistas, que ahora es de 6mil, a 12mil (es lo que aparenta tener la placa de evaluación de NXP, vista al microscopio).

« Última modificación: 14 de Febrero de 2019, 17:04:10 por planeta9999 »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7418
Re:Length tuning y vias
« Respuesta #17 en: 14 de Febrero de 2019, 16:55:01 »
A mi me queda la duda sobre que sean 50 ohms la linea de transmision... es porque algunos controladores poseen la capacidad de modificar la fuerza de sus drivers y eso afecta a la impedancia de la salida... Pero no encuentro nada en el datasheet de la memoria. Al menos no esa que pasaste.

Conectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3489
    • Pinballsp
Re:Length tuning y vias
« Respuesta #18 en: 14 de Febrero de 2019, 17:10:36 »
A mi me queda la duda sobre que sean 50 ohms la linea de transmision... es porque algunos controladores poseen la capacidad de modificar la fuerza de sus drivers y eso afecta a la impedancia de la salida... Pero no encuentro nada en el datasheet de la memoria. Al menos no esa que pasaste.

¿ Ese parámetro de impedancia donde aparece, en el datasheet de la memoria o en el del microcontrolador ?.
Esa SDRAM (IS42S16160J-6TLI en TSOP-54) es la que instala NXP en sus placas de evaluación para los RT1020, es la que voy a usar en mi diseño.

La placas de evaluación con el RT1050, usan una SDRAM en formato BGA, MT48LC16M16A2B4-6AIT:G, pero con ese encapsulado prefiero no trabajar.


Conectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3489
    • Pinballsp
Re:Length tuning y vias
« Respuesta #19 en: 14 de Febrero de 2019, 17:25:14 »
 
Estoy revisando este documento sobre recomendaciones para hacer el PCB, y no estoy tan desviado.
http://www.issi.com/WW/pdf/IS43DR00-001.AN.pdf

1.- Grosor mínimo de pista 5mil, yo las he hecho a 6mil.
2.- Separación mínima entre pistas de una misma net (entiendo que se refieren al mismo bus), 7mil, yo las tengo a 6mil y solo en los tramos en los que no hay meandros.
3.- Separación mínima entre pistas de distintas net (entiendo que entre buses diferentes), 15mil. En mi caso los buses de datos y direcciones están en caras distintas, top y bottom. Solo las lineas de control coinciden en la misma cara con uno de los buses.
4.- Recomiendan resistencias serie entre 10 y 33 ohm, a mitad del trazado de cada pista de los buses. Estas si que no las puse.

A ver si tengo suerte, y al menos en este prototipo funciona, y para la versión final ya le hago las modificaciones que indiqué.


Encontré otro dato interesante, en esta nota aplicativa de NXP:
https://www.nxp.com/docs/en/application-note/AN10935.pdf

"The 0 ohm termination is used when the trace impedance is near 50 ohms, while 22 ohms is used when trace impedance is near 75 ohms"

Entiendo entonces, que como la placa de NXP usa resistencias de terminación de 0 ohm, la impedancia es de 50 ohm.


« Última modificación: 14 de Febrero de 2019, 17:38:38 por planeta9999 »

Desconectado manwenwe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2155
Re:Length tuning y vias
« Respuesta #20 en: 14 de Febrero de 2019, 17:42:51 »
La mayoría de las recomendaciones de los fabricantes sobre "lenght matching" están exageradas: la velocidad de las señales en FR4 es de 15cm/ns. Tengo relativamente bastante experiencia en el tema y después de hacer "lenght matching" a 0.1mm en varios circuitos con DDR3 (600Mhz), incluso por capas y respetando el número de vías, me dí cuenta de que no tenía mucho sentido ya que el fabricante no te da los datos del "flight time" (distancia del "die" a cada una de las bolas/pads) y las memorias me seguían funcionando...; algo que sí se suele proporcionar en FPGA.

Yo le daría mucha más importancia al PDN (buenos descoples en la alimentación) y a la impedancia controlada. Planeta: eso a dos capas es muy dificil porque el ancho de pista se dispara), quizá para un par diferencial... pero para decenas de lineas de una DDR es muuuy complejo.

Experimento casero: coged un cable USB o HDMI, cortad uno de los conductores y haced un puente de 5cm.... ¿Sigue funcionando?. Estamos hablando de muchos mhz... Ojo! en DDR es más imporante porque son single-ended y la referencia a masa fastidia mucho más las señales que con las diferenciales...

Saludos!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 7418
Re:Length tuning y vias
« Respuesta #21 en: 14 de Febrero de 2019, 17:48:11 »
Mirando algunos documentos de NXP:

Citar
The RT1020-EVK is a two-layer board design and does not have reference plane to control impedance to accurate 50 ohms. Thus, it is recommended to put a serial resistor to all the signal lines in case there is a need to adjust impedance.

Respecto a:

Citar
¿ Ese parámetro de impedancia donde aparece, en el datasheet de la memoria o en el del microcontrolador ?.

Al menos los que documentos que vi son del controlador. Veo que a los pines GPIO podes definirle la "fuerza" del driver y ahi dice la impedancia que poseen ( datasheet pag. 35 del i.MX)
De todas formas como bien dice lo que quotee antes, ese es el porque de las resistencias en 0 que tiene la placa de prueba... Tambien asegura que sea de 50ohms las lineas de transmision, y que al ser de 2 capas y no poder controlarlo bien ( debido a que no tenes el plano de alimentacion abajo, pusieron las resistencias. Opino que luego sera verlo con algun equipo que permita dar un diagrama de ojo para determinar cual es el mejor valor para el diseño de placa en cuestion. Pero si con 0 ohms te sirve.. entonces dale para adelante :3


Citar
1.- Grosor mínimo de pista 5mil, yo las he hecho a 6mil.
2.- Separación mínima entre pistas de una misma net (entiendo que se refieren al mismo bus), 7mil, yo las tengo a 6mil y solo en los tramos en los que no hay meandros.
3.- Separación mínima entre pistas de distintas net (entiendo que entre buses diferentes), 15mil. En mi caso los buses de datos y direcciones están en caras distintas, top y bottom. Solo las lineas de control coinciden en la misma cara con uno de los buses.

Exacto lo que esta en negrita. Dejo lo que dice micron en su AN, ellos recomiendan (pero hablan de 6 capas):

Citar
DQ to DQ 8mil minimo 12mil promedio
DQ to DQS 8mil minimo 12mil promedio
DQ and DM 8mil minimo 12mil promedio
Address Adjacent address lines 6mil minimo 12mil promedio
Address lines to others  6mil minimo 12mil promedio
Command/Control CAS#, RAS#, WE#, CS#, CKE  6mil minimo 15mil promedio
Clock CK#-to-CK  4mil minimo 6mil promedio
Differential pair (CK, CK#) to any other signal 8mil minimo 12mil promedio


Citar
Planeta: eso a dos capas es muy dificil porque el ancho de pista se dispara), quizá para un par diferencial... pero para decenas de lineas de una DDR es muuuy complejo.

El kit RT1020-EVK es a 2 capas.. Todo es posible en el mundo de ahorrar plata :3 jejej

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6759
Re:Length tuning y vias
« Respuesta #22 en: 14 de Febrero de 2019, 18:25:16 »
Citar
De todas formas como bien dice lo que quotee antes, ese es el porque de las resistencias en 0 que tiene la placa de prueba... Tambien asegura que sea de 50ohms las lineas de transmision, y que al ser de 2 capas y no poder controlarlo bien ( debido a que no tenes el plano de alimentacion abajo, pusieron las resistencias. Opino que luego sera verlo con algun equipo que permita dar un diagrama de ojo para determinar cual es el mejor valor para el diseño de placa en cuestion. Pero si con 0 ohms te sirve.. entonces dale para adelante :3

No, hay placas que son de varias capas y se colocan las resistencias igual. Es un requerimiento, el valor puede salir por simulación (hyperlinx por ejemplo).

Saludos
No contesto mensajes privados, las consultas en el foro

Conectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3489
    • Pinballsp
Re:Length tuning y vias
« Respuesta #23 en: 15 de Febrero de 2019, 01:23:07 »
Yo le daría mucha más importancia al PDN (buenos descoples en la alimentación) y a la impedancia controlada. Planeta: eso a dos capas es muy dificil porque el ancho de pista se dispara), quizá para un par diferencial... pero para decenas de lineas de una DDR es muuuy complejo.

Lo de la impedancia es algo que todavía no tengo claro, básicamente si se puede calcular para placas de 2 caras, o solo es para placas a partir de 4 capas. Lo digo porque en las calculadoras, pide un dato que pensé que era el grosor de la placa, y resulta que es el espacio entre el cobre de la placa y el plano interno, que solo puede estar en placas de 4 o más capas.

La placa de evaluación de NXP para este procesador, está hecha a 2 caras, con un ancho de pista que vista al microscopio parece que no supera los 6mil, y una separación entre pistas algo mayor, tal vez entre 8 y 10mil.

Por otra parte, mira lo que ha hecho este hombre, un RT1062 en BGA con pistas a 5mil y también 5mil de separación entre pistas, aunque él ha usado un placa de 4 capas. Pero ese ancho de pista y sobre todo la separación entre pistas también a 5mil, me descoloca con todo lo que se ha dicho en este hilo, y la documentación oficial.

http://www.eevblog.com/forum/microcontrollers/length-tuning-and-vias/msg2201085/#msg2201085

También consideran que no vale la pena tener en cuenta las vías a la hora de ajustar el largo de pistas, porque para estas velocidades (166Mhz), apenas van a afectar el funcionamiento.

Yo como en estos temas soy nuevo, voy recabando información, y en cuanto me llegue el PCB en unos días, lo monto con la Pick and Place y a probar.

Por otra parte, comentar que el servicio de asistencia de NXP es excelente (y gratuito), me resuelven muchas dudas por privado. Hace unos días les pedí si me podían dar un código fuente de ejemplo para leer el número de serie único del microcontrolador RT1020, porque en el SDK no hay ningún ejemplo, y ayer me respondieron con un projecto completo para esta tarea. Ni ST ni Microchip, te ofrecen algo así, ni por asomo.
« Última modificación: 15 de Febrero de 2019, 01:38:17 por planeta9999 »

Conectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3489
    • Pinballsp
Re:Length tuning y vias
« Respuesta #24 en: 15 de Febrero de 2019, 01:51:36 »
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.

No se como lo hace Altium, pero en Eagle es muy básico.

Ruteas la pista más larga a mano, lanzas un ULP para saber el largo total de esa net, porque si le pinchas directo al tramo, solo te dice el largo de ese trozo, no el largo total de la net.

Cuando ya sabes el largo máximo, vas ruteando a mano cada pista, le pinchas a la opción para crear meandros, introduces el largo en mm que quieres ajustar, con el ratón pinchas sobre la pista y moviendo el ratón izquierda-derecha van apareciendo los meandros y te indica el porcentaje que has alcanzado del largo que quieres ajustar, cuando llegas al 100% ya está ajustada. También puedes mover el raton arriba-abajo, para hacer el meandro más alto.

Es todo bastante simple, se echa en falta algo más currado, pero eso pasa también en otros temas como el panelizado, para el que apenas ofrecen nada serio.

De todas formas Eagle, ha mejorado mucho en la versión 9, han añadido por fin cosas muy chulas y bastante útiles, como el asistente para el ruteo manual, que te permite entre otras cosas, echar vías automáticamente conforme vas ruteando, no te deja cometer burradas como provocar cortos entre pistas, ni pasar pistas por sitios que vulneren las reglas establecidas.
« Última modificación: 15 de Febrero de 2019, 01:57:23 por planeta9999 »

Desconectado AccioRw

  • PIC16
  • ***
  • Mensajes: 142
Re:Length tuning y vias
« Respuesta #25 en: 15 de Febrero de 2019, 05:42:31 »
Lo de la impedancia es algo que todavía no tengo claro, básicamente si se puede calcular para placas de 2 caras, o solo es para placas a partir de 4 capas. Lo digo porque en las calculadoras, pide un dato que pensé que era el grosor de la placa, y resulta que es el espacio entre el cobre de la placa y el plano interno, que solo puede estar en placas de 4 o más capas.

A esta parte me atrevo a darte la respuesta, el motivo de eso es que en una placa de 2 caras controlar la impedancia de retorno por el plano de masa es más complicado, ya que tienes que tener siempre la misma separación con respecto al plano de masa (y por supuesto dicho plano de masa debe ser lo más continuo posible que a veces es imposible por pistas que van en la cara bot, te pondré un ejemplo para que me entiendas por donde voy, por favor, si alguien considera hacerme alguna corrección en un tema como estos que no lo dude, siempre puedo olvidarme algo …)

Primero la pcb con 2 capas:
 supongamos que tenemos 4 pistas paralelas en la cara TOP, las dos del centro su pista de masa de retorno se encontraría al otro lado de la pista numero 1 y 4 o en el mejor de los casos por la cara opuesta si es que hay un plano justo ahí debajo, por lo tanto tendrías que plantear llevar una pequeña pista de masa entre las pistas 2 y 3 para controlar esa impedancia, ahora nos fijamos en esa pista larga y muy fina que va entre medias de ambas líneas (2 y 3), al llegar al otro extremo puesto que es muy fina te encuentras con que tiene una impedancia muy alta de ahí que en las placas de nxp veas esas islas con 2 o 3 vías que conectan el plano de masa inferior con esa pista... Con que te hayas hecho un poco a la idea de estos problemas citados más o menos por encima me vale, solo es para que aprecies lo que cuesta controlar la impedancia en estos casos).

Pasemos a 4 capas:
 tenemos esas mismas 4 pistas paralelas en la cara top, basta con tener un plano de masa continuo en la cara interna que va a ser común para las 4 pistas, ya no tienes problemas con la impedancia en el retorno de las señales puesto que la distancia con gnd es siempre la misma.

Desconectado AccioRw

  • PIC16
  • ***
  • Mensajes: 142
Re:Length tuning y vias
« Respuesta #26 en: 15 de Febrero de 2019, 05:46:55 »
En cuanto al tema de Eagle, yo también es el programa que uso y siempre que debo mirar temas de impedancias, meandros... En fin... nada que no haya mencionado ya planeta, yo todo lo hago a mano midiendo la pista de forma similar a planeta.
He probado Altium y es infinitamente más fácil a la hora de trabajar con placas más complejas/rápidas como la que hablamos, así que según vaya sacando ratos libres que últimamente no son muchos por no decir ninguno (aun tengo el tema  del bootloader del compañero pendiente para probar cuando pueda…)  voy viendo cómo trabajar en Altium para pasarme a él lo antes posible desde mi punto de vista es el mejor software de diseño, aunque no descarto KiCad como una opción gratuita…

Conectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3489
    • Pinballsp
Re:Length tuning y vias
« Respuesta #27 en: 15 de Febrero de 2019, 07:32:27 »

ok, gracias, voy entendiendo lo del cálculo de la impedancia, siempre se hace de una pista con respecto a masa. Si el plano de masa es continuo por debajo de la pista, en un plano interno o en la cara bottom, la impedancia se puede calcular, de lo contrario entiendo que el cálculo no será fiable.

El problema es que en esta placa a dos caras, es casi imposible que bajo las pistas del bus que va por la cara top, haya un plano de tierra continuo, porque en la cara bottom van las pistas del otro bus. Así está hecho en la placa de evaluación de NXP, y supongo que será la solución óptima para este circuito.

Lo que si que veo en la placa de NXP, es que sistemáticamente meten pistas de masa, entre cada 2 a 4 pistas de datos, a veces incluso entre 1 sola pista con respecto a otra. Algunas de estas pistas tipo islote se ven bien porque tienen varias vias a masa, en otro caso solo se ve bien al microscopio o la lupa, porque son pistas más finas.

Por la cara bottom, lo tienen más fácil, porque hay más espacio, y practicamente entre cada pista hay plano de tierra. En estas fotos he marcado las pistas de masa, en cada uno de los buses, por ambas caras. Podría hacer algo similar en la revisión que haga de PCB, meter siempre una pista de masa, cada 2 a 4 pistas de datos, o directamente hacer el diseño idéntico al de NXP, así voy sobre seguro. Con sacar unas fotos de calidad, puedo ir ruteando en Eagle lo mismo que veo en la foto. De pasivos, todo lo que usan es 0402, igual que yo, el grosor de pista, creo que es también 6mil, y la separación entre pistas parece algo mayor, pero no mucho.













Conectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3489
    • Pinballsp
Re:Length tuning y vias
« Respuesta #28 en: 15 de Febrero de 2019, 07:41:27 »
En cuanto al tema de Eagle, yo también es el programa que uso y siempre que debo mirar temas de impedancias, meandros... En fin... nada que no haya mencionado ya planeta, yo todo lo hago a mano midiendo la pista de forma similar a planeta.
He probado Altium y es infinitamente más fácil a la hora de trabajar con placas más complejas/rápidas como la que hablamos, así que según vaya sacando ratos libres que últimamente no son muchos por no decir ninguno (aun tengo el tema  del bootloader del compañero pendiente para probar cuando pueda…)  voy viendo cómo trabajar en Altium para pasarme a él lo antes posible desde mi punto de vista es el mejor software de diseño, aunque no descarto KiCad como una opción gratuita…


Yo hace tiempo también estuve mirando Altium con la intención de migrar. Incluso estuve probando la importación de proyectos de Eagle a Altium, para llevarme todo lo que ya tengo hecho, el problema es que se deja bastantes cosas por importar y otras las hace mal, aunque es un mal menor, una vez sabes que cosas son las vas corrigiendo.

Yo le vi dos problemas fundamentales para cambiarme a Altium.

1.- Ya estas acostumbrado a un producto, en mi caso a Eagle, más o menos ya lo dominas y lo haces todo todo con rapidez, casi sin pensar. Cambiarse a un nuevo producto, es volver a empezar, dolores de cabeza y mucha pérdida de tiempo. No se si realmente vale la pena. En resumen que da mucha pereza cambiarte, cuando lo que usas actualmente te va bien y lo tienes dominado, nunca encuentro el momento ni la excusa para cambiarme.

2.- Eagle es un producto muy ligero, carga muy rápido y todo se ejecuta con mucha rapidez. A su lado, Altium es como un mastodonte, lento de carga y lo mismo al trabajar con el producto. Se nota bastante, y eso que tengo un buen PC, con un procesador Intel I7, de lo mejor cuando lo compré, y todos los programas los tengo instalados en disco SSD.





« Última modificación: 15 de Febrero de 2019, 09:03:53 por planeta9999 »

Desconectado AccioRw

  • PIC16
  • ***
  • Mensajes: 142
Re:Length tuning y vias
« Respuesta #29 en: 15 de Febrero de 2019, 08:14:57 »
1.- Ya estas acostumbrado a un producto, en mi caso a Eagle, más o menos ya lo dominas y lo haces todo todo con rapidez, casi sin pensar. Cambiarse a un nuevo producto, es volver a empezar, dolores de cabeza y mucha pérdida de tiempo. No se si realmente vale la pena. En resumen que da mucha pereza cambiarte, cuando lo que usas actualmente te va bien y lo tienes dominado, nunca encuentro el momento ni la excusa para cambiarme.

2.- Eagle es un producto muy ligero, carga muy rápido y todo se ejecuta con mucha rapidez. A su lado, Altium es como un mastodonte, lento de carga y lo mismo al trabajar con el producto. Se nota bastante, y eso que tengo un buen PC, con un procesador Intel I7, de lo mejor cuando lo compré, y todos los programas los tengo instalados en disco SSD.

Opino igual que tu en ambos puntos, aunque yo por mi parte aunque sea mas pesado Altium si me pasaria a usarlo, pero el problema es migrar que eso lleva tiempo buscando manuales/tutoriales hasta que se entere uno de como funciona todo y por supuesto como bien dices empieces a coger soltura con el programa...