Tengo un diseño usando un LPC1788 junto con un módulo SDRAM de ISSI ( IS42S32800D ). Esta es una interfaz de 32 bits.
He descartado este diseño y he hecho un prototipo con un fabricante de PCB que hace prototipos de 6 capas. El prototipo de PCB funciona bien. Entonces pensé que obtendría el PCB fabricado en un lote de pequeño volumen (100) de mi proveedor habitual de PCB. Les di la información acumulada que mi prototipo usó para asegurar que no hubiera problemas.
¡Sin embargo! Tengo problemas masivos con la placa de producción. Al principio no pude obtener ninguna respuesta de la SDRAM con el mismo código que usé en mi placa prototipo. La placa anterior funcionaba a 120Mhz, así que estaba seguro de que algo estaba mal con esta nueva placa. Luego encontré una publicación en la que las personas sugirieron usar el Modo repetidor en las líneas de datos SDRAM (no había usado esto anteriormente) y esto generó una respuesta de la SDRAM, sin embargo, no es estable. Puedo escribir en aproximadamente 16 direcciones, pero luego, con lecturas posteriores, los datos devueltos (en cada dirección) son los datos que escribí al final (probablemente debido al modo de repetidor). Cuando desactivo el modo repetidor, los datos devueltos son 0xFFFFFFF. Ahora estoy tratando de conectarme a 48Mhz, la configuración más baja para la que tengo tiempos.
Estoy usando las mismas resistencias de terminación (en las líneas de datos) de 22 ohmios en ambas placas, las líneas de datos tienen un promedio de 3 cm de largo. La línea del reloj mide 2.4cm de largo. Las líneas de dirección tienen un promedio de 3.8 cm de largo.
¿Está esto fuera de especificaciones? ¿Debería retrasar el reloj más si es sustancialmente más corto? Estoy realmente atrapado aquí, ya que no he cambiado nada sobre el diseño que esperaba para una fabricación sin problemas para estas placas.
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á la configuración de la pila de PCB para el prototipo original (en funcionamiento):
Aquí está la configuración de la pila de PCB para los PCB de producción (que no funcionan)
Aquí está el enrutamiento para la SDRAM: