mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zu Pull Ups beim TWI (I2C)


Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ersetzt nicht den notwendigen Pullup. An der LED gehen über 2V drauf, da 
passt der "high" Pegel sonst nicht mehr.

Strombelastung beachten. Der AVR zieht alles runter, aber der I2C-Slave 
könnte Probleme kriegen.

Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: HildeK (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Sepp (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Pothead (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.