Frage zu Pull Ups beim TWI (I2C)

Gast #1736015
Lesenswert?

Guten Tag

Ich habe eine Frage zu den pull ups beim TWI-Master.
Normalerweise verwende ich 5K bis 10 Widerstände beim TWI(I2C).
Jetzt habe ich den Fall, dass an einen Master nur gelegentlich ein oder 
mehrere Slaves angeschlossen werden.
Kann man da die beiden Pins mehrfach verwenden, indem anstatt der pull 
up Widerstände low current LED's mit Vorwiderstand verwende?

Funktioniert das problemlos, oder ist dass eine Schnapsidee?

mfg Sepp
Gast #1736050
Lesenswert?

A. K. schrieb:
> Strombelastung beachten. Der AVR zieht alles runter, aber der I2C-Slave
> könnte Probleme kriegen.
Die verwendeten LED's leuchten schon bei 4 mA ausreichend hell.
Können die Slaves diesen Strom "runterziehen"?

A. K. schrieb:
>Geht, ersetzt aber nicht den notwendigen Pullup. An der LED gehen über
>2V drauf, da passt der "high" Pegel sonst nicht mehr.
Ich hatte eigentlich vor den pull up zu ersetzen.
Ist es nicht egal, dass wenn ein Teilnehmer die Leitung auf low legt an 
der LED 2V abfallen und am Vorwiderstand 3V anstatt den 5V beim pull up?

Ich hatte eigentlich nur damit gerechnet dass die 4mA zu viel sein 
könnten oder dass irgendwelche kapazitiven Effekte sich negativ 
auswiken.
#1736053
Lesenswert?

Sepp schrieb:

> Die verwendeten LED's leuchten schon bei 4 mA ausreichend hell.
> Können die Slaves diesen Strom "runterziehen"?

Das sagt dir das Datasheet des mir unbekannten Slaves.

> Ist es nicht egal, dass wenn ein Teilnehmer die Leitung auf low legt an
> der LED 2V abfallen und am Vorwiderstand 3V anstatt den 5V beim pull up?

Der "low" Zustand ist nicht das Problem. Der "high" Zustand ist es. Denn 
wer sorgt dafür? Die LED nicht, die hört zu früh auf.
Gast #1736089
Lesenswert?

A. K. schrieb:
> Sepp schrieb:
>
>> Die verwendeten LED's leuchten schon bei 4 mA ausreichend hell.
>> Können die Slaves diesen Strom "runterziehen"?
>
> Das sagt dir das Datasheet des mir unbekannten Slaves.
Aktuell werden nur AVR's angeschlossen.
Da ich bis jetzt den TWI nur zur Komunikation zwischen AVRs verwendet 
habe, weis ich nicht wie viel Strom typischerweise von anderen I2C 
Bausteinen verkraftet wird. Desswegen wollte ich wissen, wie groß der 
Strom bei im Normalfall sein kann. Ich will ja nicht alles umlöten 
müssen, nur weil ich I2C Teilnehmer anschließen will die nicht wie der 
AVR höhere Ströme verkraftet.

A. K. schrieb:
> Der "low" Zustand ist nicht das Problem. Der "high" Zustand ist es. Denn
> wer sorgt dafür? Die LED nicht, die hört zu früh auf.
Ich dachte dass im high-Zustand alle Eingänge sehr hochohmig sind, 
wodurch so gut wie gar kein Strom fließt. Da dürfte auch bei einer LED 
so gut wie keine Spannung abfallen.

Da sieht man's wieder. Man lern nie aus.
Gast #1736094
Lesenswert?

Sepp schrieb:
> Ich dachte dass im high-Zustand alle Eingänge sehr hochohmig sind,
> wodurch so gut wie gar kein Strom fließt.

Ist ja nicht ganz falsch, deshalb hat man ja auch die Pull-Ups, um einen 
richtigen HIGH-Pegel zu erreichen. Derjenige, der das Signal liest, hat 
auch keinen unendlich hohem Eingangswiderstand. Und er will eine 
ordentliche '1' sehen.
Wenn deine Slaves imstande sind, die 4mA der LED und noch 1mA für den PU 
zu sinken, dann schalte einfach noch einen normalen R als Pullup 
parallel zu den LEDS+R, so wie vorher auch. Oder spendiere einen 
zusätzlichen Buffer á la 74xx125 für die Anzeige.
Gast #1752744
Lesenswert?

Hi Leute
Ich habe es jetzt so gelöst, dass die LEDs mit Vorwiderstand in einem 
Blindstecker sitzen.

Wenn Slaves angeschlossen werden sollen, nehme ich den Stecker heraus 
und stecke den Verteiler mit den pull up Widerständen hinein.

Aber weil mir das Ganze keine Ruhe gelassen hat, habe ich es trotzdem 
einmal nur mit LED's und Vorwiderständen versucht.
Es hat sauber funktioniert.
Ich weis zwar nicht wie es dynamisch aussieht, aber wenn ich langsam 
zwischen high, low und tristate wechsle, kann ich mit meinem Multimeter 
keinen Unterschied zur konventionellen Widerstandsmethode messen.
Gast #1753358
Lesenswert?

Probleme wird die Diodenkapazität machen, da sie die maximale Datenrate 
nicht unerheblich beschränken wird. Brute force: Pack einen Widerstand 
parallel zur LED.

Sepp schrieb:
> Ich weis zwar nicht wie es dynamisch aussieht, aber wenn ich langsam
> zwischen high, low und tristate wechsle, kann ich mit meinem Multimeter
> keinen Unterschied zur konventionellen Widerstandsmethode messen.

Hol schnell das Oszilloskop raus!

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