Bei SRAM läßt sich ja das Platinenlayout optimieren, indem man die Adress- und Datenleitungen zwischen RAM und uC beliebig zuordnet. Ist dies auch bei DRAM möglich, oder führt das zu Problemen beim Refresh? Herbert
Was für DRAM? War für ein Refresh? Bei klassischen FPM/EDO DRAM-Chips und Refresh per angelegter Refresh-Adresse sind je nach Typ u.U. nicht alle Adressleitungen auch Refresh-Adressen. => Datasheet.
Es geht um SDRAM, speziell der MT48LC32M32A2TG von Micron Technology. Im Datasheet habe ich keine Details zum Refreshvorgang gefunden, ich kopiere mal den folgend Abschnitt in der Hoffnung, dass du noch einen Hinweis geben kannst, ob es generell möglich ist, die Pins auszutauschen (dann käme ich nämlich mit der halben Fläche für das Layout klar im Vergleich zur Situation, wenn ich beide Busse sauber entflechten müsste.). AUTO REFRESH AUTO REFRESH is used during normal operation of the SDRAM and is analogous to CAS#-BEFORE-RAS# (CBR) refresh in older DRAMs. This command is nonpersistent, so it must be issued each time a refresh is required. All active banks must be PRECHARGED prior to issuing an AUTO REFRESH command. The AUTO REFRESH command should not be issued until the minimum tRP has been met after the PRECHARGE command as shown in the operation section. The addressing is generated by the internal refresh controller. This makes the address bits Dont Care during an AUTO REFRESH command. The 128Mb SDRAM requires 4,096 AUTO REFRESH cycles every 64ms (tREF), regardless of width option. Providing a distributed AUTO REFRESH command every 15.625μs will meet the refresh requirement and ensure that each row is refreshed. Alternatively, 4,096 AUTO REFRESH commands can be issued in a burst at the minimum cycle rate (tRFC), once every 64ms.
SDRAMs sind etwas komplizierter da die einen internen Status pro Bank haben. Genau darauf wird hier hingewiesen: es müssen alle Banks inaktiv sein (precharged). Im Refresh selbst sind die Adressen also egal, wie da ja auch steht, nur direkt davor evtl. nicht.
Sobald du nen Burst verwendest können die Adressleitungen nicht mehr vertauscht werden bzw. nur an die maximal genutzte Burstlänge angepasst.
Nun muß ich mich also mit dem DRAM-Controller des verwendeten Mikrocontrollers vertraut machen, um festzustellen, ob das Timing (precharge) erfüllt ist, und ob ich ohne Bursts auskomme. Auf jeden Fall bin ich dank eurer Infos einige Schritte weitergekommen. Vielen Dank!
Hallo, bei den älteren DRAM'S (414256) habe ich das gemacht, allederdings hatte ich dort CAS before RAS-Refresh, es wäre aber auch mit normalem Refresh gegangen, bei den modernen SDRAM's kenne ich mich aber nicht aus
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.