SRAM behält Daten nicht

Gast #269479
Lesenswert?

Moschen

Ich will Daten loggne lassen und der AT90S8515 soll diese im SRAM
speichern. Jetzt probiere ich die ganze Zeit erstmal nur auf die erste
Adresse zu schreiben. Klappt auch. Nach dem Ausschalten (des Stk500)
und Wiedereinschalten sind die Daten mal da und mal nicht (anderer
Wert). Jetzt gerade sind die Daten nur nach Reset da, und nach
Aus/Einschalten ist der Wert 255 drin, obwohl ich ne 10 geschrieben
hab.

Ist der SRAM für Datalogging nicht geeignet, sollten man besser den
EEPRom nehmen?
Gast #269480
Lesenswert?

Das SRAM verliert seine daten wenn der Strom weg ist ;)

Dass es manchmal noch halbwegs da ist liegt daran dass die
Elkos auf dem Board noch kurze Zeit Strom liefern.

Datenloggen ins sram geht nur wenn das sram immer strom hat ;)
Sonst nen nichtflüchtigen Speicher nehmen wie nen eeprom.
Gast #269481
Lesenswert?

..aber nicht vergessen: EEPROM sind langsam können nur so um die
100000mal beschrieben werden (bis auf ein paar Ausnahmen)...!  ;)

Tip: Nimm 'nen Gold-Cap mit 1F, 'ne gute Schottky-Diode und puffere
damit den SRAM. Um Strom zu sparen disable den SRAM, wenn Versorgung
weg ist..!

Hab mit dieser Methode vor ein paar Jahren einen EPROM-Simulator
gebaut, der seine Daten fast einen Monat lang behalten hat! ;)
Gast #269484
Lesenswert?

Der 8515 hat doch 512 Bytes internes EEPROM. Benutze dieses.

Standard EEPROMs mit I2C-Ansteuerung im 8-poligen Gehäuse gibt es bis
64kB.

Darüber gibt es von verschiedenen Herstellern Flashbausteine mit
serieller Ansteuerung.
Gast #269485
Lesenswert?

@Klaus,
es ist das erste mal, dass ich in einer Antwort auf Google verweisen
muss, da du grundsätzlich was nicht auf die Reihe kriegst. Also hier
nochmal die Kurzform:
SRAM ist ein statischer Speicher, der nach Abschalten der
Betriebsspannung seine Daten nicht "behält", sie sind weg!
Deshalb nennt man diese auch volatile (flüchtig).
EEPROM ist ein non-volatile Speicher, d.h. auch nach dem Abschalten,
also im stromlosen Zustand sind die Daten gesichert.
Also deshalb mein Tip: Google etwa mal nach folgenden Begriffen:
PROM,EPROM,EEPROM,SRAM,DRAM, etc.
Vielleicht kommst du ja ein Skript von einer
Mikrocomputertechnik-Vorlesung (So hieß die Vorlesung bei uns) einer
FH/Uni ran. Da steht dann alles sehr ausführlich erklärt drin.
Gast #269486
Lesenswert?

ok danke Leute,
ich hab nochmal nachgeforscht, also das Problem ist nicht mehr das
Abschalten der Energie (ist ständig zugeführt), sondern die Grösse des
SRAMS. Brauche mehr Speicher. WIe oben schon geschrieben, will ich es
so einfach wie möglich haben. Hab mir also mal die DataFlash-Teile
angesehen. So ein 8MB Speicher wär ideal. Die können mit SPI
angeschlossen werden - nur hab ich beim 90S8515 das SPI schon belegt
mit nem CAN controller.
Bräuchte also nen zweiten CS-Ausgang. Welcher AVR bietet denn das?
Gast #269487
Lesenswert?

einen zweiten CS-Ausgang? da kannst du jeden freien Port-Pin nehmen, aus
dem du TTL-kompatible Signale bekommst. (also normaler IO oder ein OC
mit Pullup)
Dann machst du mit MISO und MOSI party-line (parallel schalten) und
SCLK gibts du an beide chips. Mit einem der beiden CS (oder Slave
Selects) suchts du dir dann einen Slave aus, der die Daten annehmen
soll.
Wenn Party-line nicht geht (MOSI oder MISO geht nicht High-Z), dann
machst du halt daisy-chain und schickst auf den Slave, der nichts
machen soll einen NO-OP befehl und danach / davor den befehl für den
richtigen Slave.
Gast #269488
Lesenswert?

Party-Line:

MISO: -----+------------+
MOSI: -----|-+----------|-+
SCLK: -----|-|-+--------|-|-+
CS1:  -----|-|-|-+      | | |
CS2:  -----|-|-|-|------|-|-|-+
           | | | |      | | | |
           -------      -------
           Gerät A      Gerät B

Daisy-Chain:

MOSI: -----+
           | +----------+
MISO: -----|-|----------|-+
SCLK: -----|-|-+--------|-|-+
CS1:  -----|-|-|-+------|-|-|-+
           | | | |      | | | |
           -------      -------
           Gerät A      Gerät B

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren