Paralleler RAM ohne große Pinanzahl?

16

In den 1970er Jahren gab es bei Texas Instruments eine inzwischen abgekündigte Produktreihe, die als GRAM (und nur lesbares gleichwertiges GROM) bezeichnet wurde und bei der es sich im Grunde um einen Standard-Speicherchip mit Adressen und Daten handelte, die alle auf 8 Pins gemultiplext waren. Sie würden eine Operation starten, indem Sie dem Chip zwei Bytes Adresse senden und dann jedes Mal, wenn Sie entweder den Lese- oder den Schreib-Pin drücken, ein Byte über den Bus lesen oder schreiben und dann den internen Adressenzähler inkrementieren. Das Ergebnis war ein Speicherchip, der (zumindest für sequentielle Zugriffsvorgänge) fast so schnell war wie ein standardmäßiger paralleler Speicherchip, der jedoch nur ein 16-Pin-Gehäuse anstelle der 28-Pin-Gehäuse anderer ähnlicher Speicher des Tages benötigte .

Heutzutage würden Sie für ähnliche Anwendungen wahrscheinlich am häufigsten seriellen Speicher mit SPI-Zugriff verwenden. Das Problem ist jedoch, dass solche Speicher sehr langsam sind (die meisten haben einen maximalen Durchsatz von etwa 20 Mbit / s; einige sind doppelt so schnell wie aber ich habe nicht schnelleres gefunden als das), während ein modernes Äquivalent dieser TI-Teile viel schneller sein könnte und leicht 100 + Mbit / s-Zugriff zulässt.

Gibt es irgendetwas, das noch in Produktion ist und sich ähnlich wie diese TI-Chips verhält? Das nächste, was ich heute finden kann, sind kundenspezifische Teile, z. B. der VLSI VS23S010D , der ein Speichergerät, das die von mir gesuchte Schnittstelle unterstützt, mit einem Bildschirmtreiber kombiniert, der die Pinanzahl auf bis zu 48 Pins erhöht. Ich suche idealerweise etwas in einem 14- oder 16-poligen Gehäuse (ich denke, 14 ist das realistische Minimum - 2x Leistung, 8x Daten, Takt, Adressauswahl, Byte lesen, Byte schreiben).

Jules
quelle
Der MC68HC11-Mikrocontroller hatte einen nervigen Multiplex-Adress- und Datenbus, ähnlich dem, was Sie beschreiben. Ein solcher Speicher wäre dafür fantastisch.
Rohr
aber der 68HC11 muxte nur A0..7; A8..15 waren noch getrennte Stifte.
14.

Antworten:

19

Die geeignete Standardlösung ist wahrscheinlich QSPI (auch QPI oder auch SQI genannt). Es ist eine Erweiterung der SPI-Schnittstelle, verwendet jedoch vier (Quad, daher das Q im Akronym) Datenbits (IO0 / IO1 / IO2 / IO3) anstelle eines einzelnen Signals für jede Richtung (MISO / MOSI).

Die Chips sind also sehr klein (normalerweise SO-8) und die Schnittstelle ist sehr effizient: Sie müssen die Adresse für jeden Lese- oder Schreibbefehl senden, aber dann können Sie mehrere Bytes im Burst lesen, vier Bit bei jedem Taktzyklus. Die maximale Taktrate beträgt normalerweise ~ 104MHz für Blitzlicht. Mit einer Dual Data Rate-Signalisierung (vier Bits bei jeder Taktflanke, sowohl steigend als auch fallend) kann die Signalisierung noch schneller ausgeführt werden. In diesem Modus werden also in jedem Taktzyklus acht Bits maximal für Flash-Chips verwendet.

Die Chip-Datenblätter enthalten alle Details zur genauen Bedeutung / Verwendung jedes Signals. Zur Veranschaulichung ist hier ein Zeitablaufdiagramm für Lesebefehle (im Single Data Rate-Modus und aus diesem Datenblatt entnommen ):

Bildbeschreibung hier eingeben

Hier sehen Sie, dass Sie 14 Taktzyklen benötigen, um das erste Byte zu erhalten (bei 80 MHz bedeutet dies 175 ns Zugriffszeit). Wenn Sie jedoch mehr Bytes benötigen, fügen Sie einfach 2 Zyklen pro Byte (25 ns) hinzu. Das Einlesen eines Bursts ist also viel schneller als bei einem typischen 70-ns- oder sogar 45-ns-Flash-Parallelchip.

Über diese Schnittstelle können Sie problemlos NOR-Flash-Teile vieler Hersteller finden. Beachten Sie, dass die Leistung (maximale Geschwindigkeit, Anzahl der Dummy-Zyklen) und die Funktionen (Quad-I / O oder nur Dual-I / O, DDR-Unterstützung) variieren. Lesen Sie daher das Datenblatt.

RAM ist etwas schwieriger zu finden, aber immer noch verfügbar, insbesondere bei Microchip (z. B. 23LC512 ), ON semi (z. B. N01S818HA ) und ISSI (z. B. IS62WVS2568GBLL-45 ). Sie sind jedoch langsamer als der Blitz. Aber die ISSI, die ich oben vorschlage, geht immer noch bis zu 45 MHz (einzelne Datenrate) mit einem anscheinend minimalen Lesezyklus, der 11 Takte für das erste Byte benötigt. Oder anders ausgedrückt: 200 ns + 45 ns pro Byte (180 Mbit / s Durchsatz), was nicht schlecht ist und die von Ihnen angegebene GRAM-Geschwindigkeit überschreitet.

Beachten Sie auch, dass viele High-End-MCUs (von NXP, ST, ...) diese Schnittstelle in Hardware unterstützen.

trübe
quelle
Ja, das sieht genauso aus, wie ich es wollte. Vielen Dank. :)
Jules
Eine weitere sehr ähnliche Schnittstelle ist der 4-Bit-SD-Bus.
Dmitry Grigoryev
@DmitryGrigoryev Das stimmt. Aber ich glaube nicht, dass Sie RAM-Chips finden können, die daran haften. Wahrscheinlich gibt es nur NAND-Flash-Chips (eMMC).
dim
@dim - Mein Verständnis (basierend auf den QSPI-Schnittstellen von ST) ist, dass sie gelesen / geschrieben werden (nicht nur lesbar) - RAM vs Flash sollten auch nicht viel
ausmachen
@ThreePhaseEel Sie haben Recht: Auf ST-Chips kann die QSPI-Schnittstelle in zwei Modi eingestellt werden: im indirekten Modus (Sie lösen Befehle für den Chip aus, indem Sie einige Register explizit einstellen) und im speicherabgebildeten Modus (die Flash-Schnittstelle wird automatisch übersetzt) Speicherzugriffe auf Lesebefehle). Im speicherabgebildeten Modus wird im Referenzhandbuch ausdrücklich darauf hingewiesen, dass nur Lesen zulässig ist. Im indirekten Modus können Sie jedoch, wie bereits erwähnt, jeden gewünschten Befehl senden (Lesen / Schreiben / Was auch immer). Ich werde entsprechend bearbeiten.
dim
2

Ich poste dies als eine andere Antwort, weil es etwas völlig anderes ist.

Es gibt eine andere, aber weniger verbreitete Schnittstelle, die ebenfalls gut zu Ihrer Beschreibung passt: HyperBus , von Cypress entwickelt (proprietär).

Dieser verwendet DDR mit viel höheren Geschwindigkeiten (bis zu 166 MHz) und einen 8-Bit-Bus. Sie erreichen also 2666 Mbit / s (wow!), Was QSPI weit hinter sich lässt. Es wurde auch für DRAMs mit höherer Dichte als für SRAMs entwickelt, sodass Sie 8M x 8-Chips finden können (im Gegensatz zu 256k x 8 für den in der anderen Veröffentlichung erwähnten ISSI QSPI SRAM). Es werden nur 12 Signale verwendet (ohne Versorgungsspannungen).

Hier ist ein HyperRAM-Produkt von ISSI: IS66WVH8M8ALL . Es gibt auch HyperFlash-Produkte, die Sie finden können.

Wir befinden uns jedoch in einer anderen Produktkategorie. Es ist teurer, weniger leicht zu beschaffen, die Chips sind normalerweise BGA und die Schnittstelle ist etwas komplexer (aufgrund von hoher Geschwindigkeit und DDR). Dies wird auch von weniger MCUs unterstützt.

trübe
quelle
Es gibt 8-Bit-Versionen von QSPI-Flash von mehreren Anbietern, die hinsichtlich der Leistung "HyperBus" sehr ähnlich sind.
Timmy Brolin