Forum: Mikrocontroller und Digitale Elektronik ATMEGA644 BASCOM externes EEPROM


von Christian (Gast)


Lesenswert?

Hallo,
ich bin grad über einem Projekt und da ist mir jetzt aufgefallen,
das meine ganzen Werte, die zu speichern sind, schon ca. 60 kB werden.
Die ATMAGAs haben aber nur max 4kB.
Ich tendiere also auf einen externen EEPROM.

Nur weiß ich jetzt nicht ganz, was da am besten geeignet is.
Sachen in den internen EEPROM mit Bascom zu speichern ist ja
ganz einfach mit z.B DIM test As ERAM Byte.
Und dann kann man das als ganz normale Variable behandeln,
außer das man halt es nicht zu oft beschreiben sollte.

Aber wie schaut des mit dem externen EEPROM aus?
Gibts da ähnliche Subroutinen, mit denen man das so einfach ansprechen 
kann?
Ich will halt dann auf meine Werte wieder ganz einfach zugreifen können.

Es wäre am besten wenn ich gleich 128 kB nehmen würde, damit ich genug 
Reserve hab.
Welche Schnittstellen gibts da?
Könnt ihr mir da ein paar Typen vorschlagen?

von Eumel (Gast)


Lesenswert?

Christian schrieb:
> Welche Schnittstellen gibts da?
> Könnt ihr mir da ein paar Typen vorschlagen?

I2C, SPI
Da gibts viele viele Hersteller, schau einfach da wo du deine restlichen 
Bauteile beziehst. Nimm ruhig gleich 1MBit, die paar Cent tun dir nicht 
weh und du hast ordentlich Reserve.

von Christian (Gast)


Lesenswert?

Gut, Reichelt hat da Auswahl genug.

Welche empfehlt ihr da, mit I2C oder was anderes?

Gibts da mit Basom irgendwelche Einschränkungen auf bestimmte Typen?
Wie schauts mit dem aufwand aus Daten da rüberzuhoen bzw. abzulegen?

von Anfänger (Gast)


Lesenswert?

Hallo
Die Daten werden seriell übertragen. Im Kern wird das vom eingebauten 
I2C-Interface abgewickelt werden. Damit befasst habe ich mich noch 
nicht. Aber das dürfte, gemessen gegen den Handbetrieb, enorm 
komfortabel sein. Gebraucht wird die Device-Adresse (es könnten mehrere 
an der Leitung hängen), die Speicheradresse, das Datenbyte, oder ein 
kompletter Datensatz. Komplette Datensätze werden schneller 
geschrieben/gelesen (bezogen aufs Einzelbyte). Die Größe eines 
kompletten Datensatzes ist chipabhängig.

Zum Ansteuern der Schnittstelle unter Bascom kann ich nichts beitragen, 
Bascom kenne ich nicht.

von Christian (Gast)


Lesenswert?

IM Datenblatt steht was von "Page Size" das ist wahrscheinlich das mit 
dem Datensatz oder?

von Anfänger (Gast)


Lesenswert?

Hallo
Page-Size wird das Zutreffende sein. Wenn ich mich recht erinnere ist es 
so, dass zum Schreiben eines Einzelbytes zuerst das Einlesen (in den 
internen Chip-Puffer) der zugehörigen Page ausgeführt werden muss, das 
Byte zum Puffer übertragen und jetzt das Rückschreiben der Page 
ausgeführt wird. Sollen nachfolgende Bytes auch in dieser Page 
gespeichert werden kann mit dem Rückschreiben gewartet werden bis die 
Page komplett ist. Allerdings dürfen in der Zwischenzeit keine Lese oder 
Schreibzugriffe auf andere Pages ausgeführt werden. Aktuelle Chips mögen 
verbessert sein und evtl davon abweichen um eine höhere Leistung 
realisieren zu können. Das jeweilige Datenblatt wird es genau 
beantworten.

von Christian (Gast)


Lesenswert?

Hallo,
hab in der Bascom Hilfe was gefunden:

Zitat: "The FM24C64_256 library is a library that uses a RAMTRON I2C 
serial EEPROM. Ramtron memory chips are as quick as RAM and can be 
overwritten almost unlimited times. An external EEPROM is a safe 
alternative to the internal EEPROM. By using : $lib "fm24c64_256.lib"
The EEPROM read and write routines from the library will be used instead 
of the internal EEPROM. Thus you can still use : Dim BE as ERAM Byte
And you can use READEEPROM and WRITEEEPROM, but instead of using the 
internal EEPROM, the external I2C EEPROM is used.
The lib is for the FM24C64 to FM24C256. It uses I2C/TWI."

Da bräuchte ich dann so zimlich garnichts machen, außer diese
lib einzubinduen und dann müsste der automatisch auf den externen 
zugreifen.
So schnell wie Ram kliegt leer verlockend :)

Die Fage is halt ob es wirklich so einfach is wie da steht.
Dieser Speicherbaustein scheint ja was zimlich seltenes zu sein.

Hat da irgendjemand schon mal was damit gemacht?

von Thomas (Gast)


Lesenswert?

Christian schrieb:
> Dieser Speicherbaustein scheint ja was zimlich seltenes zu sein.

Das sind auch keine (klassischen) EEPROMs.
Ramtron verwendet eine ganz andere Art der Speicherung und bezeichnet 
die Bausteine als F-RAM
http://www.ramtron.com/about-us/what-is-f-ram.aspx

von Christian (Gast)


Lesenswert?

Aber das scheint ja nur vorteile zu haben?

Hat die schon mal jemand verwendet?
Und gibts da eine Bezugsquelle wo man die auch als DIP bekommt?

von Eumel (Gast)


Lesenswert?

Christian schrieb:
> Aber das scheint ja nur vorteile zu haben?

Sind teuer und in den meisten Anwendungsfällen überflüssug.

Christian schrieb:
> Und gibts da eine Bezugsquelle wo man die auch als DIP bekommt?

Ich glaube bei Cypress gabs mal sowas.

von Anfänger (Gast)


Lesenswert?

Hallo
Du musst aufpassen, 256Kb meint bei diversen Herstellertypen Bit. Das 
sind dann nur 32K-Byte.

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.