Arduino Nano mit FRAM Modul

Hallo zusammen,

ich benötige für mein Projekt mit dem Nano ein FRAM Modul, was ich möglichst am SPI

betreiben kann. Habe mir schon einen Wolf :slight_smile: gegoogelt. Das Problem ist nämlich,

das ich schon alle Pins verwende. Ich sehe momentan nur die Möglichkeit den PIN A4 und A5,

den ich schon für das Display verwende hierfür zu benutzen. Man kann ja auf dem i2C Bus mehre Adressen vergeben.

Das Schreiben oder Lesen auf das Modul kommt nicht allzu oft vor und so denke ich das es gehen wird. Dies habe ich mir jetzt überlegt, da ich noch nichts von so einem FRAM Speicher gewusst habe.

Das Eeprom auf dem Chip scheint mir problematisch wegen der relativ wenigen Schreib/Lese Zyclen.

Das FRAM denke ich, ist eine perfekte Lösung, da es bei Stromausschaltung die Daten behält, ist also Nichtflüchtig, prima.

Ich schreibe diesen Post in der Hoffnung, das jemand ev. eine bessere Lösung sieht. Ideal wäre ja wenn der FRAM schon direkt mit auf der Nano-Platine wäre.

lg Roland

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.

mfg ein Moderator.

Widersprichst du dir da nicht selbst?

Zeige mal einen Schaltplan

Frage mal bei der Fa. Arduino nach.

Ansonsten schaue mal hier: FRAM als nicht flüchtiger Datenspeicher bei Stromunterbrechungen oder Deep-Sleep

Und was heißt das genau ?

Und warum keins mit I2C ?

Na ja scheint auf den ersten Blick ein Widerspruch zu sein. Jedoch in Jahren kommt da schon was zusammen.

I2C na klar geht auch, aber das würde wahrscheinlich bedeuten eine neue Adapter Platine zu fertigen. iMo k.A,

Das hatte ich schon gelesen.

Auch für ein SPI-Fram brauchst du eine passende Platine. Oder willst du die einfach in die Luft hängen ? :wink:

Gibt’s sehr viele, Suchmaschine defekt?

Z.B.

Dazu kommt am SPI brauchst du ein CS Pin am I²C keinen, außer du nutzt nicht I²C.

IMo sehr ich ein Modul für um die 7€ von Eckstein oder so und das dann mit einem Steckadapter zwischen den Displayanschloss stecken. Aber das ist nur eine Notlösung.
Schade das ich das mit dem FRAM nicht ehr gewusst habe.

Noch mal die Frage: Wie oft speicherst du was und warum ab?

Normal habe ich mir (s.Bilder) das Teil gebaut um damit zwei Soundexpander auf einfache Weise zu editieren. Einfach nur die Soundbank, die Soundnummer, das Volume und das Panel und natürlich der Midi Kanal auf dem das ganze gesendet werden soll. Das macht dann 5 Bytes pro Poti. Normal müsste ich jedes mal speichern, wenn ich dran rumdrehe. Bei dem Eeprom wollte ich das nur ab zu speichern. Dabei ist aber auch die Gefahr es mal zu vergessen und dann ist eine gute gefundene Kombination einfach futsch.

Es gibt momentan 8 Programme mit jeweils 25 Bytes für 5 Potis. Das mal 8, macht 200 Bytes.

Jetzt durch die Möglichkeit in ein FRAM zu speichern, brauche ich mir darüber keine Gedanken zumachen. Am einfachsten wäre es, das Modul einfach an der SCSI Schnittstelle zustecken. Doch das entzieht sich meiner Kenntnis, da ich gelesen habe das diese Schnittstelle nur zum direkten Programmieren des Chips wäre, trotz USB ?!?

Also auf die Frage wie oft speicherst Du - kann ich nur relativ antworten. Aus Sicherheitsgründen immer dann wenn etwas geändert wurde. So gesehen ist die Aussage von nicht so oft speichern von dem Umstand mit dem Eeprom zusehen. Denn da soll es vergleich zu anderen Speichern nur relativ wenige Zyklen geben. Bei andern Projekten hatte ich mir damit geholfen das Eeprom extern auf der Platine unterzubringen, damit ich es im Falle eines Defektes leicht austauschen konnte.

Aber das ist jetzt vorbei. Jetzt werde ich nur noch mit FRAM bauen. :slight_smile:

Suchmaschine defekt - habe ich doch geschrieben, das ich mir schon einen Wolf gesucht habe.

Bin aber nicht schlau daraus geworden. Ist das so ein Problem?

Und mit 100.000 Schreibzyklen reichst du nicht aus ?

Na dann mach mal.

Schau Dir mal diesen Thread nebenan an (alles lesen). Dort haben wir I2C-FRAM benutzt.

Gruß Tommy

OK, ob SPI oder i2c scheint geklärt.
Was direkt auf einem Nano-Bord wird es nicht geben.
Aber hast Du mal dran gedacht einen ESP32 zu nehmen und das Dateisystem zu benutzen?

Es gibt ein ESP32 C3 von Luatos was ist nur ganz wenig größer als Nano
" * Dimension length and width 21mm*51mm"
Nano V3 18 x 45 mm

Hmm... der ist 3V Logik und der vorhandene Nano 5V oder?

@bentuck mal ein kleines Rechenbeispiel zum internen EEPROM.

der ATmega328P hat 1KB. Dein Datensatz hat 256 Bytes. Ein einfaches Wearleaveling könntest du daher mit 4 Seiten machen. 100.000 Zyklen werden dir garantiert (Real wird das mehr sein).

Angenommen du schreibst alle 5 Sekunden ins EEPROM. (100.000 * 4 / 60 * 5 / 60 / 24)

Dann hast du nach 23 Tagen die garantierten Schreibzugriffe verlassen.

Wie viele Änderungen machst du wirklich? Reicht es 5 Sekunden nach der letzten Änderung zu schreiben?

Benutzt du schon SPI oder I2C? Hast du noch freie Pins oder kann man irgendwas umräumen?

Ein I2C FRAm ist:
https://it.aliexpress.com/w/wholesale-mb85rc256.html
oder

Grüße Uwe