I2C Multiplexer - Berechnung/Verwendung der Widerstände

OP #4473934
Hallo,

ich habe eine Frage zur Berechnung/Verwendung der I2C Widerstände bei 
der Verwendung eines I2C Multiplexers, dem PCA9544A:

Ich habe die Berechnung der Widerstände nach der Vorgabe von 
TI(http://www.ti.com/lit/an/slva689/slva689.pdf) vorgenommen und bin auf 
966-1.8k Ohm gekommen. Jetzt stellt sich mir allerdings die Frage, ob 
ich jeweils vor und nach dem Multiplexer jeweils 2 Widerstände anbringe 
oder nur vor dem Multiplexer?

In dem Datenblatt des Multiplexers (Fig 14. Typical application) sind 
jeweils davor und danach Widerstände verwendet worden, allerdings ohne 
Angaben zur Größe.
Gast
Jeder I2C (Teil)Bus braucht 2 Pullup Widerstände.
Dabei ist völlig irrelevant, ob die Teilbusse durch einen LevelShifter 
oder einen Multiplexer von einander getrennt sind
Gast
Kevin B. schrieb:
> noch andere Meinungen?
Sicher!
Meiner bescheidenen Meinung nach, ist das kein Thema wo man mit 
"Meinungen" groß was werden kann. Denn, über physikalische 
Notwendigkeiten kann man nicht demokratisch abstimmen. Obwohl, man kann, 
aber das macht keinen Sinn.
Gast
Du weißt es doch schon....
Warum glaubst du dir selber nicht?

Ich erkläre dir mal das, was dir offensichtlich schon lange klar ist:

In einem, I2C System gibt es, ab und an mal, eine Stromsenke. Diese 
Stromsenke hat eine Obergrenze, was sie an Strom "versenken" kann. Die 
Summe aller Ströme durch alle beteiligten  Pullups darf also nicht 
größer sein, als deine Senke verträgt.
OP
ich beschreibe hier ja nur meine Ansätze, bin mir aber über die 
Richtigkeit dieser noch nicht klar.

Daher auch meine Frage hier im Forum.

Wenn ich jetzt also z.B. 1.4kOhm vor und nach dem Multiplexer annehme, 
was sieht dann mein System? 1.4 oder 0.7?
Gast
Dein System sieht keine Widerstände!
Sondern die Senke zieht Ströme!

Der Multiplexer selber ist weder Stromquelle, noch Senke.
Einfach nur ein Schalter.

Leider triffst du keine Aussage über die Spannungen beidseits des 
Multiplexers. Also kann man/ich auch keine Aussage zu den Strömen 
machen. Auch die Anzahl der Komponenten und die Kabellängen vor und 
hinter dem Multiplexers ist eine Betrachtung wert.
OP
OK, also: Das komplette Systeme arbeitet mit 3.3V, der Multiplexer dient 
nur als Schalter um zwischen mehreren Slaves mit gleich Adresse zu 
unterscheiden.

angenommen alle Komponenten(8 Multiplexer und jeweils ein Slave 
dahinter) haben, bis auf die Kabel, eine Eingangskapazität von jeweils 
10pF. Was nehme ich als Gesamtkapazität für die Berechnung an?

10pF(µC) + 80pF(die Multiplexer) + 10pF(es ist maximal ein slave neben 
mit multiplexer am bus) und verwende nur 2 Widerstände, da ja durch den 
"schalter" auch die Leitungen nach dem Multiplexer mit den Leitungen 
nach dem Multiplexer verbunden sind

oder

10pF(µC) + 80pF(die Multiplexer), berechne damit die Widerstände vor dem 
Mux und
10pF(Mux) + 10pF(Slave) und berechnen die Widerstände nach dem Mux. 
Dadurch ergeben sich allerdings 2 verschiedene Widerstandspaare.
Gast
Kevin B. schrieb:
> 8 Multiplexer
Wo kommt da plötzlich die 8 her?
Bisher war von einem Multiplexer die Rede....


Wenn ich dir die 10pF mal glaube....
Master 10pF
Multiplexer 10pF
Slave 10pF

Auf mehr als 30pF, in der Summe, komme ich da nicht....
Egal welcher Kanal des Multiplexers da gerade aktiv ist.
OP
Es ging mir vorher um das Prinzip, daher habe ich keine weiteren Zahlen 
genannt.

naja die Multiplexer sind immer alle mit dem Master(µC) verbunden, daher 
die 80pF(8x10pF).

Meine Frage ist damit leider immer noch nicht beantwortet und wird es 
wohl auch bleiben. Ich glaube wir beide verstehen uns da nicht so ganz. 
Trotzdem danke.
Kevin B. schrieb:
> In dem Datenblatt des Multiplexers (Fig 14. Typical application) sind
> jeweils davor und danach Widerstände verwendet worden, allerdings ohne
> Angaben zur Größe.

Das Datenblatt verweist auf AN262:
> Determining Pull-Up Resistors values
>
> The PCA954X devices provide excellent isolation between the channels
> but do not provide any additional drive capability between the
> upstream and downstream buses. Therefore, both the upstream and
> downstream loads (i.e., bus capacitance and device input loads) must
> be taken into consideration when choosing the value of a pull-up
> resistor.
> [...]
OP
Clemens L. schrieb:
> Kevin B. schrieb:
>> In dem Datenblatt des Multiplexers (Fig 14. Typical application) sind
>> jeweils davor und danach Widerstände verwendet worden, allerdings ohne
>> Angaben zur Größe.
>
> Das Datenblatt verweist auf AN262:
>> Determining Pull-Up Resistors values
>>
>> The PCA954X devices provide excellent isolation between the channels
>> but do not provide any additional drive capability between the
>> upstream and downstream buses. Therefore, both the upstream and
>> downstream loads (i.e., bus capacitance and device input loads) must
>> be taken into consideration when choosing the value of a pull-up
>> resistor.

na das ist doch mal einen Aussage. Punkt 1 ist also geklärt:)

Jetzt ist nur noch die Frage, ob der durch die Kapazitäten errechnete 
Widerstandswert einfach für Up- und Downstream verwendet wird oder ob 
sich der Wert als "Parallelschaltung" der Widerstände ergeben muss?
OP
Ok, dank Clemens hat sich jetzt alles geklärt, die Widerstände müssen 
bei zugeschalteten Kanal als Parallelschaltung betrachtet werden.

Auszug aus AN262:
- Equivalent resistance of the I2C-bus = Rup
- Equivalent capacitance of the I2C-bus = Cup
2. Upstream channel connected to downstream channel 0:
- Equivalent resistance of the I2C-bus = Rup // R0 = (Rup x R0)/ (Rup + 
R0)
- Equivalent capacitance of the I2C-bus = Cup // C0 = Cup + C0

Vielen Dank Clemens

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.