Forum: Mikrocontroller und Digitale Elektronik RAM Backup bei Raspberry Pi Pico


von Thomas T. (runout)


Lesenswert?

Hallo Gemeinde,

ich möchte den RP pi Pico für Steuerungsaufgaben verwenden.
Ein typischer Vorteil von SPS'en ist, dass sie nicht vergessen,
wie ihr RAM-Status vor einem Spannungsausfall war.

Der RapiPi Pico kann das von Haus aus nicht.
Folgende Anforderungen:

Ich möchte nicht immer/zyklisch in eine NVRAM/EEPROM schreiben.
Der Pico soll erkennen, wenn der Saft weggeht (inkl. Brownout)
und genügend Zeit haben, einen Teil des RAMs wegzuschreiben.

Ein FRAM z.B. (z.B. FM25L04B) wäre meine erste Wahl...
Der kann SPI bis 20MHz und ich möchte ca. 64Byte an Prozess-Stati 
sichern.

Kann man das einfach übers SPI-Timing (von /CS bis CS) ausrechnen,
wieviel gepuffert werden muss (ms/µs), bis die Lichter ausgehen können?

Oder gibts ganz andere Ansätze?

(Ein Goldcap für die RTC ist schon vorhanden)

Grüße Runout

: Bearbeitet durch User
von Émile (Gast)


Lesenswert?

Von Microchip gab es Bausteine, die eine Kombination aus EEPROM und RAM 
waren, und die sich komplett selbst um das Thema gekümmert haben (mit 
einem kleinen Stützkondensator).

Ein Beispiel dafür war der 48LM01:

https://www.microchip.com/en-us/product/48LM01

Das Ding war ziemlich genial, mit 66 MHz SPI-Takt sauschnell, sogar 128 
kiB Speicherkapazität und ohne irgendwelches Gehampel mit Wartezeiten 
(die ein EEPROM beim Beschreiben hätte). Das Umkopieren zwischen Flash 
und RAM macht das Teil vollautomatisch selbst beim Einschalten und 
umgekehrt bei Verlust der Versorgungsspannung.

Also eigentlich die perfekte Lösung.

Aus irgendwelchen Gründen hat aber Microchip im letzten Herbst 
entschieden, dieses IC (und seine kleineren Brüder) nicht mehr 
herstellen zu wollen - ohne Ersatz.

von m.n. (Gast)


Lesenswert?

Thomas T. schrieb:
> Ein FRAM z.B. (z.B. FM25L04B) wäre meine erste Wahl...
> Der kann SPI bis 20MHz und ich möchte ca. 64Byte an Prozess-Stati
> sichern.

Dann mach das doch einfach. Selbst mit 100 kHz IIC-Frequenz, sind die 
Bytes in < 10 ms gesichert. Zudem läuft der Pico-Pi >= 1,8 Vcc, sodaß 
beim Ausfall der typ. 5 V genug Zeit bleibt.

Émile schrieb:
> Also eigentlich die perfekte Lösung.

Ist das so?

> Aus irgendwelchen Gründen hat aber Microchip im letzten Herbst
> entschieden, dieses IC (und seine kleineren Brüder) nicht mehr
> herstellen zu wollen - ohne Ersatz.

Na endlich ;-)

von Bauform B. (bauformb)


Angehängte Dateien:

Lesenswert?

Thomas T. schrieb:
> Ein FRAM z.B. (z.B. FM25L04B) wäre meine erste Wahl...
> Der kann SPI bis 20MHz und ich möchte ca. 64Byte an Prozess-Stati
> sichern.

Welche Zykluszeit erwartest du denn? So wenig Daten, mit 20MHz, in ein 
FRAM, könnte man auch zyklisch schreiben. Die Zahlen im Bild beziehen 
sich auf eine Endlosschleife, also pausenlos mit bis zu 40 MBit/s 
schreiben.

Allerdings brauchst du die Brownout Mimik auf jeden Fall, erstmal für 
die SPS-Ausgänge, aber auch für ein F-RAM. Selbst wenn die gesamte Kopie 
nur µs dauert, könnte sie unterbrochen werden. Man will ja immer eine 
vollständige Kopie haben. SPI-F-RAM sind auch auf ein wirklich sauberes 
CS angewiesen, gerade auch im Brownout Fall.

> Kann man das einfach übers SPI-Timing (von /CS bis CS) ausrechnen,
> wieviel gepuffert werden muss (ms/µs), bis die Lichter ausgehen können?

Warum nicht? Man darf nur keinen Stromverbraucher vergessen, serielle 
Interfaces (CAN, RS-232, RS-485...) sind z.B. echte Stromfresser. Zwei 
getrennte 3.3V Regler wären gut, aber man muss bei jedem einzelnen Pin 
aufpassen. Dann kann man im Kopf rechnen: bei 1mF und 1mA sinkt die 
Spannung um 1V pro Sekunde. Weil der Pufferelko an 24V hängen 
kann/sollte, geht das ziemlich gut.

von Frank K. (fchk)


Lesenswert?

Thomas T. schrieb:

> Ein FRAM z.B. (z.B. FM25L04B) wäre meine erste Wahl...
> Der kann SPI bis 20MHz und ich möchte ca. 64Byte an Prozess-Stati
> sichern.

Ich hätte da ein SPI-SRAM verwendet. z.b. 23LCV512. SPI, hat einen extra 
VBAT-Pin, macht die Umschaltung automatisch, ist schnell und hat 
prinzipiell unbegrenzte Schreibzyklen.

fchk

von Bauform B. (bauformb)


Lesenswert?

Frank K. schrieb:
> Ich hätte da ein SPI-SRAM verwendet. z.b. 23LCV512. SPI, hat einen
> extra VBAT-Pin

und den Pin an den Goldcap? Na gut, rein das Prozessabbild ist nach 
einer Woche sowieso nichts mehr wert. Aber im F-RAM könnte man auch 
ADC-Trimm-Daten und so speichern.

von Thomas T. (runout)


Lesenswert?

OK, überzeugt.

172,7Jahre @10MHz könnten auch bei meiner gesunden Lebensweise 
ausreichen.

runout

von Bauform B. (bauformb)


Angehängte Dateien:

Lesenswert?

Thomas T. schrieb:
> 172,7Jahre @10MHz könnten auch bei meiner gesunden Lebensweise
> ausreichen.

Irgendwas ist immer: der FM25V10 vergisst die zuerst geschriebenen Daten 
schon nach 151 Jahren (bei 65°C).

von EAF (Gast)


Lesenswert?

Bauform B. schrieb:
> Irgendwas ist immer

Und nur 10 hoch 24 Leseoperationen, dann ist kaputt.

von P.S. (Gast)


Lesenswert?

Émile schrieb:
> Aus irgendwelchen Gründen hat aber Microchip im letzten Herbst
> entschieden, dieses IC (und seine kleineren Brüder) nicht mehr
> herstellen zu wollen - ohne Ersatz.

Microchip hat die SPI-Versionen der EERAMs abgekündigt. Die 
I2C-Versionen sind in aber weiterhin "In Production". Die obige 
Anwendung sollte sich auch mit der I2C-Version (z.B. 47C04) realisieren 
lassen.

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
Noch kein Account? Hier anmelden.