Forum: Mikrocontroller und Digitale Elektronik IC2: Optimale Platzierung der Pull-ups?


von Gerd (Gast)


Lesenswert?

Hallo alle zusammen!

Ich möchte einen Sensor über I2C ansteuern, der Aufbau ist wie folgt: 
Microcontroller --> 1-2m lange Leitung --> Sensor.

Jetzt ist die Frage: An welchem Ende der Leitung sollte man sinnvoller 
Weise die Pull-Ups vorsehen?

Sollen die Pull-ups lieber auf das Board, auf dem auch dem uC ist, oder 
lieber in die Nähe des Sensors platziert werden?

Die Gedanken sind folgende: Wenn ich die Pull-Ups am uC platziere und 
der Sensor zieht den Bus auf low und lässt ihn dann wieder los, dann 
spielt beim passiven Hochziehen des Busses die gesamte Kapazität (und 
der gesamte Widerstand) der Leitung bis zum Pull-Up in die Entladezeit 
ein, dementsprechend wird diese dann lang sein.
Wenn ich die Pull-Ups am Sensor platziere, habe ich das gleiche 
umgekehrt, sprich der der uC sieht immer die gesamte Leitung bis zun den 
Pull-Ups.

Sind die Gedankengänge soweit plausibel? Wenn ja, wäre wahrscheinlich 
das Splitten der Pull-Ups (also das Vorsehen von Pull-Ups an beiden 
Enden) sinnvoll.
Oder ist es so, dass ich ohnehin immer die Kapazität der gesamten 
Leitung mitberücksichtigen muss, egal wo die Pull-Ups sind?

Gruß,
Gerd

von Sauger (Gast)


Lesenswert?

Moin,

PullUps am uC, da können sie nicht abhauen :-). Hintergrund: wenn Du 
mehrere I2C Teilnehmer hast und den mit den Widerständen abklemmst geht 
das Licht aus.

MfG

von Jo (Gast)


Lesenswert?

Ja, alles plausibel

von hp-freund (Gast)


Lesenswert?

Gerd schrieb:
> Oder ist es so, dass ich ohnehin immer die Kapazität der gesamten
> Leitung mitberücksichtigen muss, egal wo die Pull-Ups sind?

Würde ich sagen.

http://www.i2c-bus.org/de/terminierung-und-kapazitaeten/

von Gerd (Gast)


Lesenswert?

Sauger schrieb:
> Moin,
>
> PullUps am uC, da können sie nicht abhauen :-). Hintergrund: wenn Du
> mehrere I2C Teilnehmer hast und den mit den Widerständen abklemmst geht
> das Licht aus.
>
> MfG



Sorry, verstehe ich nicht ganz..

@all: vielleicht nochmal einen Schritt zurück: wenn bspw. der Slave den 
Bus auf low zieht, dann gließt der Stom doch über den nächstgelegenen 
Pull-Up-Widerstand. Spielt daher nur die Kapazität dieser Teilleitun 
(vom Slave über Pull zu Vcc) eine Rolle, oder kommt immer die gesamte 
Kapazität in die Betrachtungen mit rein?

von Jo (Gast)


Lesenswert?

Gerd schrieb:
> oder kommt immer die gesamte
> Kapazität in die Betrachtungen mit rein?

Kapazität geht doch nicht verloren und kann auch nicht mit Widerständen 
abgeschaltet werden

von Gerd (Gast)


Lesenswert?

Jo schrieb:
> Gerd schrieb:
>> oder kommt immer die gesamte
>> Kapazität in die Betrachtungen mit rein?
>
> Kapazität geht doch nicht verloren und kann auch nicht mit Widerständen
> abgeschaltet werden

Darum geht's ja auch gar nicht!!

Wenn der Slave schaltet, dann fließt der Strom wo entlang? Von der 
Quelle über den Pull-up zum Slave! D.h. die Kapazitäten dieser 
Leitungsstrecke (??) werden geladen.
Lässt der Slave den Bus wieder los, dann muss die zuvor geladene 
Kapazität entladen werden.

Die Frage ist, ob diese Betrachtung korrekt ist.. Bitte nur die Leute 
antworten, die Ahnung haben/das Problem verstehen!

von chick (Gast)


Lesenswert?

Wow!
Willst Du hier eine Frage stellen oder belehren?

Eine Parallelschaltung von Kondensatoren (Leitungen) kannst Du doch 
nicht wegdiskutieren.
Durch die Änderung der Spannung auf der Leitung sind selbstverständlich 
alle Leitungen betroffen, und somit werden auch alle Kapazitäten 
umgeladen.

von Gerd (Gast)


Lesenswert?

sorry, aber auf so einzeilige Bemerkungen ohne Inhalt kann jeder 
Fragensteller verzichten...

Demnach spielt es theoretisch keine Rolle, an welcher Stelle ich die 
Pull-Ups einsetze?

von chick (Gast)


Lesenswert?

Mach keine 2 Meter Leitung an den I2C, dazu ist er nicht designed 
worden.
Es gibt aber Applikationsbeispiele für größere Entfernungen. Such mal 
bei TI.

Eine weitere Lösung ist die Datenrate sehr klein zu machen, dann sind 
die Kapazitäten nicht so arg störend.

Vergiss außerdem Deine Ansicht wie der Strom fließt, das hilft hier 
nicht weiter. Es müssen Spannungspegel richtig erkannt werden.

von Helmut L. (helmi1)


Lesenswert?

Gerd schrieb:
> Demnach spielt es theoretisch keine Rolle, an welcher Stelle ich die
> Pull-Ups einsetze?

Da du eine elektrisch kurze Leitung hast (< 2m) ist es elektrisch 
gesehen egal. Es spricht allerdings einiges dafuer sie in der naehe des 
steuernden uC zu setzen.

Bei einer elektrisch kurzen Leitung ist immer die gesammte Kapazitaet 
des Leitung massgebend. Elektrisch kurz bedeutet das die Wellenlaenge 
deines Signales um ein vielfaches groesser ist als die Leitung selbst 
die Spannung an der Leitung also an allen Punkten gleich ist. Ohmische 
Leitungswiderstaende vergessen wir dabei einmal da sie um ein vielfaches 
kleiner als die Pullups sind. Erst wenn die Signale so kurz sind das 
deren Wellenlaenge kleiner als die Leitung selber sind trifft das dann 
nicht mehr zu. Stichpunkt: Wellenausbreitung auf Leitungen/ 
Telegraphengleichung.

Aber beim langsam getakteten I2C und der kurzen Leitung von <2M trifft 
das hier nicht zu.

von Klaus (Gast)


Lesenswert?

Gerd schrieb:
> sorry, aber auf so einzeilige Bemerkungen ohne Inhalt kann jeder
> Fragensteller verzichten...

wow, hast du Umgangsformen... Da freut sich doch jeder gleich so drüber, 
dass er nicht lieber möchte, als die zu helfen.

von Jo (Gast)


Lesenswert?

Gerd schrieb:
>> Kapazität geht doch nicht verloren und kann auch nicht mit Widerständen
>> abgeschaltet werden
>
> Darum geht's ja auch gar nicht!!

Na was hast Du denn gefragt?

> Oder ist es so, dass ich ohnehin immer die Kapazität der gesamten
> Leitung mitberücksichtigen muss, egal wo die Pull-Ups sind?

Wenn Du Einzeiler nicht verstehen kannst, oder beim lesen der Antwort 
Deine Frage schon wieder vergessen hast dann hier noch mal langsem 
lesen:

Die Kapazität der Leitung ist immer die selbe, egal ob Du rechts, links 
oder rechts und links einen Widerstand daneben hängst. Du musst die 
Kapazität der gesamten Leitung also in jedem Fall berücksichtigen.

Ich wette aber Du hast keine Ahnung wie Du die berücksichtigen sollst 
;-)
Du kanst sie ja auch nicht ändern (außer durch ein anderes Kabel mit 
weniger Kapazität)

Freitags ist es hier immer besonders lustig ;-)

von Reinhard Kern (Gast)


Lesenswert?

Gerd schrieb:
> Die Frage ist, ob diese Betrachtung korrekt ist.. Bitte nur die Leute
> antworten, die Ahnung haben/das Problem verstehen!

Soll / hier und oder oder heissen? Das sind nämlich 2 ganz verschiedene 
Fragen: es gibt hier sicher viele, die Ahnung von der Sache haben, aber 
deine Probleme nicht verstehen, weder die elektrischen noch die 
sozialen.

Gruss Reinhard

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.