www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Großer EEPROM / Flash mit I2C IIC


Autor: Christoph Söllner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Liste,

vielleicht kann mir ja wer helfen. Ich benötige
zum ATMega (darum am besten IIC) einen Speicher-
Chip, idealerweise einen EEPROM.
Leider brauche ich 256*64*32=524288 Bytes an
Speicherplatz. So einen großen EEPROM hab ich
nicht gefunden. Auch würde ich gerne byteweise
dadrauf zugreifen können und nicht blockweise.

Hat da jemand eine Lösung?
Danke,
Christoph

Autor: Hauke Sattler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nimm nen ATMEL Dataflash. (AT45DB041D)


Ok es ist kein EEPROM sondern ein Flash Speicher, und er ist auch nicht
über IIC sondern über SPI anzusteuern. aber dafür sind die schön klein,
billig, schnell und bis 8MB groß (ja 8 megaBYTE also 64 Mbit)

Byteweises Lesen geht ohne Probleme.
Byteweises schreiben geht über einen kleinen Umweg.
Die Dataflash haben zwei interne RAM Buffer eingebaut (biz zu 1kB). Mit
einem SPI Kommando kann eine Flashpage (Block) in einen Buffer kopieren.
Im Buffer dann beliebig mit den Bytes rumpfuschen. Und nach Abschluss
der Manipulationen den inhalt des Buffers wieder ins Flash
zurückschreiben (mit einem einzigen SPI Kommando).

Größter Nachteil ist für mich, daß die Dinger eine 2,7-3,6V Versorgung
spannung brauchen. (ich mach das immer mit ein paar in Reihe
geschalteter Dioden)
Die IO-Pins sind jedoch 5V tolerant.

bis dann
Hauke

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AT24C1024, brauchst dann allerdings 4 Stück. Und da nur 1 Adresseingang,
kannst du nur 2 Stk an einen Bus hängen, also einen 2.Bus...

Autor: Christoph Söllner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@crazy horse
Danke, aber es soll eine single chip solution sein.

@hauke
Also das find ich gut. Aber
- Beißt sich das beim Programmieren über SPI nicht?
- Hast Du zufällig eine C-lib dafür :D?

Danke euch,
Christoph

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@crazy horse
bei SPI Slaves hast du keinen Adress eingang, sondern nur einen Chip
Select, sprich du kannst den Bus theortisch unendlich erweitern,
brauchst nur pro Slave einen IO Pin, oder baust dir Adress Decoder, die
x Slaves ansprechen koennen

Autor: Hauke Sattler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Christoph

2*Nein

1. Nein das beißt sich nicht.
SPI geräte werden immer über 4 Leitungen angesprochen.
Clock, DataIn, DataOut und CHIPSELECT
Da im Resetzustand (ISProgrammierung) alle sonstigen IO-Pins hochomig
sind, brauchst du lediglich die CS leitung mit einem kleinen Widerstand
auf den gewünschten inaktiven Pegel zu ziehen.
Im prinzip ist ja der Reseteingang des AVR die Chipselct Leitung für
das ISP Interface.

2. Nein ich habe keine C-lib dafür.
Ich stehe mit C auf dem Kriegsfuß. Ich bin reiner ASM Progger (ok.
Basic und Fortran kann ich auch noch)
Mir ist lieber, daß der µC den Unsinn tut den ich ihm befehle.
Und nicht das was irgend ein Compiler meint in meinem Code hinein zu
interpretieren.

Aber wenn du die SPI Schnittstelle unter C ansteuern kannst (unter ASM
ist das schon banal), dann ist der Rest einfach.

cu
Hauke

Autor: Christoph Söllner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter
Der AT24C1024 ist ein IIC EEPROM, braucht sehr wohl Adress-Pins, und
hat tatsächlich nur einen davon-> maximal 2 an einen Bus.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Nimm nen ATMEL Dataflash. (AT45DB041D)
>>Ok es ist kein EEPROM sondern ein Flash Speicher, und er ist auch
nicht
>>über IIC sondern über SPI anzusteuern. aber dafür sind die schön
klein,
>>billig, schnell und bis 8MB groß (ja 8 megaBYTE also 64 Mbit)

IIC oder SPI???? :D

Autor: Christoph Söllner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AT45DB041D ungleich AT24C1024, wenn du das meinst :)
AT45DB041D = SPI
AT24C1024  = IIC
kann passieren =)

Autor: Hauke Sattler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AT45DB041D
SPI Anschluss
2048 Pages (264 Byte/Page)
zwei SRAM Buffer (264 Byte)
100,000 Program/Erase Zyklen pro Page Minimum
Datenerhalt 20 Jahre
gibt es als
8-lead (0.150" Wide Body), Plastic Gull Wing Small Outline (JEDEC
SOIC)
8-lead, 0.209" Body, Plastic Small Outline Package (EIAJ)
A, 8-pad, 6 x 5 x 1.00 mm Body, Very Thin Dual Flat Package No Lead
(MLF)
und sogar als Dataflash Karte (mechanisch wie SD/MMC Karten)

cu
Hauke

P.S.
Die "Adressaschlüsse" der IIC Bausteine sind keine echten
Adressanschlüsse.
Es konfigurationspins mit denen dem Baustein mitgeteilt wird, auf
welche Adresse im IIC Bus sie reagieren sollen.
Die Adressierung im IIC Bus geschieht ausschließlich über den Bus!!!
(zumindest wenn man sich an die Spezifikationen hält)

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hauke Sattler
Die Adressierung??

Naja, der Baustein benötigt eine eindeutige Adresse im Bus, und bekommt
eine fest eingebrannt (die ersten Bits der Adresse), dei letzten Bits
(in diesem Fall nur eins) der Adresse kann man über den Adress Pin
selektieren High / Low.

Der Baustein an sich, da hast du Recht wird über IIC Angesprichen.

Bei SPI wird der Baustein über ein CD (Enable) Pin auf aktiv
geschaltett . Sagt ja schon der Name Chip Select

Gruss

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.