Forum: Mikrocontroller und Digitale Elektronik GPIs - „Standardschutzschaltung“


von Dan X. (purplefox)


Lesenswert?

Hallo zusammen,

Ich bin in der Elektrotechnik nicht wirklich zuhause sondern vielmehr im 
embedded Software Bereich. Die Hardware mit welcher ich typischerweise 
arbeite weißt meist etwas umfangreichere Eingangsschaltungen auf. Diese 
dienen der Filterung, dem Schutz und auch der Diagnose.
Weder lassen sich tatsächliche Zielanwendung noch der tatsächliche Mode 
der GPIs vorhersagen. Es kann aber durchaus sein dass ein und derselbe 
Eingang ein analoges Spannungssignal liest und im nächsten Projekt eine 
Frequenz.

Nun zu meiner Frage: Es muss für solche Fälle ja quasi diverse Standard 
Schaltungen geben. Sprich typische Filterung über RC Glied, typischer 
Überspannungsschutz via ??? Und typische Diagnose (z.B. Open Load) 
mittels ???.
Mir geht es hauptsächlich um einen grundlegenden, einfachen Schutz gegen 
elektrostatische Entladung bei Berührung. Ein Kollege hat mir gesagt 
dass ich hierfür im einfachsten Fall 100 Ohm in Reihe und 10nF gegen 
Masse zum Eingang schalten könnte. Ein einfaches RC- Glied also. 100 Ohm 
deshalb weil der Eingang 40mA verträgt und mit 3,3V kommt man auf 33mA.

Was ist eure Meinung dazu?
Mir geht es hauptsächlich um das Erfassen digitaler und analoger 
Signale. Insbesondere auch um das Lesen eine I2C Bus mit 400kHz.

Bietet hierfür das RC-Glied tatsächlich eine einfache und gangbare 
Lösung? Wie sähe eine technisch korrekte Dimensionierung aus? Oder gibt 
es eine ähnlich einfache Alternative welche sich besser eignet?

Vielen Dank schon einmal.

Grüße,
Purple

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

D. schrieb:
> Weder lassen sich tatsächliche Zielanwendung noch der tatsächliche Mode
> der GPIs vorhersagen.

Heißt das, dass sie auch als GPOs arbeiten können müssen?
Das wäre schon ein deutlicher Unterschied für eine mögliche 
Schutzbeschaltung. Bei den meisten uCs können die Ports sowohl als 
Eingang, als auch als Ausgang in verschiedenen Modi konfiguriert werden, 
d.h. es handelt sich gewöhnlich um GPIOs. Bei Nutzung als I2C-Interface 
wäre das bspw. der Fall.

von Wolf17 (wolf17)


Lesenswert?

Wird ein im Grenzbereich arbeitender I2C durch 100R 10nF nicht 
unzulässig belastet? Dann weniger nF nehmen, aber zwei Schottkydioden 
nach den 100R gegen Masse und +Ub der Eingangsstufe, um die internen 
Schutzdioden zu entlasten.

von Monk (roehrmond)


Lesenswert?

D. schrieb:
> Weder lassen sich tatsächliche Zielanwendung noch der tatsächliche Mode
> der GPIs vorhersagen.

Änder das zuerst, denn nur danach kann man etwas Vernünftiges empfehlen, 
das für die konkrete Anwendung geeignet ist.

Was universell ohne schlechte Seiteneffekte machbar ist, befindet sich 
bereits in allen gängigen Mikrochips.

: Bearbeitet durch User
von Dan X. (purplefox)


Lesenswert?

Rainer W. schrieb:
> D. schrieb:
>> Weder lassen sich tatsächliche Zielanwendung noch der tatsächliche Mode
>> der GPIs vorhersagen.
>
> Heißt das, dass sie auch als GPOs arbeiten können müssen?
> Das wäre schon ein deutlicher Unterschied für eine mögliche
> Schutzbeschaltung. Bei den meisten uCs können die Ports sowohl als
> Eingang, als auch als Ausgang in verschiedenen Modi konfiguriert werden,
> d.h. es handelt sich gewöhnlich um GPIOs. Bei Nutzung als I2C-Interface
> wäre das bspw. der Fall.

Hallo Rainer,

sorry ich habe Alles etwas unklar ausgedrückt. Mein Fehler.

Die Ausgänge möchte ich natürlich auch schützen, allerdings ist die 
Festlegung was Eingang und was Ausgang ist fix. Sprich ein Eingang wird 
nie zum Ausgang werden. Und aktuell arbeite ich an den Eingängen. Aber 
im Prinzip wäre es natürlich klasse wenn wir gleich alles behandeln 
können.

Folgende drei Anwendungsfälle kann man trennen:
1. Eingänge welche zum Großteil digital aber ggf. auch mal für eine 
langsamen analogen Sensor genutzt werden (z.B. Temperatur). Im Prinzip 
gibt's keine besonderen Anforderungen an die Dynamik.
2. Digitale Ausgänge mit max. ca. 30mA Stromfluss zum Schalten von 
diversen Dingen - aktuell ein 230V SSR mit integriertem Opto.
3. I2C welcher ja in beide Richtungen arbeitet also digitaler I/O mit 
400kHz. Hier habe ich aktuell nichts und bin mir nicht sicher ob ich mit 
10 kOhm in Reihe oder mit 100 Ohm in Reiher besser fahren würde. Ganz zu 
schweigen vom Kondensator gegen Masse welcher ja dann einen Tiefpass 
ergibt und hier wird es dann dünn bei mir. Welche Grenzfrequenz ist hier 
anzuraten usw. usw.

Hoffe ich konnte den Sachverhalt nun etwas verständlicher darstellen.

von Dan X. (purplefox)


Lesenswert?

Wolf17 schrieb:
> Wird ein im Grenzbereich arbeitender I2C durch 100R 10nF nicht
> unzulässig belastet? Dann weniger nF nehmen, aber zwei Schottkydioden
> nach den 100R gegen Masse und +Ub der Eingangsstufe, um die internen
> Schutzdioden zu entlasten.

Hallo Wolf,

genau das sind unter anderem meine Fragen. Es gibt bestimmt tausend 
Möglichkeiten. Ich suche etwas A sehr einfaches und B doch zumindest 
prinzipiell State-of-Art. Wenn ich hier selber was zusammen schustere 
kommt ggf. A raus, aber B wage ich zu bezweifeln. :-)

von Dan X. (purplefox)


Lesenswert?

Monk schrieb:
> D. schrieb:
>> Weder lassen sich tatsächliche Zielanwendung noch der tatsächliche Mode
>> der GPIs vorhersagen.
>
> Änder das zuerst, denn nur danach kann man etwas Vernünftiges empfehlen,
> das für die konkrete Anwendung geeignet ist.
>
> Was universell ohne schlechte Seiteneffekte machbar ist, befindet sich
> bereits in allen gängigen Mikrochips.

Hallo Monk,

ich habe es weiter oben etwas enger spezifiziert. Die "normalen" 
Eingänge sind im Prinzip entweder digital oder langsame Analogsignale. 
Keine Frequenzen. Der zweite Fall ist I2C mit 400 kHz. Der dritte Fall 
digitale Ausgänge welche uC-seitig max. 30mA können.

von Monk (roehrmond)


Lesenswert?


von Rainer W. (rawi)


Lesenswert?

D. schrieb:
> Die "normalen" Eingänge sind im Prinzip entweder digital oder
> langsame Analogsignale.
> Keine Frequenzen.

D. schrieb:
> Es kann aber durchaus sein dass ein und derselbe Eingang ein analoges
> Spannungssignal liest und im nächsten Projekt eine Frequenz.

Hmmh

D. schrieb:
> 3. I2C welcher ja in beide Richtungen arbeitet also digitaler I/O mit
> 400kHz. Hier habe ich aktuell nichts und bin mir nicht sicher ob ich mit
> 10 kOhm in Reihe oder mit 100 Ohm in Reiher besser fahren würde.

Bei I2C, mindestens für die Datenleitung ist der selbe Pin sowohl Ein- 
als auch Ausgang. Mit 10kΩ in Reihe kann bei den üblichen zur Erzeugung 
des (rezessiven) H-Pegels vorhandenen Pull-Up Widerständen kein als 
L-Pegel akzeptiertes Signal mehr erzeugt werden - fällt flach. Wenige 
100Ω funktionieren und dann hängt es von dem Wert der Pull-Ups aller 
Bus-Teilnehmer ab.
Zur Kapazität finden sich Diagramme in der I2C-Spezifikation Kap.7.
https://www.nxp.com/docs/en/user-guide/UM10204.pdf

Im Prinzip muss sicher gestellt werden, dass bei Abtastung durch den 
Empfänger mit der SCL-Flanke ein sauberer Logikpegel erreicht worden 
ist. Ein Oszi hilft zur Beurteilung.  Generell ist I2C nicht als Bus zur 
Verbindung mit der Außenwelt konzipiert, d.h. auch nicht auf 
ESD-Resistenz gezüchtet.

Für ESD gibt es verschiedene Testanforderungen (Spannung, Pulsenergie, 
Quellimpedanz). Da müsstest du etwas genauer werden.

D. schrieb:
> Ein einfaches RC- Glied also. 100 Ohm
> deshalb weil der Eingang 40mA verträgt und mit 3,3V kommt man auf 33mA.

Bei 33mA fallen an einem 100Ω Widerstand 3.3V ab, d.h. es bleibt in 
einem 3.3V-System keine Spannung mehr zur Ansteuerung der Last übrig.
Ein SSR mit Optokopplereingang braucht i.d.R. mindestens 1.2V - je nach 
Eingangsbeschaltung des SSR.

: Bearbeitet durch User
von Dan X. (purplefox)


Lesenswert?

Monk schrieb:
> https://www.digikey.de/en/articles/protecting-inputs-in-digital-electronics

Vielen Dank hierfür. So etwas habe ich zum Einen gesucht.

von Dan X. (purplefox)


Angehängte Dateien:

Lesenswert?

Hallo Rainer,

Ein I2C mit 3.3V geht tatsächlich auch an die Außenwelt wird aber von 
einem aktiven Terminator gestützt (LTC4311). Hier soll irgendwann ein 3m 
Kabel ran. Angeblich können mit dem Extender Kapazitäten bis 4000pF 
gefahren werden. Leitungslängen von zig Metern sollen angeblich kein 
Problem darstellen. das bleibt es natürlich noch zu testen. Ein Oszi 
habe ich in Einfachstausführung hier (PicoScpe 2000).

Das mit den 33 mA habe ich falsch ausgedrückt. Die 100 Ohm erlauben ja 
bei 3,3V einen maximalen Strom von 33mA und würden so den Eingang vor zu 
hohen Strömen schützen. Die Stromaufnahme der SSRs ist weit geringer. 
Hier sitzt intern ein Widerstand von 1 kOhm drin (meine ich 
zurückgerechnet zu haben). Bei 24V werden 0.55W verbraten --> 23mA --> 1 
kOhm. Es würden also ca. 3.3 mA fließen wenn ich mich nicht verrechnet 
habe (oder etwas ganz grundlegend missverstanden habe). Es würden somit 
33mV abfallen und es bleiben knapp 3V zum schalten. Das SSR schaltet ab 
2,4V und hat laut Datenblatt einen Arbeitsbereich von 3V bis 32V.

von Monk (roehrmond)


Lesenswert?

D. schrieb:
> I2C Bus mit 400kHz

D. schrieb:
> Ein I2C mit 3.3V geht tatsächlich auch an die Außenwelt...
> Hier soll irgendwann ein 3m Kabel ran.

Dafür ist I²C nicht vorgesehen. Das wird eine schlechte Frickel-Lösung.

von Dan X. (purplefox)


Lesenswert?

Monk schrieb:
> D. schrieb:
>> I2C Bus mit 400kHz
>
> D. schrieb:
>> Ein I2C mit 3.3V geht tatsächlich auch an die Außenwelt...
>> Hier soll irgendwann ein 3m Kabel ran.
>
> Dafür ist I²C nicht vorgesehen. Das wird eine schlechte Frickel-Lösung.

Ok, aber dann bräuchte ich in jedem Sensor der Außenwelt ja quasi einen 
Controller der mir CAN oder ein serielles Protokoll macht oder?
Oder gibt es Alternativen?
Dass I2C dafür nicht vorgesehen ist ist mir bewusst, aber ich habe mich 
dort ein bisschen eingelesen und war der Meinung dass eben genau für 
solche Zwecke solche Extender entwickelt wurden.
Der Wii Nunchuck ist meines Wissens ebenfalls mit I2C via Kabel 
verbunden. Auch wenn es nur 0,5m waren. Auf der anderen Seite steht 
dahinter ein japanischer Großkonzern der eigentlich wissen sollte ob das 
Sinn macht oder nicht.
Ich selbst kann hier leider auf wenig Erfahrung zurück greifen. 
Natürlich ist es ein bisschen ein Anwendungsfall der so im Standard 
nicht vorgesehen war, aber ist es wirklich derart "Gefrickel"? Dazu 
fehlt mir die Erfahrung.
Es geht ja nur um 3m nicht um 20m. Das wäre m.E. eine andere Hausnummer. 
Der Extender scheint einen guten Job zu machen und ist speziell hierfür 
designed worden.
Ich bin für Alternativen dankbar. Allerdings wäre es natürlich schön 
wenn ich nicht überall einen eigenen Controller benötigen würde.

von Monk (roehrmond)


Lesenswert?

D. schrieb:
> Ok, aber dann bräuchte ich in jedem Sensor der Außenwelt ja quasi einen
> Controller der mir CAN oder ein serielles Protokoll macht oder?

Es gibt Sensoren mit integrierten Schnittstelle für lange Leitungen. Und 
es gibt natürlich nach wie vor analoge Sensoren.

> Der Wii Nunchuck ist meines Wissens ebenfalls mit I2C via Kabel
> verbunden. Auch wenn es nur 0,5m waren. Auf der anderen Seite steht
> dahinter ein japanischer Großkonzern der eigentlich wissen sollte ob das
> Sinn macht oder nicht.

Nintendo versucht damit aber nicht 400kHz über 3 Meter zu übertragen.

> ist es wirklich derart "Gefrickel"

Wenn du mir nicht glaubst, probiere es selbst aus - und zwar mit 
Schutzschaltungen. Kontrolliere das Ergebnis mit einem Oszilloskop.

: Bearbeitet durch User
von Dietrich L. (dietrichl)


Lesenswert?

D. schrieb:
> Es geht ja nur um 3m nicht um 20m. Das wäre m.E. eine andere Hausnummer.
> Der Extender scheint einen guten Job zu machen und ist speziell hierfür
> designed worden.

Wie ich das Datenblatt des LTC4311 verstanden habe, ist das "nur" ein 
Beschleuniger bei höheren Leitungskapazitäten durch längere Leitungen.
Über Schutzmaßnahmen habe ich nichts gefunden, und die I2C-Teilnehmer 
hängen elektrisch weiter direkt an der Leitung.
Du fragst aber nach "Schutzschaltungen".
Die Frage ist, wieviel Störung auf den 3m in die Leitung einkoppeln und 
deshalb noch zusätzlicher Schutz erforderlich ist.

von Dan X. (purplefox)


Lesenswert?

Dietrich L. schrieb:
> D. schrieb:
>> Es geht ja nur um 3m nicht um 20m. Das wäre m.E. eine andere Hausnummer.
>> Der Extender scheint einen guten Job zu machen und ist speziell hierfür
>> designed worden.
>
> Wie ich das Datenblatt des LTC4311 verstanden habe, ist das "nur" ein
> Beschleuniger bei höheren Leitungskapazitäten durch längere Leitungen.
> Über Schutzmaßnahmen habe ich nichts gefunden, und die I2C-Teilnehmer
> hängen elektrisch weiter direkt an der Leitung.
> Du fragst aber nach "Schutzschaltungen".
> Die Frage ist, wieviel Störung auf den 3m in die Leitung einkoppeln und
> deshalb noch zusätzlicher Schutz erforderlich ist.

Hallo Dietrich,

stimmt ich frage nach Schutzschaltungen aber ich bin natürlich dankbar 
für Hinweise die mir generelle Designschwächen aufdecken.

Der LTC4311 soll lediglich die Nutzung längerer Leitungen ermöglichen, 
korrekt. Daher frage ich auch nach notwendigem / sinnvollem Schutz. 
Insbesondere gegen Berührung. Das Kabel wird ein CAT6 sein und ist ein 
bisschen gegen Einflüsse von außen geschirmt.

von Dan X. (purplefox)


Lesenswert?

Monk schrieb:
> D. schrieb:
>> Ok, aber dann bräuchte ich in jedem Sensor der Außenwelt ja quasi einen
>> Controller der mir CAN oder ein serielles Protokoll macht oder?
>
> Es gibt Sensoren mit integrierten Schnittstelle für lange Leitungen. Und
> es gibt natürlich nach wie vor analoge Sensoren.
>
>> Der Wii Nunchuck ist meines Wissens ebenfalls mit I2C via Kabel
>> verbunden. Auch wenn es nur 0,5m waren. Auf der anderen Seite steht
>> dahinter ein japanischer Großkonzern der eigentlich wissen sollte ob das
>> Sinn macht oder nicht.
>
> Nintendo versucht damit aber nicht 400kHz über 3 Meter zu übertragen.
>
>> ist es wirklich derart "Gefrickel"
>
> Wenn du mir nicht glaubst, probiere es selbst aus - und zwar mit
> Schutzschaltungen. Kontrolliere das Ergebnis mit einem Oszilloskop.

Hi Monk,

genau um diese Schutzschaltungen geht es. Was wäre hier deiner Meinung 
nach sinnvoll. Oder bist du dir 100% sicher, dass das ein totales 
Gemurkse wird und überhaupt nicht funktionieren kann? Ich meine es gibt 
ja eine Welt zwischen Zweckentfremdung die funktioniert und einem 
totalen Mist. Ich müsste das Ergebnis selbstverständlich messen. 
Allerdings wäre es ja tatsächlich gangbar, wenn die Flanken einigermaßen 
steil ankommen und mich der Extender aus dem Kapazitätsloch "rettet".
Mein Problem an dieser Stelle ist dass ich einen bestimmten Sensor 
verwenden möchte welchen es derzeit nur mit I2C gibt. Und daher bin ich 
zumindest in erster Stufe darauf angewiesen. Daher habe ich auch die 
anderen Sensoren in I2C gekauft.

von Monk (roehrmond)


Lesenswert?

D. schrieb:
> Was wäre hier deiner Meinung nach sinnvoll.

Am I2C Bus würde ich 100 Ohm und 1 nF versuchen und höchstens mit 100 
kHz takte. Eher weniger  was bei I2C ja durchaus auch vorgesehen ist.

Der Lego Mindstorms NXT hatte seine I2C Anschlüsse besonders hochohmig 
betrieben (schützt besser), dafür aber nur mit 10 kHz getaktet.

von Monk (roehrmond)


Lesenswert?

D. schrieb:
> Oder bist du dir 100% sicher, dass das ein totales Gemurkse wird und
> überhaupt nicht funktionieren kann?

100% sicher ist gar nichts, schon gar nicht bei der dünnen 
Informationslage. Deswegen schlug ich vor, es auszuprobieren. Versuch 
macht klug!

von Dan X. (purplefox)


Lesenswert?

Monk schrieb:
> D. schrieb:
>> Oder bist du dir 100% sicher, dass das ein totales Gemurkse wird und
>> überhaupt nicht funktionieren kann?
>
> 100% sicher ist gar nichts, schon gar nicht bei der dünnen
> Informationslage. Deswegen schlug ich vor, es auszuprobieren. Versuch
> macht klug!

Perfekt. Dann werde ich das jetzt mal testen!
Vielen Dank schon einmal.

von Florian L. (muut) Benutzerseite


Lesenswert?

I2C war zwar nie als Verbindung außerhalb eines Gerätes geplant, wird 
aber weitverbreitet erfolgreich eingesetzt, z.b. in VGA, DVI, HDMI zur 
Ermittlung der Auflösungen, viele kleinroboter wie Lego NXT, qfix, 
andere verwenden es als Bus.

Man kann ein I2C Bus durchaus robust (und langsam) aufbauen, gibt sogar 
diverse Hausbusversuche damit.

von Dan X. (purplefox)


Angehängte Dateien:

Lesenswert?

So meine lieben Mithelfer,

anbei mein Test.
I2C mit 3 Teilnehmern wovon einer über ein Kabel angeschlossen ist.
400 kHz
Gesamt Pull-Up bei 2,5 kOhm da jeder Teilnehmer seine eigenen Pull-Ups 
mitbringt. Also nicht unbedingt super perfekt aber auch nicht ganz böse.

1. SCL und SDA direkt verschaltet mit 20cm Kabel (CAT6 ungeschirmt)
2. SCL und SDA direkt verschaltet mit 300cm Kabel
3. SCL und SDA direkt verschaltet mit 600cm Kabel
4. SCL und SDA mit 100 Ohm in Reihe verschaltet mit 20cm Kabel
5. SCL und SDA mit 100 Ohm in Reihe  verschaltet mit 600cm Kabel
6. SCL und SDA mit 100 Ohm in Reihe plus LTC4311 mit 600cm Kabel

Ich würde sagen der LTC4311 macht einen guten Job.

Ich habe leider nur 15nF Kondensatoren da und habe hier mal jeweils 
einen bei SCL und SDA gegen Masse gelegt --> Totalausfall. Das habe ich 
noch nicht so verstanden. Dann liegt der Bus quasi konstant auf High 
Pegel.
Aber ggf. reichen ja auch die 100 Ohm in Reihe. Was ist eure Meinung 
dazu?

von Dan X. (purplefox)


Lesenswert?

Florian L. schrieb:
> I2C war zwar nie als Verbindung außerhalb eines Gerätes geplant, wird
> aber weitverbreitet erfolgreich eingesetzt, z.b. in VGA, DVI, HDMI zur
> Ermittlung der Auflösungen, viele kleinroboter wie Lego NXT, qfix,
> andere verwenden es als Bus.
>
> Man kann ein I2C Bus durchaus robust (und langsam) aufbauen, gibt sogar
> diverse Hausbusversuche damit.

Hi Florian,

nachdem was ich nun gemessen habe glaube ich das all zu gerne.

von Monk (roehrmond)


Angehängte Dateien:

Lesenswert?

Alle Bilder ohne den LTC4311 sehen nicht gut aus. Das Signal erreicht 
den High Pegel so gerade eben. Mit mehr kapazitiver Last (durch 
Schutzschaltung, längere/andere Kabel) wird das nicht mehr der Fall 
sein.

> Ich habe leider nur 15nF Kondensatoren da und habe hier mal jeweils
> einen bei SCL und SDA gegen Masse gelegt --> Totalausfall

Sieht du, da haben wir es.

> Aber ggf. reichen ja auch die 100 Ohm in Reihe

Ist jedenfalls besser als gar kein Schutz. Denke aber auch an 
eingekoppelte Radiowellen (z.B. beim Schalten von induktiven Lasten). 
Die willst du mit Kondensatoren abblocken, damit das IC sie nicht falsch 
interpretiert. Ein falscher Start- oder Takt-Impuls kann leicht dazu 
führen, dass der Bus danach blockiert.

Das angehängt Bild zeigt in Rot das gleiche "Problem", das du hast. 
Verstehe mich nicht falsch: So wird es wahrscheinlich funktionieren. Mir 
fehlt da nur etwas Sicherheit um sich wohl zu fühlen. Durch Verringerung 
der Bitrate kommt man auf den grünen Fall, der ist gut. Alternativ 
kannst du die Pull-Up Widerstände mit weniger Ohm auslegen.

Allerdings: Je niederohmiger die Pull-Up Widerstände sind, umso 
niederohmiger müssen auch die Schutzwiderstände an den IC-Pins sein. 
Sonst erreicht das Signal den LOW Pegel nicht mehr zuverlässig.

Interessant wäre auch, die erforderlichen Pegel (mindestens x Volt für 
HIGH, maximal x Volt für LOW) aus den Datenblättern der betroffenen IC's 
zu ermitteln, damit wir von konkreten Grenzwerten reden, nicht von grob 
geschätzten.

: Bearbeitet durch User
von Clemens L. (c_l)


Lesenswert?

D. schrieb:
> Ich habe leider nur 15nF Kondensatoren da und habe hier mal jeweils
> einen bei SCL und SDA gegen Masse gelegt --> Totalausfall.

Die I²C-Spezifikation erlaubt normalerweise bis zu 400 pF (inklusive der 
Kapazitäten der I²C-Geräte und der Leiterbahnen/Kabel). Mit dem LTC4311 
ist wahrscheinlich etwas mehr möglich, aber 15000 pF ist dann doch zu 
viel.

Als Schutz gegen hochfrequente Störungen wären z.B. 100 pF oder 220 pF 
sinnvoll. Die sind halt sonst nicht üblich.

von Rainer W. (rawi)


Lesenswert?

Monk schrieb:
> Alle Bilder ohne den LTC4311 sehen nicht gut aus. Das Signal erreicht
> den High Pegel so gerade eben.

Es geht nicht darum, einen bestimmten High Pegel zu erreiche, sondern 
den Schwellwert für die sichere Erkennung eines High-Wertes durch den 
Empfänger zuzüglich des erforderlichen Störabstandes zum entscheidenden 
Zeitpunkt sicher zu über überschreiten. Das sind verschiedene Dinge.

von Dan X. (purplefox)


Lesenswert?

Clemens L. schrieb:
> D. schrieb:
>> Ich habe leider nur 15nF Kondensatoren da und habe hier mal jeweils
>> einen bei SCL und SDA gegen Masse gelegt --> Totalausfall.
>
> Die I²C-Spezifikation erlaubt normalerweise bis zu 400 pF (inklusive der
> Kapazitäten der I²C-Geräte und der Leiterbahnen/Kabel). Mit dem LTC4311
> ist wahrscheinlich etwas mehr möglich, aber 15000 pF ist dann doch zu
> viel.
>
> Als Schutz gegen hochfrequente Störungen wären z.B. 100 pF oder 220 pF
> sinnvoll. Die sind halt sonst nicht üblich.


Vielen Dank Clemens. Ich werde das testen sobald ich die Teile habe.

von Dan X. (purplefox)


Lesenswert?

Rainer W. schrieb:
> Monk schrieb:
>> Alle Bilder ohne den LTC4311 sehen nicht gut aus. Das Signal erreicht
>> den High Pegel so gerade eben.
>
> Es geht nicht darum, einen bestimmten High Pegel zu erreiche, sondern
> den Schwellwert für die sichere Erkennung eines High-Wertes durch den
> Empfänger zuzüglich des erforderlichen Störabstandes zum entscheidenden
> Zeitpunkt sicher zu über überschreiten. Das sind verschiedene Dinge.

Hallo Rainer,

Vielen Dank. Das verstehe ich. Im Prinzip hat Monk das vermutlich auch 
gemeint denn es hängt ja eng zusammen. Natürlich muss der High Pegel 
über der Schwelle des jeweiligen Teilnehmers liegen und natürlich muss 
er auch so lange anliegen bis er als solcher zuverlässig erkannt wurde.

Aber wenn ich den LTC4311 nutze dann sind diese Bedingungen ja beide 
gegeben.
Die 100 Ohm in Reihe funktionieren wunderbar. Jetzt steht noch der von 
Clemens vorgeschlagene Test aus. Zeitgleich werde ich auch noch einen 
Test mit 100 kHz machen. Aktuell habe ich leider nicht so viel Zeit für 
das Projekt übrig. Wird ggf. WE.

von Dan X. (purplefox)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

heute komme ich mal wieder zu was. Und da wollte ich euch die Ergebnisse 
nicht vorenthalten. Anbei die Messung it 6m Kabel, 100 Ohm in Reihe und 
100pF gegen Masse. Die Frequenz habe ich von 400kHz auf 100kHz 
reduziert. Ich nutze derzeit keinen aktiven Terminator (LTC4311). Ich 
denke dass ich so ins Rennen gehe. Das sieht ja schon ganz gut aus 
soweit. Was ist eure Meinung dazu?

von Clemens L. (c_l)


Lesenswert?

D. schrieb:
> Das sieht ja schon ganz gut aus soweit.

Es wird funktionieren, aber wenn die steigende Flanke gerade eben VCC 
erreicht und nicht zumindest für kurze Zeit auf VCC bleibt, dann ist das 
schon grenzwertig.

von Monk (roehrmond)


Lesenswert?

D. schrieb:
> Das sieht ja schon ganz gut aus
> soweit. Was ist eure Meinung dazu?

Ich würde die Pull-Up Widerstände halbieren, damit der grüne 
Signalverlauf erreicht wird. Siehe 
Beitrag "Re: GPIs - „Standardschutzschaltung“"

Die Kondensatoren zu halbieren wird weniger nützen (wegen der Kapazität 
des Kabels) und zudem die Schutzwirkung gegen Störungen verringern.

: Bearbeitet durch User
von Dan X. (purplefox)


Angehängte Dateien:

Lesenswert?

Hallo Clemens und Monk,

so, ich habe jetzt noch 4,7 kOhm Pull-Ups zugefügt. Damit landen ich 
insgesamt bei ca. 1,6 kOhm (ursprünglich ca. 2,5 kOhm). Bei meinem Setup 
ist ein minimaler Widerstand von ca 980 Ohm noch zulässig. Ich wollte 
zum einen etwas Sicherheitsabstand und zum Anderen kommt hier vermutlich 
nochmals ein Board hinzu welches ja dann ebenfalls wieder 10 kOhm 
mitbringt. Dann würde ich bei 1,38 kOhm landen. Kommt dann tatsächlich 
irgendwann noch eines hinzu dann lande ich bei 1,2 kOhm. Scheint mir 
also ein guter Mittelweg zu sein. Das Signal sollte jetzt so passen 
oder? (Wird mit jedem neuen Board ja noch ein bisschen "besser".

Liebe Grüße,
Fox

von Monk (roehrmond)


Lesenswert?

D. schrieb:
> Scheint mir  also ein guter Mittelweg zu sein.

das sehe ich auch so. Und von den ursprünglich angedachten 400 kHz hast 
du dich offenbar verabschiedet. Gut so.

Solche Feinheiten bestimmen, ob ein Gerät langfristig zuverlässig 
arbeitet, oder aus (für den Benutzer) scheinbar unerklärlichen Gründen 
sporadische Fehlfunktionen hat. Die Kontrolle mit dem Oszilloskop ist 
getakteten Signalen immer eine gute Idee.

: Bearbeitet durch User
von Dan X. (purplefox)


Lesenswert?

Vielen Dank Monk für deine Hilfe. Es ist schon deutlich besser wenn es 
vernünftig gemacht ist. Ein gutes Gefühl.

von Rainer W. (rawi)


Lesenswert?

Clemens L. schrieb:
> Es wird funktionieren, aber wenn die steigende Flanke gerade eben VCC
> erreicht und nicht zumindest für kurze Zeit auf VCC bleibt, dann ist das
> schon grenzwertig.

Noch einmal: Ob die Flanke VCC erreicht, ist völlig egal, zumal die 
steigende Flanke dies NIE wird erreichen können, weil die Kabelkapazität 
(theoretisch) unendlich lange braucht, um über den Pull-Up auf die 
anliegende Spannung (VCC) umgeladen zu werden. Der Empfänger benötigt 
zur sicheren Erkennung eines High-Pegels einen bestimmten Mindestwert, 
der im Datenblatt angegeben ist. Dieser Pegel muss auf SDA erreicht 
werden, bevor auf SCL die Flanke zur Datenübernahme erkannt wird. Die 
Zeit steht ebenfalls im Datenblatt. Solange dies sichergestellt ist, ist 
nichts grenzwertig.

: Bearbeitet durch User
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.