mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Speicherbaustein(chen) gesucht


Autor: SamS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich muss alle 8 Sekunden einen 32-bit-Zähler erhöhen und abspeichern. 
Das Gerät kann mal 24 Stunden durchlaufen, oder auch mal einige 
Stunden/Tage aus sein. Der Speicher muss also nicht-flüchtig sein.

Könnt Ihr mir einen Chip nennen, den ich da am Besten nehmen kann? Der 
also möglichst klein ist (sind ja nur 32 Bit)? Der Abspeicher-Vorgang 
sollte bitte nicht zu langsam sein.

Vielen Dank!

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FRAM 24C02

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo hast du denn selber schon gesucht?

Autor: SamS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe schon bei Digikey und Reichelt gesucht.
Problem ist, dann allein in einem Jahr über rechnerisch über 3 Millionen 
mal geschrieben werden könnte. Viele ICs erlauben aber nur 10.000 bis 
50.000 write-Zyklen...

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FRAM hat eine theoretisch unbegrenzte Anzahl an möglichen 
Schreib-/Löschzyklen.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt kleine MCs (8 Pin) musst du nur schauen ob die auch EEPROM 
intern haben. Die Anzahl der Schreibzyklen gilt pro Speicherzelle. Du 
könntest also jeden neuen Wert in eine andere Speicherzelle schreiben, 
und wenn der Speicher voll ist fängst du wieder am Anfang an. Damit 
erhöhst du die Anzahl dre Schreibzyklen enorm.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
FRAM gibt es bei tme.pl, sowohl parallel im SOIC-Gehäuse, als auch SPI 
im SO8-Gehäuse.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Travel Rec. wrote:

> FRAM hat eine theoretisch unbegrenzte Anzahl an möglichen
> Schreib-/Löschzyklen.

Andersrum. Es hat eine formell durchaus begrenzte Anzahl Zyklen, nur ist 
es so gut wie ausgeschlossen, dass dieses Limit in der Praxis erreicht 
wird.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Immer diese Erbsenzähler hier ...

Autor: SamS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Travel Rec.
Laut Datenblatt hat der bereits genannten 24c02 1 Million Schreibzyklen.

@Martin
Ja, daran dachte ich auch schon. Dazu muss aber der Speicher möglichst 
schnell sein.
Z.B. bei 1024 Bytes muss ich im Maximalfall 1024 Bytes lesen und dann 
alle löschen (geht dann ja wieder von vorne los) und dann wieder die 
ersten 4 Bytes schreiben. Okay, könnte man auch nur jedes 4te Byte 
lesen, also 256 Bytes. Das müsste ich mal durchrechnen...

Autor: Nitram L. (nitram)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SamS wrote:
> Hallo,
>
> ich muss alle 8 Sekunden einen 32-bit-Zähler erhöhen und abspeichern.
> Das Gerät kann mal 24 Stunden durchlaufen, oder auch mal einige
> Stunden/Tage aus sein. Der Speicher muss also nicht-flüchtig sein.
>
> Könnt Ihr mir einen Chip nennen, den ich da am Besten nehmen kann? Der
> also möglichst klein ist (sind ja nur 32 Bit)? Der Abspeicher-Vorgang
> sollte bitte nicht zu langsam sein.
>
> Vielen Dank!


Nimm ein kleines EEPROm (24C02) und schreib an Adresse 00 die
Adresse der Speicherzelle, wo dein aktueller Zählerstand steht.
Alle tausend Speichervorgänge schreibst du eine neue Adresse an 00
und legst die Werte unter dieser Adresse ab....


=> lesen des Wertes an Adresse 00h (Addr)
=> lesen des alten Wertes, den du unter (Addr) findest
=> neuen Wert unter (Addr) speichern
=> nach zig Schreibvorgängen den Wert der Adresse an der Stelle 00
   ändern, um eine neue Speicherzelle zum speichern nutzen...

nitraM

Autor: SamS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Martin L.
Klingt soweit gut. Ich kenne mich mit FRAM nicht so aus, aber kann ich 
dort ein Byte (nahezu) beliebig oft beschreiben, ohne vorher löschen zu 
müssen, oder gar eine ganze Page, wie bei EEPROM?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SamS wrote:

> Ja, daran dachte ich auch schon. Dazu muss aber der Speicher möglichst
> schnell sein.

Wenn du ein "möglichst schnelles" Fahrzeug suchst, landest du bei 
Prototypen mit Raketentriebwerk. Wenn dir das zu teuer oder zu 
unpraktisch ist, wär's besser die Randbedingungen zu konkretisieren. 
Also: wie schnell ist schnell genug?

FRAMs sind so schnell wie seriell angebundene RAMs sein können, also 
beispielsweise 10Mbps SPI.

Oben schreibst du, dass alle paar Sekunden 4 Bytes geschrieben werden. 
Das ist alles andere als schnell, sondern derart langsam, dass auch 
EEPROMs grundsätzlich einsetzbar sind, auch Batterie/Goldcapgepufferte 
Uhrenchips mit integriertem RAM per I2C sind dafür schnell genug.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es ist voll kompatibel zu den üblichen I2C-EEProms.
Aber nahezu unbegrenzte Schreibzahl, und keine nennenswerte 
Lösch/Schreibzeit.
Für deine Zwecke also ideal.

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SamS wrote:

> Klingt soweit gut. Ich kenne mich mit FRAM nicht so aus, aber kann ich
> dort ein Byte (nahezu) beliebig oft beschreiben, ohne vorher löschen zu
> müssen, oder gar eine ganze Page, wie bei EEPROM?

Jedes Byte darf einzeln praktisch beliebig oft neu geschrieben werden, 
und zu beachtende Programmierzeit gibt es nicht, d.h. Byte/Page-Modi 
sind nicht relevant. Interface ist SPI oder I2C oder parallel, je nach 
Typ.

Für Einzelbeschaffung ist die günstigste Bezugsquelle dank des Portos 
kurioserweise Modtronix in Australien.

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei den neuen FRAMs steht im Datenblatt 100 Trillion 
Schreib-/Lesezyklen. Das dürfte eine Weile reichen...

Die FRAMs gibt es auch in Dtl. zu kaufen:
http://www.watterott.net/shop/index.php?cat=c17_Sp...

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist in Australien aber immer noch billiger. 6,45 US$ inkl Porto bei 
Modtronix, 6,50€ bei dir ;-).

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Porto nach Dtl. konnte ich leider nirgends finden. Man muss aber 
auch noch Einfuhrumsatzsteuer bezahlen und die Versandzeit ist bestimmt 
auch etwas länger.

Autor: SamS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andreas Kaiser
Mein MC muss natürlich noch was anders "nebenher" machen, als nur diesen 
Zähler zu aktualisieren. der Zähle ist eigentlich Nebensache und dient 
der Sicherheit der Messwert-Erfassung.

Ich weiß, ich sollte noch genauer schreiben, wie schnell alles sein 
muss. Nur kann ich im Moment nicht genau sagen, wie schnell. Geschätzt 
muss der gesamte maximale Schreibvorgang (inkl. Löschen) in weniger als 
1ms abgeschlossen sein.


Ich verstehe das immer noch nicht ganz. helft mir bitte:
beim FRAM muss nicht gelöscht werden, sondern einfach neu beschrieben 
werden? Also quasi wie SRAM?

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Watterott wrote:

> Das Porto nach Dtl. konnte ich leider nirgends finden.

3 US$: http://www.modtronix.com/shipping.php#letter_air

> Man muss aber auch noch Einfuhrumsatzsteuer bezahlen

Ich meine mich errinnern zu können, dass es ein Limit so um die 22€ 
gibt. Wenn man darunter liegt, bleibt einem die m.W. erspart.

> und die Versandzeit ist bestimmt auch etwas länger.

Sicher.

Fairerweise: Es sind andere Chips, 64Kbit statt 256Kbit. Aber wenn man 
nur 32 Bits braucht...

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
SamS wrote:

> beim FRAM muss nicht gelöscht werden, sondern einfach neu beschrieben
> werden? Also quasi wie SRAM?

Genau so ist es. Für alle praktischen Belange kann man FRAM als 
nicht-flüchtiges serielles RAM betrachten und die Geschwindigkeit wird 
nur vom seriellen Interface definiert. Drum heisst es ja auch "FRAM" und 
nicht "FROM".

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, SamS, jetzt ist es aber gut. Nimm die Dinger, sonst geht dir ein 
Wunschpunkt flöten....:-)
Wenn du nur einen oder wenige brauchst, mail mir.
jsgps@web.de

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Andreas Kaiser wrote:
>> Das Porto nach Dtl. konnte ich leider nirgends finden.
>
> 3 US$: http://www.modtronix.com/shipping.php#letter_air

Ah, ich hatte immer unter "International Destinations" geschaut.

>> Man muss aber auch noch Einfuhrumsatzsteuer bezahlen
>
> Ich meine mich errinnern zu können, dass es ein Limit so um die 22€
> gibt. Wenn man darunter liegt, bleibt einem die m.W. erspart.

Stimmt, hatte ich ganz vergessen.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Nimm ein kleines EEPROm (24C02) und schreib an Adresse 00 die
>Adresse der Speicherzelle, wo dein aktueller Zählerstand steht.
>Alle tausend Speichervorgänge schreibst du eine neue Adresse an 00
>und legst die Werte unter dieser Adresse ab....


>=> lesen des Wertes an Adresse 00h (Addr)
>=> lesen des alten Wertes, den du unter (Addr) findest
>=> neuen Wert unter (Addr) speichern
>=> nach zig Schreibvorgängen den Wert der Adresse an der Stelle 00
>   ändern, um eine neue Speicherzelle zum speichern nutzen...

Und wo legst Du ab, wie oft Du schon geschrieben hast, um zu wissen, daß 
1.000 Speichervorgänge erfolgt sind?

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein EEPROM reicht doch. Einfach das erste Byte bis 255 hochzählen, dann 
das zweite, das dritte, ... wenn alles voll ist einen 
Schreibzyklen-Zähler erhöhen und wieder von vorne anfangen. Macht bei 
einem 2 kB-EEPROM ca. 2000*255*1.000.000 Zählschritte = 167.000 Jahre 
Betriebszeit.

Autor: SamS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, aber ein EEPROM kostet ja nicht wirklich weniger als ein FRAM, 
oder?

Autor: Andreas Schwarz (andreas) (Admin) Benutzerseite Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na und ob. Außerdem hat z.B. der AVR schon eines integriert. Reicht beim 
ATmega8 zwar nur für 3000 Jahre, aber immerhin.

Autor: SamS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, aber ich werde deshalb keinen AVR in meine Schaltung 
einbauen...:)

Autor: SamS (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Schaltung hat einen C8051 von Silabs. Und leider kam es schon vor, 
dass sich der Flash ungewollt veränderte. SiLabs kennt das Problem und 
antwortet sofort mit einer langen Liste an Vorsichtsmaßnahmen. Ich halte 
auf meiner Schaltung und in meiner Software alles ein. Dennoch passiert 
es.
Um dem aus dem Weg zu gehen, soll dieser Zähler jetzt eben "extern" 
gelegt werden.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.