mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 100Ohm Widerstände beim I2C


Autor: Wheels C. (wheels)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

weiß jemand wozu die 100Ohm Widerstände in der SCL und SDA-Leitung des 
I2C dienen könnten und wie sie berechnet werden?

schon mal Danke

grüße Wheels

Autor: Alex W. (a20q90)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kurzschlussschutz damit bei solchem die Ein/Ausgänge nicht überlastet 
werden und der uC abschmiert/kaputt geht

Autor: Wheels C. (wheels)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wie kann man sie berechnen?

Autor: ptc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ergibt nach Ohmschen gesetz 50mA, ist also noch im grünen bereich für 
nen Avr.
würde die widerstände aber nicht unbedingt verwenden, ich denke dadurch 
könnte das signal schlechter werden.

Autor: Klaus Ra. (klara)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Wheels,
diese Widerstände sind nicht als Kurzschlussschutz gedacht. Der Bus ist 
ein Openkollektor - System. Wenn da eine Steuerleitung kurzgeschlossen 
wird, so fliesst der Strom nur durch den externen Pullup-Widerstand 
gegen Masse. Was anderes machen die I2C-Bausteine auch nicht. Sie 
erzeugen jeweils mit jeder "Null" einen Kurzschluss gegen Masse.
Diese Widerstände könnte man bei kurzen Leitungen auch weglassen. Bei 
längeren Leitungen verringern diese Widerstände Reflektionen. Letztlich 
verringern sie auch die kapazitive Belastung verursacht durch die 
einzelnen I2C-Ports. Je höher die Taktrate und je länger die Leitung, je 
eher treten diese Wirkungen auf. Ist übrigens, alles bei Philips 
nachzulesen.
Man geht mit den Widerständen bis zu 330 Ohm hoch. So habe ich sie auch 
bei mir im Einsatz.
Noch ein Zusatz: Ich arbeite in der Regel mit 5V. Bei 3,3V könnte der 
Vorwiderstand geringer ausfallen. Wenn man 330 Ohm anteilig vermindert 
so käme man für 3,3V - Bussysteme auf 218 Ohm. Mehr würde ich da nicht 
einsetzen. Wenn es wichtig wäre, so sollte man weiter googlen.
Gruss Klaus.

Autor: Wheels C. (wheels)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank Klaus. Nur was verstehst Du unter den Reflektionen?

Autor: Oliver Heinrichs (Firma: OliverHeinrichs.de) (dobson)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wheels C. schrieb:
> Nur was verstehst Du unter den Reflektionen?

Induktive Überlagerungen.

Zum Beispiel legt man ja auch keine Netzleitungen (L-N-PE) und 
Netzwerkleitungen (CAT5, CAT7, e.t.c.) in einen Schacht zusammen.

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oliver Heinrichs schrieb:
> Induktive Überlagerungen.
>
> Zum Beispiel legt man ja auch keine Netzleitungen (L-N-PE) und
> Netzwerkleitungen (CAT5, CAT7, e.t.c.) in einen Schacht zusammen.

Darum geht es aber nicht.

Schickt man eine Welle in eine Leitung, wird diese an jeder 
"Bruchstelle" gebrochen und reflektiert. Die Welle kommt dann zurück und 
überlagert sich mit den eingehenden. Das kann so weit gehen, dass sich 
die Wellen aufheben.

Aus diesem Grund durfte man früher bei einem sogenannten Yellow-Cable 
(vorläufer der einigen noch bekannten Coax-Netzwerke) die Daten nur an 
bestimmten Stellen reinschicken und rausholen (Wellenberg). AUch mussten 
Leitungen eine bestimmte Länge haben, damit sich Reflexionen nicht so 
sehr auswirken.

Autor: Wheels C. (wheels)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab's verstanden und Danke dafür.

Grüße Wheels

Autor: Ronny T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nennt sich Serienterminierung. Sehr schön erklärt werden die 
Zusammenhänge hier: (wo sonst? :-)

http://www.mikrocontroller.net/articles/Wellenwiderstand

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 1 KOhm Pullup gegen 5 V scheinen mir etwas klein geraten zu sein. 
Für I2C-Bausteine (100 KHz) nehme ich 4,7 KOhm und keine Widerstände in 
der Takt- und Datenleitung.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Entschuldigung, aber keines der bisher genannten Sachen trifft zu. 
Serienwiderstände bringen nur bei Point-To-Point Verbindungen etwas 
gegen Reflektionen. Siehe Artikelsammlung.

http://www.nxp.com/acrobat_download/usermanuals/UM...

Seite 46:
----
As shown in Figure 33, series resistors (Rs) of, e.g., 300 Ω can be used 
for protection
against high-voltage spikes on the SDA and SCL lines (resulting from the 
flash-over of a
TV picture tube, for example). If series resistors are used, designers 
must add the
additional resistance into their calculations for Rp and allowable bus 
capacitance
----

Da ist auch ein Diagramm, wo der maximale Wert von Rs abgelesen werden 
kann. Er ist abhängig von der Größe des Pullup-Widerstands.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ronny T. schrieb:
> Nennt sich Serienterminierung. Sehr schön erklärt werden die
> Zusammenhänge hier: (wo sonst? :-)
>
> http://www.mikrocontroller.net/articles/Wellenwiderstand

Das ist Falsch.

Zitat aus dem von dir verlinkten Artikel:

----
Datensignale können meist problemlos mit Serienterminierung betrieben 
werden. Taktsignale dürfen nur bei Punkt zu Punkt Verbindungen mit 
Serienterminierung betrieben werden (ein Sender und nur ein Empfänger). 
Anderenfalls kann es zu Fehlfunktionen kommen, da ein Takteingang, 
welcher in der Mitte der Leitung sitzt für ein paar Nanosekunden eine 
Spannung am Eingang anliegen hat die etwa VCC/2 entspricht.
----

Autor: Ronny T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmm... aber in diesem Beispiel ist am I2C ja auch nur 1 Endpunkt. 
Insofern könnte man da dann auch wieder Serienterminieren.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da sind doch 4 Schraubklemmen (Oder was das sein soll). Also keine P2P 
Verbindung.

Autor: Ronny T. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hätte mal auf irgendwas Richchtung Modulsteckplatz getippt. Insofern: 
Wenn es ein Bus ist, dann wären aber die 100Ohm Widerstände schon fehl 
am Platz. Genau aus dem von Dir genannten Grund.

Autor: Klaus Ra. (klara)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
zumindest verringern Serienwiderstände bei den I2C-Clients die 
Auswirkungen der Portkapazitäten. Dies macht sich in Grenzfällen positiv 
bemerkbar. Ich denke da auch an Laufzeitverzögerungen. Der DS1631 ist da 
nach meiner Meinung etwas empfindlich. Wenn der PCF8574 noch zuverlässig 
arbeitet, tut es ein DS1631 schon lange nicht mehr.
High-voltage spikes habe ich zwar noch nicht beobachtet. Dann müsste man 
ja vorsichtshalber auch den I2C-Master schützen. Das wäre aber etwas für 
ESD-Bausteine.
Gruss Klaus.

Autor: Reinhard Kern (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

die ganze Diskussion dreht sich um etwas, was es eigentlich nicht gibt: 
I2C ist kein Industriebus, vielmehr Lichtjahre davon entfernt. Gedacht 
ist I2C als Inter-IC-Bus, also auf der Leiterplatte zum nächsten IC.

Deshalb ist keineswegs alles Gesagte falsch, aber für den Zweck der 
Übung, etwa ein RTC-Chip an die CPU anzuschliessen, ist es irrelevant.

Für mich ist die Idee, Microcontrollerpins direkt per Kabel in die böse 
Welt da draussen zu schicken, einfach abwegig.

Gruss Reinhard

Autor: Jürgen H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An oben gezeigtem Schaltungsauszug werden üblicherweise 4 bis 12 ATMega8 
als I2C-Slaves angeschlossen. Die Verdrahtung zu den Slaves ist meist 
als  Sternverdrahtung ausgeführt. Die einzelnen I2C-Leitungen zu den 
Slaves sind üblicherweise 5 bis ca. 40 cm lang.

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.