Forum: Mikrocontroller und Digitale Elektronik I2C Multiplexer - Berechnung/Verwendung der Widerstände


von Kevin B. (tewger)


Lesenswert?

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.

: Bearbeitet durch User
von U. C. (Gast)


Lesenswert?

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

von Kevin B. (tewger)


Lesenswert?

hmm, mir hat sich nur die Frage gestellt, ob bei der Verwendung von 
Widerständen vor und nach dem Multiplexer, diese eventuell "parallel" 
geschaltet sind, sobald die Verbindung durch den Multiplexer hergestellt 
ist.

von Kevin B. (tewger)


Lesenswert?

noch andere Meinungen?

von U. C. (Gast)


Lesenswert?

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.

von Kevin B. (tewger)


Lesenswert?

ich meinte bezüglich der Parallelschaltung der Widerstände... Wenn das 
nämlich so wäre, dann müssten ja die errechneten Werte auf die 
Parallelschaltung übertragen werden... oder irre ich mich da?

von U. C. (Gast)


Lesenswert?

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.

von Kevin B. (tewger)


Lesenswert?

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?

von U. C. (Gast)


Lesenswert?

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.

von Kevin B. (tewger)


Lesenswert?

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.

: Bearbeitet durch User
von U. C. (Gast)


Lesenswert?

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.

von Kevin B. (tewger)


Lesenswert?

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.

von Clemens L. (c_l)


Lesenswert?

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.
> [...]

: Bearbeitet durch User
von Kevin B. (tewger)


Lesenswert?

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?

von Kevin B. (tewger)


Lesenswert?

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

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.