BIG SRAM ohne parallele Schnittstelle / SPI-basiert?

Ich entwerfe ein Gerät, das keine externe Busschnittstelle hat und eine bescheidene RAM-Größe für die Pufferung von Binärdaten benötigt. 16 MB wären toll, mehr wäre genial.

Es ist ziemlich einfach, SPI-Flash mit 32 - 64 MB zu finden, aber viel komplexer, > 4 MB SPI-RAM zu finden.

Ich habe eine 4mb bei cypress gefunden:

http://www.cypress.com/documentation/datasheets/cy15b104q-4-mbit-512-k-8-serial-spi-f-ram-datasheet

Aber :

  • Ich müsste 4 Chips haben. Das ist viel PCB-Bereich.
  • Es hat viel gekostet. Der Stückpreis liegt bei knapp 27$ ( ! )

Welche anderen Möglichkeiten habe ich?

Das ist FRAM (ferroelectric, non-volatile), kein gewöhnlicher SRAM oder DRAM. Kein Wunder, dass es teurer ist.
Ich muss sagen, 16 MB scheinen nicht "bescheiden" zu sein! Ich würde mir überlegen auf ein Mikro mit externem Bus umzusteigen. Die Kosten werden viel niedriger sein, ich habe in der Vergangenheit mit wenig Erfolg nach seriellen SRAMs gesucht.
16mb kommt mir nicht riesig vor. Ich meine, für eine MCU ist es ziemlich groß, aber wir haben an einem anderen Projekt mit 256 MB parallelem RAM gearbeitet. Daher „bescheiden“.
Ich habe das Wort riesig nicht verwendet, aber in Bezug auf die überwiegende Mehrheit der eingebetteten Systeme, an denen ich gearbeitet habe, ist es viel und sicherlich nicht bescheiden.
Sie könnten dies versuchen (64 Mbit): electrodragon.com/product/2pcs-ipus-ips6404-iot-ram

Antworten (3)

Sie können 512 MB für 10 US-Dollar bekommen und sie werfen sogar einen kompletten ARM-Computer darum.

Wenn Sie wirklich möchten, dass ein serielles RAM auf einer vorhandenen Platine nachgerüstet wird, besteht die Ironie der modernen Ultra-Massenproduktion darin, dass es wahrscheinlich billiger wäre, den oben genannten ARM-SBC mit ein wenig Code darauf zu kleben, um ein serielles RAM zu emulieren, als das dedizierte Hardwaregerät zu kaufen (falls es überhaupt existiert). Und wenn Sie schon dabei sind, ersetzen Sie das vorhandene Mikro damit...

Wenn dies für Heimwerker oder geringe Produktionsmengen ist, empfehle ich Ihnen, ein solches Modul zu verwenden. Ansonsten gibt es Cortex-M4- oder M3-Micros mit SDRAM-Schnittstellen, da kann man einfach einen günstigen SDRAM-Chip nachrüsten.

Der Nachteil von SDRAM und einer großen CPU ist der höhere Stromverbrauch gegenüber SRAM und eine langsame CPU. Wenn Sie unbedingt eine sehr geringe Leistung benötigen, ist dies ein Problem. Aber SRAM ist viel teurer und weniger verfügbar als SDRAM.

Hier ist eine weitere nichtflüchtige Option, aber auch zu klein und teuer, obwohl diese nichtflüchtigen Chips eine interessante Option bieten: Der Stromverbrauch ist sehr gering, wenn sie nicht verwendet werden, da Sie sie ausschalten können!

Welche Art von Geschwindigkeit und Leistung benötigen Sie?

Wenn dies für das Datenlogging ist und der Datendurchsatz niedrig genug ist, die Anzahl der Schreibvorgänge niedrig genug ist, können Sie auch einen SPI-Flash verwenden ...

Ich kann das vorhandene Mikro nicht ersetzen ... Das ist der springende Punkt. Es ist das einzige, das alle Kommunikationskanäle unterstützt, die ich brauche (Flexray, CAN FD 2015, Ethernet, USB). Eigentlich ist die Verwendung eines SPI-Flash keine schlechte Idee. Ich denke, es hängt stark von der Chip-Löschzeit ab, ich muss es versuchen. 1 - 2 MB pro Sekunde wären OK.
Es hat ETHERNET?... Kein Problem, implementieren Sie den Puffer in ein anderes vernetztes Gerät! Wie ein Raspi oder was auch immer. Oder USB, Sie können einen ARM SBC mit usb-gadget lib als USB-Gerät programmieren, sodass Sie Ihren 10-Dollar-NanoPi in ein RAM-basiertes USB-Massenspeichergerät verwandeln können.

Sobald Sie 4 MB überschritten haben, wechseln die Leute im Allgemeinen zu DRAM, um Geld zu sparen. Das bedeutet, dass es praktisch keinen kommerziellen Druck gibt, größere SRAMs zu entwickeln oder den Preis zu senken.

Die Antwort auf die Frage ist also einfach: Ihre andere Option wäre DRAM. Das hat keine SPI-Schnittstelle, also suchen Sie nach einer 2-Chip-Lösung. Es ist immer noch kleiner und billiger als eine 4-Chip-SRAM-Lösung, aber leistungshungriger.

Sie können einen Mikrocontroller mit SPI- und DRAM-Schnittstellen als SPI-Schnittstelle oder ein kleines FPGA verwenden, wenn Sie mehr Leistung benötigen. Wahrscheinlich praktischer, diese Designbeschränkung "kein externer Bus" zu überdenken.

Sie würden also eine zweite MCU verwenden, um eine SPI-DRAM-Schnittstelle für die erste MCU herzustellen? Das ist eine gute Idee ! Irgendwelche MCU-Empfehlungen?
Etwas ziemlich schnelles, mit einer einfachen DRAM-Schnittstelle und einer SPI-Schnittstelle, die Sie als Slave verwenden können. Nichts Spezielles.

IS62WVS5128FBLL-20NLI ist ein Beispiel für einen echten SRAM mit 4 Mbit SPI-Zugriff (Standby-Strom nur 8uA).

Diese liegen derzeit bei Mouser bei rund 3,38 GBP – erhältlich in allen handlichen kleinen Paketen – SOIC und TSSOP https://www.mouser.co.uk/ProductDetail/ISSI/IS62WVS5128FBLL-20NLI?qs=w%2Fv1CP2dgqrL91y31iOeeQ==

Also 512 KB RAM für weit unter 4 £.