mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Fragen zu I²C


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Francisca93 (Gast)
Datum:

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

Autor: Matthias S. (Firma: matzetronics) (mschoeldgen)
Datum:

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

Autor: Horst (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
3 - einige Zentimeter
schon einige Meter innerhalb eines Gerätes unterzubringen ist schwierig.

4 - OpenCollector

Autor: Erwin D. (Gast)
Datum:

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

Autor: Bert 4. (b42)
Datum:

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

Autor: Matthias S. (Firma: matzetronics) (mschoeldgen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Horst schrieb:
> 4 - OpenCollector

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

Autor: Horst (Gast)
Datum:

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

Autor: Wolfgang (Gast)
Datum:

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

Autor: Stefanus F. (Firma: Äppel) (stefanus)
Datum:

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

Autor: Horst (Gast)
Datum:

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

Autor: Walter Tarpan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> also die Dauer der Übertragung.

+ die Wahl des Ruhepegels

Autor: Wolfgang (Gast)
Datum:

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

Autor: HildeK (Gast)
Datum:

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

Autor: Klaus (Gast)
Datum:

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

Autor: Schukostecker (Gast)
Datum:

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

Autor: Horst (Gast)
Datum:

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

Autor: Manfred (Gast)
Datum:
Angehängte Dateien:
  • preview image for od.png
    od.png
    23,6 KB, 134 Downloads

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

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

Autor: Wolfgang (Gast)
Datum:

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

Autor: Thomas M. (langhaarrocker)
Datum:

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

Autor: Wolfgang (Gast)
Datum:

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

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.