Forum: Mikrocontroller und Digitale Elektronik Fragen zu I²C


von Francisca93 (Gast)


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 :-)

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Francisca93 schrieb:
> 4. "Welche Ausgangsstufen werden für diese Schnittstelle verwendet?"

Nur mal kurz überlegen. Es werden externe Pullups verwendet und ein 
Teilnehmer kann die Leitung auf 0 ziehen. Welche Ausgangsstufe erfüllt 
das?

von Horst (Gast)


Lesenswert?

3 - einige Zentimeter
schon einige Meter innerhalb eines Gerätes unterzubringen ist schwierig.

4 - OpenCollector

von Erwin D. (Gast)


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.

von Bert 4. (b42)


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.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Horst schrieb:
> 4 - OpenCollector

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

von Horst (Gast)


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?

von Wolfgang (Gast)


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.

von Stefan F. (Gast)


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.

von Horst (Gast)


Lesenswert?

Stefanus F. schrieb:
> as eine bezieht
> sich auf bipolare Transistoren, das andere auf MOSFET.

[Loriot] ach [/Loriot]

Stefanus F. schrieb:
> fast jeder, schätze ich mal.

Sicher?

von Walter Tarpan (Gast)


Lesenswert?

Wolfgang schrieb:
> also die Dauer der Übertragung.

+ die Wahl des Ruhepegels

von Wolfgang (Gast)


Lesenswert?

Walter Tarpan schrieb:
> Wolfgang schrieb:
>> also die Dauer der Übertragung.
>
> + die Wahl des Ruhepegels

Bei I2C gibt es da nicht so viel Auswahl, sonst wäre es kein I2C.

von HildeK (Gast)


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.

von Klaus (Gast)


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

von Schukostecker (Gast)


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.

von Horst (Gast)


Lesenswert?

Schukostecker schrieb:
> Im späteren Berufsleben wird er/sie eine Belastung
> für die Kollegen sein.

Und da ist sie wieder, die Sinnlosdiskussion zum Thema 'Erziehen statt 
Helfen'

von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

Horst schrieb:
> Stefanus F. schrieb:
>> fast jeder, schätze ich mal.
> Sicher?

Und es gibt sie doch, die dumme Frage. CMOS !!!!!

von Wolfgang (Gast)


Lesenswert?

Manfred schrieb:
> Und es gibt sie doch, die dumme Frage. CMOS !!!!!

CMOS-Ausgangsstufe und I2C-Ausgang hat nun mal gar nichts miteinander zu 
tun.

von Thomas M. (langhaarrocker)


Lesenswert?

Open Drain, Open Collector ... das sollte dem I2C Bus ziemlich Wumpe 
sein. Wenn Du damit das Timing hin kriegst kannst Du da auch ein Relais 
verwenden um die Leitungen runter zu ziehen.

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

von Wolfgang (Gast)


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?

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.