Forum: Mikrocontroller und Digitale Elektronik I2C Multiplexer


von Ralf Frare (Gast)


Lesenswert?

Hallo da draussen...

Ich müsste 2 EEprom Karten seriell I2C mit einem uC auslesen.
Die Karten haben leider eine fixe Adresse = hA0.
Erste Idee ist da ein Phillips PCA9540 nur den gibts ja nirgendwo zu
kaufen-- (!=RS Farnell&Kessler&Reichelt&Bürklin&Schukat)
Zumindest nicht in den -stückzahlen wie ich ihn bräuchte ( ca 20)

Kennt jemand eine Bezugsquelle ?
Kann Ich SDA und SDK mit einfachen Analog umschaltern muxen ( 4066 oä )
ohne das ich mit dem takt probleme bekomme ( sollten 400kHz sein )
Gibts vieleicht fertige I2C Mux von anderen Herstellern ?
Gibst da noch einen eleganten trick?

Phagsae

von Michael (Gast)


Lesenswert?

SDA und SCL sind digitale Signale, wieso denn Analogmultiplexer?

von Ratber (Gast)


Lesenswert?

@Ralf

Schon versucht nen PCA9516 zu bekommen ?

Alternativ kannste ja einfach nen 8574 als Umschalter misbrauchen.

SDA und SCL einfach über einfache Mosfets (Wers ganz getrennt will
nimmt eben Reedrelais) schalten reicht da schon aus.

von Peter D. (peda)


Lesenswert?

"Kann Ich SDA und SDK mit einfachen Analog umschaltern muxen ( 4066 oä
)"

Na klar, geht sogar sehr gut.
Allerdings sollte es der SN74HCT4066 sein. Der CD4066 ist nicht so gut,
da hochohmiger und langsamer.


Man kann natürlich auch 2*I2C in Software auf verschiedenen Pins
machen.


Peter

von Steffen (Gast)


Lesenswert?

Wenn der verwendete MC genug Strom für die EEPROM-Karten an einem
Ausgang liefern kann, kannst Du über einen Ausgang die jeweils
benötigte Karte zuschalten, in dem Du die Versorgungsspannung einfach
vom Ausgang abzwackst. Ein kleiner Transistor oder Logig-Level Fet geht
da auch zur Stromverstärkung z.B. bei einem AVR.

Steffen

von Ralf Frare (Gast)


Lesenswert?

moin moin ..

@Michael
SDA und SCL sind digitale Signale, wieso denn Analogmultiplexer?

Tscha gute Frage.....
Mit Analog schaltern hab ich schon gearbeitet
...die kennt der Bauer
Eigentlich weil die Signale bidirektional sind.
Und das Blockschaltbild vom 9540 mich an Analog schalter erinnert hat.
Gibts da Digitale Schalter ? ( mehr so Ahnungslos )


@Ratber
Schon versucht nen PCA9516 zu bekommen ?
Ne is zwar ne nummer grösser
--Is aber egal
--Wer hat die im Programm??

Alternativ kannste ja einfach nen 8574 als Umschalter misbrauchen.
8574 --- find ich nix beim googln was passt. ( genauer ?)

@Peter
Na klar, geht sogar sehr gut.
Allerdings sollte es der SN74HCT4066 sein. Der CD4066 ist nicht so
gut,
da hochohmiger und langsamer.

Langsam bzgl Umschalten währe unkritisch.
Lesen A.--Jahre später--Lesen B ( also ca 0,1sec )
schreiben ähnlich.

Man kann natürlich auch 2*I2C in Software auf verschiedenen Pins
machen
Nich lachen hab schon überlegt ob ich den dicksten Mega ( der hat glaub
ich 2 TWI langweilen soll)
Muss relativ schnell Arbeiten-
Fertige TWI schnittstelle schien mir da problemlos.
Ich glaub ich probier mal den HCT aus.



@Steffen
Wenn der verwendete MC genug Strom für die EEPROM-Karten an einem
Ausgang liefern kann, kannst Du über einen Ausgang die jeweils
benötigte Karte zuschalten, in dem Du die Versorgungsspannung einfach
vom Ausgang abzwackst. Ein kleiner Transistor oder Logig-Level Fet
geht
da auch zur Stromverstärkung z.B. bei einem AVR.

Trau ich mich nicht.
Was machen die Karten mit dem Bus ohne Vcc ???
Schon mal ausprobiert--Klappt das ??


Danke schonmal..voraus.

Phagsae

von Ratber (Gast)


Lesenswert?

<<<<<8574 --- find ich nix beim googln was passt. ( genauer ?)


PCF8574

Standart IO für I2C.
Müßteste kennen.
Die Schaltung drumrum mußte dir schon selberstricken


Zu :PCA9516

Keine Ahnung wo ich die damasl gekauft habe.
Mußte mal bei den Bekannten Händlern nachhaken.

von Steffen (Gast)


Lesenswert?

Ob das mit dem Umschalten der Betriebsspannung so funktioniert, das
kommt auf deine EEPROM-Karten an. Sollte aber eigentlich keine Probleme
machen. Mit 24LC256 I²C EEPROMs habe ich das schon erfolgreich
praktiziert. Der Hintergrund war, dass ich den Strom so minnimal wie
möglich halten musste. Also wird immer nur der gerade aktive EEPROM
über einen Portpin mit Strom versorgt.

Steffen

von Vincenz Dreger (Gast)


Lesenswert?

Hallo! Habe grade ein ähnliches Problem...

Ich baue grade einen Datenlogger, der mehrere Wochen die Daten sammelt

und in mehrere 24C256 I²C EEPROMs speichern soll. Maximal kann man
4 Stück vom Adress-Bereich her koppeln. Ich bräuchte aber mind. 6-8.
Kann ich da Theoretisch auch einfach mit der Betriebsspannung
zwischen den ersten 4 und den zweiten 4 umschalten? Besondere
Beschaltung nötig? Oder empfielt ihr eher den PCA9516 als Switch
(den 9540 find ich auch nirgendwo)? Es soll möglichst einfach sein
und Port's als Spannungsversorgung hätte ich auch noch genug frei.

Gruß
Vincenz

von Peter (Gast)


Lesenswert?

Warum nimmst du denn dafür keinen Dataflash?

von Ralf Frare (Gast)


Lesenswert?

@Vincenz

Ich hab mein problem damals mit  HCT4066 lösen können.
Da gabs eigentlich keine Probleme.

Ich hab mal eben im Schaltplan geguckt.
Ich hab den ungeschaltenen Bus mit 10K auf Vcc gezogen
Die jeweils gemuxten teilzweige mit 47 K auf Vcc
der Grund war: Undef. Zustande im nicht aktiven teilzweig vorzubeugen.

von Vincenz Dreger (Gast)


Lesenswert?

@Peter:

DataFlash ist hat SPI-Schnittstelle. Ich bräuchte I²C.
Für die Schnittstelle müsste ich mich wieder durchs
Datenblatt kämpfen (mein English ist nicht grad so gut)
und ich müsste zusätzliche Schreib/Lese-Routiene
Programmieren.

@Ralf:

Hättest Du da vielleicht mal ein kleinen Ausschnitt von
dem Schaltplan?

Vielen Dank!

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.