J'ai une conception utilisant un LPC1788 avec un module SDRAM d'ISSI ( IS42S32800D ). Il s'agit d'une interface 32 bits.
J'ai acheminé cette conception et ai fait fabriquer un prototype avec un fabricant de PCB qui fait des prototypes à 6 couches. Le prototype du PCB fonctionne bien. J'ai alors pensé que je ferais fabriquer le PCB en un petit lot (100) chez mon fournisseur habituel de PCB. Je leur ai donné les informations de pile que mon prototype a utilisées pour m'assurer qu'il n'y aurait aucun problème.
Pourtant! J'ai d'énormes problèmes avec la carte de production. Au début, je n'ai pas pu susciter de réponse de la part de la SDRAM avec le même code que celui utilisé dans ma carte prototype. Le conseil précédent fonctionnait à 120 MHz, donc j'étais sûr que quelque chose n'allait pas avec ce nouveau conseil. J'ai ensuite trouvé un article où les gens ont suggéré d'utiliser le mode répéteur sur les lignes de données SDRAM (je ne l'avais pas utilisé auparavant) et cela a déclenché une réponse de la SDRAM, mais ce n'est pas stable. Je peux écrire à environ 16 adresses, mais avec les lectures suivantes, les données retournées (à chaque adresse) sont les données que j'ai écrites en dernier (probablement en raison du mode répéteur). Lorsque je désactive le mode répéteur, les données renvoyées sont 0xFFFFFFF. J'essaye maintenant de me connecter à 48Mhz, la configuration la plus basse pour laquelle j'ai des timings.
J'utilise les mêmes résistances de terminaison (sur les lignes de données) de 22 Ohms sur les deux cartes, les lignes de données mesurent en moyenne 3 cm de long. La ligne d'horloge mesure 2,4 cm de long. Les lignes d'adresse mesurent en moyenne 3,8 cm de long.
Est-ce trop hors spécifications, devrais-je retarder l'horloge plus longtemps si elle est sensiblement plus courte? Je suis vraiment coincé ici, car je n'ai rien changé à la conception que j'espérais pour une fabrication sans couture pour ces planches.
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
Voici la configuration de la pile PCB pour le prototype original (fonctionnel):
Voici la configuration de la pile de PCB pour les PCB de production (non fonctionnels)
Voici le routage de la SDRAM: