Seite 1 von 1

Ich habe mir mal die FRAM Speicher auf den Tisch geholt

Verfasst: Fr 12. Dez 2025, 21:49
von Admin
Ja diese FRAM haben ja offenbar sehr viele Schreib/Lese Zugriffe. Die gefallen mir seeeehr gut. meine Test FRAM´s sind 32MB brauchen wenig Strom und sind offenbar sehr schnell. Damit kann man wichtige Daten zwischenspeichern, dass man bei Ausfall der Spannung, also bei Neustart der CPU wieder da ansetzen kann, wo man zuletzt war. Also keine Datenausfälle.

Das ist guuuut, das kommt in die Suppe. :(V):

Also die nächten Tage werde ich wohl mal da dran bleiben.
Franz

Das hier habe ich im Google aus KI zum FRAM gefunden:
--------------------------------------------------------------------
FRAM-Speicher (Ferroelectric Random Access Memory) ist extrem langlebig und ermöglicht eine praktisch unbegrenzte Anzahl an Schreib-/Lesezugriffen, oft in der Größenordnung von über
10 Milliarden Zyklen (10^10), was weit über die Lebensdauer von Flash-Speichern hinausgeht und ihn ideal für Anwendungen mit häufigen Schreibvorgängen macht, bei denen Daten nicht verloren gehen dürfen. Im Gegensatz zu herkömmlichem RAM sind die Daten in FRAM auch ohne Stromversorgung nicht flüchtig, sodass sie auch nach einem Stromausfall erhalten bleiben.

Hohe Lebensdauer: Mehr als 10 Milliarden Lese-/Schreibzyklen sind typisch, was die Lebensdauer praktisch unbegrenzt macht.
Nichtflüchtig: Daten bleiben auch bei Stromausfall erhalten, ähnlich wie bei Flash-Speicher, aber mit viel schnelleren Schreibvorgängen.
Schnelle Zugriffe: Sehr schnelle Schreibzeiten ermöglichen zahlreiche Zugriffe in kurzer Zeit, oft im Sekundentakt über Jahrzehnte hinweg.
Geringer Stromverbrauch: Im Vergleich zu traditionellen RAM-Typen benötigt FRAM weniger Strom, insbesondere bei Schreibvorgängen.

Vergleich zu anderen Speichertypen:

RAM: Kann beliebig oft beschrieben werden, verliert aber die Daten ohne Strom.
Flash-ROM: Hat eine begrenzte Anzahl von Schreibzyklen (z.B. 1.000–10.000), die oft schneller erschöpft sind als bei FRAM
------------------------------------------------------------------

Re: Ich habe mir mal die FRAM Speicher auf den Tisch geholt

Verfasst: Sa 13. Dez 2025, 09:13
von Admin
Das ist ein Bespielcode aus der FRAM - Lib. Der läuft schon mal auf einem ESP32 D1 Mini, mit dem 32KB FRAM.

Code: Alles auswählen

#include "Adafruit_FRAM_I2C.h"

/* Beispielcode für das Adafruit I2C FRAM Breakout-Board */

/* Connect SCL    to analog 5
   Connect SDA    to analog 4
   Connect VDD    to 5.0V DC
   Connect GROUND to common ground */

Adafruit_FRAM_I2C fram = Adafruit_FRAM_I2C();

void setup(void) {
  Serial.begin(115200);

  if (fram.begin()) {  // Sie können die neue I2C-Adresse hier einfügen, z. B. begin(0x51);
    Serial.println("I2C FRAM gefunden");
  } else {
    Serial.println("I2C FRAM nicht identifiziert ... überprüfen Sie Ihre Verbindungen?\r\n");
    Serial.println("Wird fortgesetzt, falls dieser Prozessor wiederholte Operationen nicht unterstützt start\r\n");
    while (1)
      ;
  }

  // Lies das erste Byte
  uint8_t test = fram.read(0x0);
  Serial.print("Neustart ");
  Serial.print(test);
  Serial.println(" Zähler");
  // Test schreiben ++
  fram.write(0x0, test + 1);

  // Den gesamten 32K-Speicherinhalt auslesen!
  uint8_t value;
  for (uint16_t a = 0; a < 32768; a++) {
    value = fram.read(a);   // Speicherstelle auslesen
    if ((a % 32) == 0) {    // 32 byte in einer Zeile
      Serial.print("\n 0x");
      Serial.print(a, HEX); // Speicherstellen Zähler in HEX ausgeben
      Serial.print(": ");
    }
    Serial.print("0x");
    if (value < 0x1)
      Serial.print('0');
    Serial.print(value); // Den Wert der Speicherstelle ausgeben
    Serial.print(" ");
  }
}

void loop(void)  // Wird nicht genutzt, weil nur der Durchgang im Setup genutzt wird.
{
}