I²C Bus Teilsegmente abkoppeln

OP #4598103
Lesenswert?

Ich habe an dieser Stelle mal eine etwas knifflige Frage.

Ich habe einen I²C-Bus, der aus einem Hauptsegment und (bis zu) 20 
Subsegmenten besteht, die alle mit 5V Pegeln arbeiten.

Um es gleich vorweg zu klären: Ich suche keinen Level-Shifter, keine 
galvanische Isolation und auch keine Multiplexer.

Ich möchte, dass sich alle Segmente wie ein Bus verhalten, Bei Bedarf 
aber aufgesplittet werden können und ein anliegender Pegel sich nicht 
auf andere Segmente fortbewegt.

Am besten würde das ganze funktionieren, wenn ich die einzelnen Segmente 
mit Relais verbinden oder trennen könnte, das kommt aber aus Gründen des 
Platzmangels, des Stromverbrauchs und der niedrigen 
Schaltgeschwindigkeiten nicht in Frage.

Ich bin für jeden Vorschlag dankbar.
Gast #4598109
Lesenswert?

Tobias E. schrieb:

> Am besten würde das ganze funktionieren, wenn ich die einzelnen Segmente
> mit Relais verbinden oder trennen könnte, das kommt aber aus Gründen des
> Platzmangels, des Stromverbrauchs und der niedrigen
> Schaltgeschwindigkeiten nicht in Frage.
>
> Ich bin für jeden Vorschlag dankbar.

Analogschalter natürlich. 1/2 4066 pro abzutrennendem Segment.
Moderator (Firma: Titel) Persönliche Seite #4598116
Lesenswert?

dunno.. schrieb:
> Müssen die teilsegmente autark arbeiten können? Wozu der zirkus?
Insbesondere deshalb, weil der I²C an sich das Zeug zum Multimaster-Bus 
hat.

> Beim aufsplitten eines I2C würde sich fur mich zuerst die frage stellen
> wie du da die pullups unterbringen willst..?
Wenn man eh schon Schalter für das Auftrennen braucht, dann kann man 
nötigenfalls auch noch Pullups dazuschalten...

Tobias E. schrieb:
> Das von dir angegebene Bauteil ist ein Step-Down.
Such mal unter Verwendung aller gebotenen Stichworte nach "4066 
Analogschalter"...

Tobias E. schrieb:
> Pull-Ups würden auf dem Hauptsegment genügen. Die Subsegmente müssen
> nicht autark funktionsfähig sein.
Man lässt CMOS Eingänge niemals offen. Bei einem offenen CMOS Eingang 
pendelt sich die Eingangsspannung gerade so ein, dass beide 
Eingangs-Fets von Vcc nach GND leiten.
OP #4598126
Lesenswert?

Lothar M. schrieb:
> Such mal unter Verwendung aller gebotenen Stichworte nach "4066
> Analogschalter"...
Danke, das ist tatsächlich das, was ich suche.

> Tobias E. schrieb:
>> Pull-Ups würden auf dem Hauptsegment genügen. Die Subsegmente müssen
>> nicht autark funktionsfähig sein.
> Man lässt CMOS Eingänge niemals offen. Bei einem offenen CMOS Eingang
> pendelt sich die Eingangsspannung gerade so ein, dass beide
> Eingangs-Fets von Vcc nach GND leiten.
Die bleiben auch nicht offen. Wenn der Bus aufgesplittet wird, definiert 
ein Mikrocontroller die Pegel auf den Subsegmenten. Die Leitungen sind 
dann auch in Benutzung, werden aber eben nicht als I²C verwendet.
#4598295
Lesenswert?

Moin,

Tobias E. schrieb:
> Den Zirkus veranstalte ich, da ich die SDA und SCL Leitungen
> gleichzeitig noch als Rows und Columns für eine Scan-Matrix verwende.

Tobias E. schrieb:
> Das ist in meinem Fall
> leider nicht möglich, da jedes Device zum Master werden kann.

Du willst also einen Multimaster I2C Betrieb machen und ueber die selben 
Leitungen auch noch GPIO laufen lassen?
OK, ich finde grad' nichts, wo explizit drinnensteht: Das geht nicht.
Aber ich persoenlich wuerd' mir sowas ums Verrecken nicht ans Bein 
binden wollen. Das schreit fuer mich nach einer Baustelle, die nur 
Aerger macht.

Damit's nicht nur ausschliesslich destruktiv wird: Mit den CMOS 
Analogschaltern geht I2C multiplexen prinzipiell, bloss muss man ein 
Auge auf den Widerstand haben, den diese Schalter im durchgeschalteten 
Zustand haben, insbesondere, wenn der Schalter an kleinen 
Betriebsspannungen 3.3V..5V haengt. Da gibts spezielle Typen, die auf 
niederohmig gezuechtet sind.

Gruss
WK
OP #4598306
Lesenswert?

Dergute W. schrieb:
> Moin,
>
> Tobias E. schrieb:
>> Den Zirkus veranstalte ich, da ich die SDA und SCL Leitungen
>> gleichzeitig noch als Rows und Columns für eine Scan-Matrix verwende.
>
> Tobias E. schrieb:
>> Das ist in meinem Fall
>> leider nicht möglich, da jedes Device zum Master werden kann.
>
> Du willst also einen Multimaster I2C Betrieb machen und ueber die selben
> Leitungen auch noch GPIO laufen lassen?
> OK, ich finde grad' nichts, wo explizit drinnensteht: Das geht nicht.
> Aber ich persoenlich wuerd' mir sowas ums Verrecken nicht ans Bein
> binden wollen. Das schreit fuer mich nach einer Baustelle, die nur
> Aerger macht.

Das mit dem GPIO dient quasi einer Positionsbestimmung der einzelnen 
I²C-Devices. Da es sich hierbei ausschließlich um Mikrocontroller 
handelt gibt das auch keine lustigen Missverständnisse auf dem Bus. 
Während dem normalen Betrieb ist das System dauerhaft als I²C 
geschaltet. Die Sonderfunktion kommt nur während der Initialisierung 
meines Systems zum Einsatz oder in besonderen Grenzfällen.

Ich stimme dir zu, dass das aus elektronischer Sicht keine schöne Lösung 
ist, für meinen Anwendungszweck aber genau das Richtige.

> Damit's nicht nur ausschliesslich destruktiv wird: Mit den CMOS
> Analogschaltern geht I2C multiplexen prinzipiell, bloss muss man ein
> Auge auf den Widerstand haben, den diese Schalter im durchgeschalteten
> Zustand haben, insbesondere, wenn der Schalter an kleinen
> Betriebsspannungen 3.3V..5V haengt. Da gibts spezielle Typen, die auf
> niederohmig gezuechtet sind.

Gut zu wissen. Ich werde mich mal schlau machen. Jetzt weiss ich ja 
wonach ich suchen muss.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren