mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 64K EEPROM 24LC65 Adressierung


Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich habe den 64kBit-EEPROM 24LC65. Dieser wird über I2C angesteuert.
Zur Adressierung stehen neben der Device-Adresse die Bits A0-A12 zur 
Verfügung. Wenn ich diese aber voll beschreiben würde, komme ich so 
maximal auf 4096 direkt adressierbare Bytes. Dass sind dann aber nur die 
Hälfte des verfügbaren Speichers von 64kBit.
Wie kann ich denn auf den Rest zugreifen??

mfg   Wolfram Hildebrandt

Autor: HDW (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier das Datenblatt.
bei den anderen ähnlichen EEPROMS z.B. beim 24LC256 mit 256kBit Speicher 
habe ich dasselbe Problem. Hier stehen A0 bis A15 zur Verfügung. Damit 
komme ich dann wieder nur auf die Hälfte des Speicherplatzes.

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
A0 - A12 sind insgesamt 13 Leitungen. Und 2^13 sind 8192.

Autor: Mark de Jong (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo HDW:

Siehe mal im Configuaration byte, da werden blocks selectiert.

Beim 24lc65 ist es wie folgt:

Also ist der speicher in 4K blocks aufgeteilt, und mit B0..B3 werden die 
blocks selectiert.

Grüße Mark.

Autor: S-Hack (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Kann es sein das du vergessen hast A0 mit in die Rechnung einzubeziehen? 
A0-A12 Sind ja 13 Leitungen. Ansonsten habe ich da mal ne Rechnung per 
Bild drangehängt. Hoffe das hilft dir weiter?

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Shit.
Ich habe vergessen, dass alle Werte von A0-A13 zusammengezählt werden.

1+2+4+8+16+32+64+128+256+512+1024+2048+4096=8191. Müssten das denn nicht 
nach 2^13= 8192 sein?

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Mark de Jong:
Wenn ich doch sowieso an alle Speicher-Bytes rankomme, muss ich doch 
nicht noch den Block selektieren oder etwa doch???

Wenn ich dann z.B. Byte Nr.5128 wählen will schreibe ich als Adresse 
0001 0100 dann als nächstes 0000 1000. Oder geht das ohne Blockwahl 
nicht?

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du die Adresswertigkeiten zusammenzählst kommst Du zwar nur auf 
8191, aber auch hier geht es wieder mit der 0 los, so daß es insgesamt 
wieder 8192 sind.

Markus

Autor: HDW (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Es werde alle Wertigkeiten mitgezählt, denke ich. Siehe Anhang.

Autor: Markus Kaufmann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du rechnest aber damit nur den höchsten Wert aus. Der kleinste Wert ist 
aber 0 und nicht 1 und deswegen kann man mit den den Adressen 0 - 8191 
insgesamt 8192 Bytes adressieren.

Markus

Autor: HDW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach ja!! Hab' heut einen schlechten Denktag.

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.