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
Kurzschlussschutz damit bei solchem die Ein/Ausgänge nicht überlastet werden und der uC abschmiert/kaputt geht
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.
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.
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.
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.
Nennt sich Serienterminierung. Sehr schön erklärt werden die Zusammenhänge hier: (wo sonst? :-) http://www.mikrocontroller.net/articles/Wellenwiderstand
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.
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/UM10204_3.pdf 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.
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. ----
Hmmm... aber in diesem Beispiel ist am I2C ja auch nur 1 Endpunkt. Insofern könnte man da dann auch wieder Serienterminieren.
Da sind doch 4 Schraubklemmen (Oder was das sein soll). Also keine P2P Verbindung.
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.
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.
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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.