Forum: Mikrocontroller und Digitale Elektronik zwei I2c EEPROM an einem Bus


von Peter Kasi (Gast)


Lesenswert?

Hallo,
bin gerade etwas verwirrt. Ich möchte gerne zwei I2C-EERPOMs am selben
Bus anschließen. Ich dachte eigentlich ich könnte den EEPORMS über die
Pins A1-A3 unterschiedliche Adressen verpassen und sie dann ansprechen.
Beim Datenblattstudium musste ich lesen A1-A3 not connected (Microchip
24LC01B). Soll das heißen, ich kann keine zwei EEPORMs am selben Bus
betreiben, weil die sich die Adressierung sparen?

Peter

PS: ich brauch zwei getrennte EEPROM, es geht nicht drum mehr Speicher
zu haben...

von Michael (Gast)


Lesenswert?

Dann solltest Du Teile von ST, Rohm, Atmel, o.ä (unbedingt ins
Datenblatt sehen) verwenden. Dort werden die Leitungen auch
ausgewertet.

von Peter Kasi (Gast)


Lesenswert?

Danke mal,
es sind scheinbar wirklich nur die von Microchip die sich die
Adressierung sparen, werd mir mal die von ST bestellen.

Gruß
Peter

von Markus_8051 (Gast)


Lesenswert?

Nimm keine zu großen Chips, die haben dann bei mehr Speicher weniger
Adressleitungen.

Markus_8051

von KoF (Gast)


Lesenswert?

hmm?? adressleitungen?? hä? serielle eeproms haben doch nur die
selektierung, data, clock, writeprotect, vcc & gnd, oder?

wieso jetzt adressleitungen???

von crazy horse (Gast)


Lesenswert?

hä?
Stimmt schon, je nach Speichergrösse kannst du verschieden viele an
einem Bus betreiben. Bleiben wir mal bei einem einfachen Beispiel:
24C02, 2kbit, davon kannst du 8 Stk an einen Bus hängen
(unterschiedliche Adressen an A0-A2 gelegt)
beim 24C04 nur 4 Stk oder 2 Stk 24C08 oder 1 x 24C16, immer max.
16kBit, auch gemischt.
Bei den grösseren (ab 24C32) wird anders addressiert (die
Softwareadresse ist länger), aber das Spiel wiederholt sich.

von Peter Kasi (Gast)


Lesenswert?

@Markus_8051
das wusste ich schon, das ab einer gewissen größe die Adresse benutzt
wird um die Seite innerhalb des EEPROMs zu adressieren ;),trotzdem
danke.

Es scheint aber wirklich so zu sein, das man von Microchip nur einen an
den Bus hängen kann, egal wie groß er ist, da einfach die externe
Adressekodierung ignoriert wird. Hab mir jetzt bei Reichelt welche von
ST bestellt ( ST 24C01 MN ), hoff mal dass das jetzt funktioniert.

btw, EEPROMs, ich weis bei den FTDI-Chips sind das keine I²C, aber
welche sollte man den da verwenden, in den AppNotes steht nur 93C46 es
gibt aber A(128x8) u. B(64x16). Ich hab das mal mit 'nem EE 93LC46
A/SN von Reichelt aufgebaut, läst sich aber nicht mit der Software von
FTDI Programmieren (Schaltplan ist einer aus den Appnotes).

Peter

von smartie (Gast)


Lesenswert?

die 512k EEPROMS von Microchip funktionieren, die haben die
Adreßleitungen belegt.

von KoF (Gast)


Lesenswert?

@ Peter Kasi
ich würde schon alleine aus einfachheit mit den 128x8bit anfangen!
alleine schon aus gründen der einfachheit.

so ein ftdi chip hat bestimmt nicht soviel ram über, das er immer
mehrer bytes schreiben/auswerten kann. daher würde ich denken, das er
ein nur eine byte schreiben/lesen kann.

^^ das sag ich jetzt einfach mal so, ohne ins datenblatt gesehen zu
aben!!! es sind auch nur vermutungen!!!

von Peter Kasi (Gast)


Lesenswert?

@KoF
war auch so mein Gedanke, hat aber nicht funktioniert. Hab gerade mal
ein wenig gegoogelt und gesehen das bei irgendeinem Kit die B-Variante
beiliegt. Irgendwo zwischen kryptischen Zeichen hab ich auch mal
FT232BM ... 64x16Bit ausmachen können. Ich werd's mal mit einem 16Bit
versuchen.
Vieleicht hat das ja hier jemand am laufen und kann mal konkrete
aussagen machen (neuen Thread will ich aber jetzt nicht extra
aufmachen)

Gruß
Peter

von Infected (Gast)


Lesenswert?

Naja, zu mindest ist es 100pro unmöglich einem Baustein zwei Adressen zu
geben, schließlich wird über A0 A1 A2 jeweils einen TTL Pegel 0V oder 5V
angelegt, wo beispielsweise A0=0V;A1=0V;A2=5V ist. das hat zur Folge,
das der Baustein die Adresse 4 hat, nach binär 1-0-0. Bedenke das
A0A1A2 nicht mit dem I²C-Bus verbunden sind. Theoretisch müsste es aber
möglich sein zwei Bus systeme parallel laufen zu lassen. Entscheident
ist nur, das du den einzelnen Bausteinen keinen "zweiten namen" geben
kannst. Hier wird nur mit betriebsspannung gearbeitet, und NICHT mit
SDA.

MfG Malte

von Tomasz (Gast)


Lesenswert?

Laut Datenblatt brauchen die FTDI Chips ein 16Bit EEPROM, mit 8Bit
EEPROMs arbeiten die nicht. Schau mal ins Datenblatt rein.

Gruss,
Tomasz

von Peter Kasi (Gast)


Lesenswert?

Danke mal Tomasz,
inzwischen hab ich es mit 16Bittern versucht und es hat funktioniert
:)

@Malte ???? (soll bitte nicht als Angriff verstanden werden, ich
versteh bloß nicht den zusammenhang).

Hab das ganze jetzt mit zwei Bausteinen von ST am laufen und
funktioniert einwandfrei.

Gruß
Peter

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.