11 votos

SDRAM Prototipo vs Producción Males

Tengo un diseño con un LPC1788 junto con un módulo de SDRAM de ISSI (IS42S32800D). Esta es una de 32 bits de la interfaz.

Me han realizado este diseño, y había un prototipo con un PCB fabricante que hace 6 capa de prototipos. El PWB del prototipo funciona bien. Yo entonces pensaba que iba a obtener el PCB fabricados en un pequeño volumen de lote (100) de mi usual PCB proveedor. Les di la pila de seguridad de la información que mi prototipo utiliza para garantizar que no habría ningún problema.

Sin embargo! Tengo enormes problemas con la junta de producción. Al principio yo era incapaz de levantar una respuesta de la SDRAM lo nunca con el mismo código que he usado en mi prototipo de la junta. La junta anterior, estaba trabajando en 120Mhz así que estaba seguro de que algo estaba mal con esta nueva junta. Luego me encontré un post donde la gente sugirió usar el Modo Repetidor en la memoria SDRAM de las líneas de datos (yo no había utilizado previamente) y esto levantó una respuesta de la SDRAM, sin embargo no es estable. Me pueden escribir a los 16 o así, direcciones, pero luego, con las lecturas posteriores de los datos devueltos (en cada dirección) son los datos que me escribió el pasado (probablemente debido al Modo Repetidor). Cuando me desactivar el modo repetidor, los datos devueltos se 0xFFFFFFF. Ahora estoy tratando de conectar a 48Mhz, el más bajo de la configuración que he tiempos.

Estoy utilizando el mismo resistencias de terminación (en las líneas de Datos) de 22Ohms en ambas tablas, líneas de datos son un promedio de 3 cm de largo. Línea de reloj es de 2.4 cm de largo. Líneas de dirección son el promedio de 3.8 cm de largo.

Es esta demasiado fuera de especificación, debo retrasar el reloj más si es sustancialmente más corto? Realmente estoy atascado aquí, como he cambiado nada sobre el diseño que yo estaba esperando una perfecta fabricación de ejecución de estas tablas.

Maximum Data Line Length: 59mm (Although this includes the branch to the NAND Flash)
Minimum Data Line Length (Ctrl to Res): 18mm
Maximum Address Line Length: 44mm
Minimum Address Line Length: 24mm
CLK: 24.5mm
CKE: 25mm
CAS: 28mm
RAS: 28.7mm

Aquí está el PCB de configuración de la pila de la original (de trabajo) prototipo: enter image description here

Aquí está el PCB de configuración de la pila para la producción (no de trabajo) Pcb enter image description here

Aquí está la hoja de ruta para la SDRAM: SDRAM Routing

10voto

John Christman Puntos 188

Eso es un pésimo stackup. El número de núcleos debe ser de 0.2 mm y el saldo de su espesor debe ser en el prepreg entre las capas 3 y 4 (Interior 1 Interior y 2).

La razón de esto es que, para cualquier señal en una traza, se necesita una corriente de retorno de ruta de acceso en el plano de la derecha debajo de ella. La corriente de retorno en el avión va a intentar minimizar la inductancia (es decir, un bucle de la zona), lo que significa que se va a tratar de seguir en virtud de la traza de la señal. Si la traza de la señal es distante desde el avión, va a buscar a otras huellas para encontrar una ruta de regreso. Este es el electromagnetismo que estamos luchando.

Además, por tener capas internas a diferentes distancias de sus planos de referencia (recuerde, todos los guías de suministro ver como motivos en el AC!) en comparación con la capa exterior de distancias, crear un cambio de impedancia en cada cambio de capas (aunque esto puede ser contrarrestado con ancho de traza los cambios, aunque me pareció vale la pena sólo una vez), y aumentar significativamente el potencial de interferencia y otras interferencias.

Otra cosa que usted necesita hacer es comprobar los materiales utilizados: hay más de 20 diferentes materiales de los que se llaman a sí mismos "FR-4", por ejemplo. Las cosas normalmente yo uso se llama 370-HR. Se comporta bastante bien con alta velocidad de entre 100 y 500 MHz señales.

Con respecto a la línea de reloj, si mal no recuerdo en mi último SDRAM diseño tenía el reloj configurado de modo que su borde ocurrió el pasado (su traza fue más largo por 1 cm), después de todo, la dirección y las líneas de datos estabilizado. Así que, sí, retrasando el reloj de la pena intentarlo. Yo no tenía necesidad de ningún control de la impedancia en la SDRAM líneas.

Su resistores de terminación debe ser colocado tan cerca de la línea de conductores como sea posible. Si no están dentro de unos 0,5 cm, que puede causar reflejos de sí mismos, lo que resulta en sobregiro y timbre. En mi humilde opinión, de 3 cm de longitud del trace es horrible corto a la necesidad de resistencias de terminación (yo los uso a partir de alrededor de 6-10 cm); ¿has probado simplemente tomarlas?

Otra cosa que hay que comprobar son sus aviones: ¿tiene usted la señal de trazas de cruzar plano corta? Este es un gran no-no, porque las fuerzas de la corriente de retorno para tomar un camino largo de todo el corte.

Finalmente, el borde de la tasa es un gran problema en estos diseños. Un montón de fichas innecesariamente corto ascenso y la caída de los tiempos, y la reducción de la frecuencia de reloj tiene ningún efecto sobre este. Estos bordes son excelentes para la creación de reflejos. Esto es lo que su 22 ohm terminator resistencias están tratando de arreglar: retrasan los bordes. Sin embargo, si usted está realmente empujando, una herramienta como Mentor Graphics' HyperLynx puede ser utilizado para encontrar el óptimo de terminación del diseño.

Algunos de los libros que yo recomiendo que cubren todo esto y mucho más, y lo juro por ellos en el trabajo:

Estos libros cubren de reducción de EMI, el blindaje de diseño de PCB stackup, el control de la impedancia, de suministro de energía de disociación, y mucho más. Además, el Señor Ott imparte los seminarios sobre este tema (viene con una copia gratuita de su libro).

4voto

Sixty4Bit Puntos 2664

En este tipo de frecuencia pienso que la longitud de la pista tipo de cuestiones es poco probable que sea un problema importante, sin duda, por problemas de demora. Como los problemas comenzaron con un nuevo PCB la primera cosa a hacer sería la prueba de que todas las líneas de continuidad (en contra de la hoja de datos, no su esquema, en caso de que su esquema tiene errores), y el alcance de cada pin para comprobar que las formas de onda son al menos plausible - aunque su alcance no está a la comprobación de detalles de tiempo debería ser bastante obvio si hay alguna abierta o en cortocircuito pines.

Haciendo este tipo de cosas, sin un adecuado ámbito de aplicación está plagado de peligros potenciales - ¿cómo sabe usted cuánto margen que usted tiene ? Incluso si funciona, ¿cómo puede saber si usted es o no justo en el borde, y vulnerables a la campo de la producción de errores debido a las tolerancias, la temperatura o la Fase de la Luna?

2voto

ozmank Puntos 127

2º añadir asumimos su diseño fue margen de la prueba, y el código era perfecto en sus preguntas. (no) le sugiero que compruebe lo siguiente;

  1. Configurar la e / s rápida, los mató y deshabilitar los filtros de entrada
  2. Habilitar el modo de entrada en el reloj
  3. Establecer la serie de bits (9?) para aumentar la velocidad de respuesta de la memoria SDRAM de la interfaz de pines
  4. Habilitar el modo repetidor ya que son bi-direccionales y no debe ser dejado flotando en un cmos de entrada.
  5. Cambio de la tensión de alimentación para determinar la sensibilidad a error.
  6. por defecto el modo de restablecimiento para un bus de datos de pin es FUNC=0X00, MODE=0X02, HISTÉRESIS=HABILITADO, INVERT=DESHABILITADO, y MATÓ a=ESTÁNDAR
  7. ¿Su llamada a PINSEL_ConfigPin() con un nuevo valor de la función, restablecer el MODO INACTIVO (no de pull-down/resistencia pull-up) y apague la HISTÉRESIS?
  8. Está usted usando un for/next bucles o discreta código, tales como;

    • LPC_IOCON->P3_0 |= 1; // D0 @ P3.0
    • LPC_IOCON->P3_1 |= 1; // D1 @ P3.1
    • LPC_IOCON->P3_2 |= 1; // D2 @ P3.2 etc.
  9. ¿Valer para volver a habilitar la ponemos, cada vez que sea necesario?
  10. Se utilizan? *pPIN &= ~(0x00000007);//Borrar la función de los bits"

Recuerdo la depuración mi 1er CMOS diseño de una Física de posgrado estudiante por un Sísmica portátil de grabación, conmutable temporizador de la placa lógica. No había firmware o de la uC, pero él nunca hizo un peor de los casos de análisis de tolerancias y el hardware había condiciones de carrera por todo el lugar cuando una docena más tablas se construyeron y depurado por mí mismo. La Sísmica Profe trajo sobre la Cabeza de la Física Departamento de preguntar por qué yo no podía hacer depuración de las tablas, entonces yo tenía para que le asesoren componente de variación expuestos muchos de los defectos de diseño llamado la temporización de las condiciones de carrera debido a metaestable condiciones y borde de reloj utilizada. Él todavía no entiende, entonces yo le pedí que me dijera cuántos dedos me desplegada mientras yo estaba levantando mi mano antes de llegar a mi cintura nivel de bajo a alto. Entonces él dijo , usted no puede hacer eso y esperar una respuesta correcta. Me dijo que, precisamente. Es una raza primitiva condición. Reciben menos obvio con más niveles de complejidad. U de Manitoba 1973.

1er añadido: Que la terminación de bus esquema se utiliza? bus el método (1) es el preferido, Es de 1,25 Vdc limpio?


  1. Hizo pagar por las TIC en estos foros? tarjeta de prueba es una necesidad
  2. ¿Especificar la impedancia en el gerber diseño de instrucciones?
  3. Hizo ejecutar simulaciones en su diseño con las tolerancias?
  4. La constante dieléctrica en los consejos y #de capas de pre-preg control de la la impedancia de stripline y microstrip, junto con trazas de ancho y la brecha.

    Hay muchos gratis online Z calculadoras para stripline.

    Usted puede tratar de medir la capacitancia en las grandes pistas de tierra, o de los planos y comparar ambas tablas desnudas.

    También mira las señales con una alta velocidad, alcance y observar sobreimpulso y el reloj<>datos del patrón de ojo.

Tiene que haber una explicación simple de los errores, pero no es fácil de encontrar. Pero una vez que encuentre la raíz de la causa... no cometer ese error de nuevo.

añadió: Otro error que he encontrado es su altura de pila diagrama no se indica el Cu espesor de la capa y no hay suficiente para caber en 6 capas, a menos que sea malo o el Cu espesor es 0.039 mm (NO ;)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X