Ho un design che utilizza un LPC1788 insieme a un modulo SDRAM di ISSI ( IS42S32800D ). Questa è un'interfaccia a 32 bit.
Ho eliminato questo progetto e ho realizzato un prototipo con un produttore di PCB che realizza prototipi a 6 strati. Il prototipo di PCB funziona bene. Ho quindi pensato di ottenere il PCB fabbricato in un piccolo volume (100) dal mio solito fornitore di PCB. Ho dato loro le informazioni cumulative utilizzate dal mio prototipo per garantire che non ci fossero problemi.
Tuttavia! Ho enormi problemi con la scheda di produzione. All'inizio non sono stato in grado di sollevare alcuna risposta dalla SDRAM con lo stesso codice che ho usato nella mia scheda prototipo. La scheda precedente funzionava a 120 Mhz, quindi ero sicuro che qualcosa non andava in questa nuova scheda. Ho quindi trovato un post in cui le persone hanno suggerito di utilizzare la modalità ripetitore sulle linee dati SDRAM (non l'avevo mai usato in precedenza) e questo ha sollevato una risposta dalla SDRAM, tuttavia non è stabile. Posso scrivere a circa 16 indirizzi, ma poi con le letture successive i dati restituiti (ad ogni indirizzo) sono i dati che ho scritto per ultimo (probabilmente a causa della modalità ripetitore). Quando disabilito la modalità ripetitore, i dati restituiti sono 0xFFFFFFF. Ora sto provando a connettermi a 48Mhz, la configurazione più bassa per cui ho i tempi.
Sto usando le stesse resistenze di terminazione (sulle linee Dati) di 22 Ohm su entrambe le schede, le linee dati hanno una lunghezza media di 3 cm. La linea dell'orologio è lunga 2,4 cm. Le linee degli indirizzi sono lunghe mediamente 3,8 cm.
È troppo fuori specifica, dovrei ritardare di più l'orologio se è sostanzialmente più breve? Sono davvero bloccato qui, poiché non ho cambiato nulla del design che speravo in una produzione senza interruzioni per queste schede.
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
Ecco la configurazione dello stack PCB per il prototipo originale (funzionante):
Ecco la configurazione dello stack PCB per i PCB di produzione (non funzionanti)
Ecco il routing per SDRAM: