Fragen zu I²C

Gast #5394441
Lesenswert?

Huhu ich bins nochmal :-)

Muss am Freitag eine Klausur zum Thema Schnittstellen schreiben. Im 
Fragenkatalog zu I²C sind mir da noch ein paar Fragen unklar:

1. "Durch welche Maßnahmen kann der Energiebedarf beim I²C verringert 
werden?"

Ich vermute mal "Pull-up - Widerstände vergrößern". Korrekt? Oder gibt 
es auch noch andere Möglichkeiten?

2. "Warum funktioniert 'Stop gefolgt von Start' in Multi-Master-Systemen 
nicht immer korrekt?"

Kann ich nur raten - weil ein anderer Master den Bus an sich reißt!? 
Aber warum sendet er dann überhaupt ein Stop, wenn er noch was anderes 
senden will?

3. "Geben Sie die übliche I²C - Buslänge an: einige cm - einige Meter - 
einige 100m"

Das letzte ist natürlich Quatsch. Aber welches von den ersten beiden ist 
richtiger? (Ich finde nur "innerhalb eines Gerätes").

4. "Welche Ausgangsstufen werden für diese Schnittstelle verwendet?"

Da versteh ich gar nicht was die wollen.

Danke schonmal für jede Hilfe :-)
Gast #5394459
Lesenswert?

Horst schrieb:
> 3 - einige Zentimeter
> schon einige Meter innerhalb eines Gerätes unterzubringen ist schwierig.
Das hängt natürlich von der Datenrate ab. Je schneller. desto weniger 
Entfernung ist möglich. Ich hab zum Beispiel schon mal eine 
Leitungslänge von 3-4m mit I2²C überbrückt. Geschwindigkeit müsste ich 
nochmal raussuchen. War aber für die Ansteuerung von paar LEDs und 
LED-Zeilen und einige Tastenabfragen schnell genug...
Aber tendenziell würde ich ebenfalls die Antwort "einige cm" wählen, 
denn mit "einigen Metern" wird es definitiv schwierig, wenn damit mehr 
als 3-4m gemeint sind.
#5394463
Lesenswert?

Ich habe auch schon 10m geschafft, allerdings mit Mikrocontrollern, 
deren Treiber stärker sind als von der I2C-Spezifikation verlangt. Ich 
denke der handfeste Anhaltspunkt ist die maximale Kapazität der 
Leitungen. Wenn man die Kapazitäten von üblichen mehradrigen Kabeln 
daneben hält, dürfte schnell klar werden, dass mehrere Meter außerhalb 
der Spezifikation liegen.
Gast #5394521
Lesenswert?

Erwin D. schrieb:
> Ich hab zum Beispiel schon mal eine
> Leitungslänge von 3-4m mit I2²C überbrückt.

Bert 4. schrieb:
> Ich habe auch schon 10m geschafft,

ja, schön, ich auch aber hier war nach der üblichen Länge gefragt.

Matthias S. schrieb:
> Ja, super - gant toll gemacht. Das soll aber der TE selber herausfinden.
> Das ist hier kein Hausarbeiten-Lösungsforum.

Wenn Du das nötig hast, ich bin zu alt um hier Leute zu maßregeln und 
Endlosdiskussionen über die Richtigkeit schwammig formulierter Antworten 
zu führen.
Deine Beschreibung wird z.B. auch von OpenDrain erfüllt, welcher 
I2C-Chip hat die?
Gast #5394530
Lesenswert?

Francisca93 schrieb:
> 1. "Durch welche Maßnahmen kann der Energiebedarf beim I²C verringert
> werden?"

Wenn man den Energiebedarf als mittleren Energiebedarf versteht, gibt 
es, neben dem Eingangswiderstand der Empfänger, genau zwei Parameter die 
den beeinflussen: Die Höhe des Stromes und die Dauer des Stromflusses, 
also die Dauer der Übertragung.
Gast #5394624
Lesenswert?

> Deine Beschreibung wird z.B. auch von OpenDrain erfüllt

Open-Collector und Open-Drain sind gleich gut geeignet. Das eine bezieht 
sich auf bipolare Transistoren, das andere auf MOSFET.

> welcher I2C-Chip hat die?

fast jeder, schätze ich mal.
Gast #5394807
Lesenswert?

Matthias S. schrieb:
> Horst schrieb:
>> 4 - OpenCollector
>
> Ja, super - gant toll gemacht. Das soll aber der TE selber herausfinden.
> Das ist hier kein Hausarbeiten-Lösungsforum.

Ja was? Fancisca93 macht Klausurvorbereitung und hat Fragen, also halt 
den Ball flach!

Francisca93 schrieb:
> Ich vermute mal "Pull-up - Widerstände vergrößern". Korrekt? Oder gibt
> es auch noch andere Möglichkeiten?

Viel mehr Parameter wird es auch nicht geben - außer du hast wenig zu 
senden, also viele lange Pausen oder du überträgst fast nur Einsen :-).

Francisca93 schrieb:
> 3. "Geben Sie die übliche I²C - Buslänge an: einige cm - einige Meter -
> einige 100m"

Konzipiert wurde I2C für die Kommunikation zwischen ICs innerhalb einer 
Platine oder eines Gerätes (ich meine, I2C wurde anfangs häufig in 
TV-Geräten verwendet). Es gab vermutlich keine definierte 
Längenbeschränkung, aber dies impliziert hier eher Längen <1m.
Es wurde ja schon genannt, dass die Grenze abhängt von der 
Busgeschwindigkeit, vom Wert der Pullups und von der durch die Leitung 
und die Zahl der Busteilnehmer hervorgerufene kapazitive Belastung.
Ich würde die Antwort "mehrere Meter" nicht mehr einschließen.

Bei NXP sollte die I2C-Spezifikation zu finden sein. 
(https://www.nxp.com/documents/user_manual/UM10204.pdf) Ich meine, da 
ist auch die max. kapazitive Belastung genannt und der maximale Strom 
(--> min. Pullup) angegeben.
Gast #5394890
Lesenswert?

HildeK schrieb:
> Es wurde ja schon genannt, dass die Grenze abhängt von der
> Busgeschwindigkeit, vom Wert der Pullups und von der durch die Leitung
> und die Zahl der Busteilnehmer hervorgerufene kapazitive Belastung.
> Ich würde die Antwort "mehrere Meter" nicht mehr einschließen.

Ich schon. In jedem normgerechten HDMI/DVI Kabel ist ein I2C Bus mit 
drin. Und das kann mehrere Meter lang sein.

Zum zweiten ist eine Buslast von max 400pf zulässig (und ein Strom von 
3mA), da bleiben leicht 350pf fürs Kabel übrig und das können leicht 
mehrere Meter sein.

MfG Klaus
Gast #5394894
Lesenswert?

HildeK schrieb:
> Ja was? Fancisca93 macht Klausurvorbereitung und hat Fragen, also halt
> den Ball flach!

Fancisca93 nervt lieber ein Forum seit Wochen anstatt sich Lösungen 
selber zu erarbeiten. Im späteren Berufsleben wird er/sie eine Belastung 
für die Kollegen sein.
Gast #5395741
Lesenswert?

Thomas M. schrieb:
> Zu Thema Energiesparen: Datentransfer zeitlich bündeln und in Totzeiten
> den Bus ganz abschalten.

Was ist denn deiner Meinung nach ein ganz abgeschalteter Bus?
Solange keiner was sagt, sind die Ausgangsstufen offen, die Pull-ups 
ziehen die Leitungen hoch und der Strom, der in eine CMOS-Eingangsstufe 
rein fließt, hält sich bekanntermaßen in engen Grenzen.
Wie willst du da den Stromverbrauch dirch irgenwelche Abschaltmaßnahmen 
weiter verringern?

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