www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mehrere EEPROMs über I2C


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe folgende Probleme:

An einen Mikrocontroller möchte ich vier EEPROMs(z.B. 24XX00 von 
Microchip) als Bus-slave über I2C anschließen. Aber die Adresse von 
EEPROM ist als "1010XXX"festgelegt. Was kann ich machen?

Danke schon im Vorraus!

Autor: Thorsten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal die Pins A0-A2 im Datenblatt angucken

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst bis zu 8 Stück AT24C512 an einem I2C-Bus anschließen.


Peter

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für Deine Antwort.

Aber im Datenblatt sind die drei Leitungen A0-A2 "Don't Care Bits".

Autor: Daniel P. (ppowers)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 24XX00 kann man nur einzeln über I²C betreiben. Hast Du nicht die 
Möglichkeit auf mindestens ein 24XX01 umzusteigen? Gibts im gleichen 
Gehäuse, es gibt sie ebenfalls als Sample bei Microchip und alle serial 
EEPROMs ab dem 24XX01 haben diese 3 Bit Hardwareadressierung.

Gruß
daniel

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Aber im Datenblatt sind die drei Leitungen A0-A2 "Don't Care Bits".

Das ist bei Microchip leider der Fall, ärgerlich und unverständlich. STM 
oder Atmel beachten die Adressleitungen.

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hole diesen Artikel mal nach oben, da ich momentan selbst mehrere 
EEProms (8x 24C512) auf einen I2C Bus legen möchte. Soll später auch mal 
Erweiterbar sein.

Da der 24C512 nur A0 und A1 hat, habe ich mir überlegt, an A0 einen 
Adress Dekoder 74138 anzuschließen und kurz vor dem lese/schreib Zugriff 
die "Speicherbank" auszuwählen.

Gibt es hierbei von euch bedenken?
Wenn Adresse $00 gewählt wird, so antwortet nur der ausgewählte Chip, 
wenn jedoch $01 adressiert wird, antwortet ja der ganze Rest -> Fehler!

Wielange vor einem Zugriff sollte die Bank umgeschaltet werden?


Habe vor über mehrere Monate im Kreis Daten zu loggen. Je größer der 
Speicher desto größer der Speicherring. Es wird also nur alle paar 
Wochen die Bank umgeschaltet. Wenn jedoch die Daten ausgelesen werden 
sollen, kommt es natürlich auf das richtige Timing an.

Gruß,
Tubie

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn Adresse $00 gewählt wird, so antwortet nur der ausgewählte Chip,
>wenn jedoch $01 adressiert wird, antwortet ja der ganze Rest -> Fehler!

Du hast da glaube ich einen Gedankenfehler:
Wenn der Pin A0=0 antwortet der Chip auf 0xA0 und 0xA1.
Wenn der Pin A0=1 antwortet der Chip auf 0xA2 und 0xA3.
Ich denke das könnte klappen was du vorhast.

>Wielange vor einem Zugriff sollte die Bank umgeschaltet werden?

In den Datenblättern von Atmel, Microchip und ST gibts
da keine Angaben zu. Dürfte also relativ unkritisch sein.
Wartest halt ne usec nach dem umschalten.

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

Bewertung
0 lesenswert
nicht lesenswert
Tubie wrote:

> Ich hole diesen Artikel mal nach oben, da ich momentan selbst mehrere
> EEProms (8x 24C512) auf einen I2C Bus legen möchte. Soll später auch mal
> Erweiterbar sein.

Bist du sicher, dass du mit einem Dataflash nicht besser dran bist? Und 
wenn du unbedingt byteweise sicher ohne Datenverlust schreiben musst, 
dann leg notfalls ein kleines FRAM für die Speicherung der aktiven 
Flash-Page dazu. Macht dann immer noch 2 Chips statt 8.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>mit einem Dataflash nicht besser dran bist?

Stimmt. 2MB in SO8 hat schon was ;) Vieleicht
erübrigt sich damit sogar der Ringspeicher.

Autor: Tubie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Holger

$00,$01 bezog sich auf die Adresse der Adressleitungen und nicht auf die 
I2C Adresse des EEProms. Hast natürlich recht!


Ich wollte eigentlich bei EEProms bleiben, da es nicht so sehr auf den 
Platz ankommt und diese bei Angelika verfügbar sind. Sicherlich sind 
FRAM's und Dataflash sehr interessant, nur sind die nicht so einfach zu 
besorgen.

Allerdings 2MB (Megabyte???) hat wirklich was!

Gruß,
Tubie

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Allerdings 2MB (Megabyte???) hat wirklich was!

Ja, 2 Megabyte, nicht 2Mbit. AT45DB161.

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

Bewertung
0 lesenswert
nicht lesenswert
Ein 4Mbit Dataflash gibt's in SO8 bei CSD. 32Mbit als TSOP28. Bei TME 
gibt's etliche Typen in unterschiedlichen Gehäusen. FRAMs gibt's bei TME 
und modtronix.com (Versand war günstiger als R obwohl "etwas" weiter 
weg).

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.