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!
Danke für Deine Antwort. Aber im Datenblatt sind die drei Leitungen A0-A2 "Don't Care Bits".
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
>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.
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
>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.
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.
>mit einem Dataflash nicht besser dran bist?
Stimmt. 2MB in SO8 hat schon was ;) Vieleicht
erübrigt sich damit sogar der Ringspeicher.
@ 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
>Allerdings 2MB (Megabyte???) hat wirklich was!
Ja, 2 Megabyte, nicht 2Mbit. AT45DB161.
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).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.