Forum: Mikrocontroller und Digitale Elektronik I2C-Bus: Zener-Diode 3,3 Volt - merkwürdiger Effekt - suche Erklärung


von Hendrik L. (lbd)


Lesenswert?

Hallo zusammen,

ich teste gerade eine I2C-Verbindung zwischen einem Raspberry (3,3 Volt) 
und einem Atmel-MC (5 Volt).

Meine Überlegung: Ich ziehe mit je einer 3,3V Zener-Diode an SCL und SCA 
die Busspannung auf 3,3 Volt, damit die beiden  Rpi Pins keine 
Spannungs-Überlastung erfahren.

Nach meiner Überlegung sollten HIGH und LOW noch im der Atmel - 
Spezifikation liegen und der Bus sollte funktionieren.

Der Laie staunt - der Fachmann wundert sich - es funktioniert!!! Ich 
vermeide somit die ICs zur Spannungsumsetzung auf dem Bus.


Allerdings, es funktioniert nur mit zwei 3,3 Volt seriell geschalteten 
Zener-Diode pro Pin (also 4  Zener - Dioden insgesamt):

Zu Anfang habe ich nur eine Zener-Diode pro Leitung genommen, es stellen 
sich dann aber keine 3,3 Volt ein, sondern nur ca. 2 Volt. Ich erkläre 
mir das mit der typischen ANALOGEN Kennlinie bei einer Zener-Diode, es 
wird ja keine diskrete Sprungfunktion bei 3,3 Volt geliefert.

Und nun die spannende Frage: Warum stellen sich exakt die 3,30 Volt (auf 
zwei Stellen hinter dem Komma genau) bei zwei hintereinandergschalteten 
3,3 Volt Zener-Dioden an 5 Volt ein. Zufall?

Im Prinzip könnte mir die Begründung egal sein, da die Lösung ja robust 
funktioniert und ich somit den Tranceiver ersetzen kann - aber das Thema 
ist schon hochinteressant (für mich).

Im Voraus Vielen Dank!

Gruesse

: Bearbeitet durch User
von M. K. (sylaina)


Lesenswert?

Hendrik L. schrieb:
> Allerdings, es funktioniert nur mit zwei 3,3 Volt seriell geschalteten
> Zener-Diode pro Pin (also 4  Zener - Dioden insgesamt):

Du versuchst also eine +5V Leitung mit einer 6.6 V Pseudo-Z-Diode zu 
clampen? Gute Idee, topp ;)

Hendrik L. schrieb:
> Und nun die spannende Frage: Warum stellen sich exakt die 3,30 Volt (auf
> zwei Stellen hinter dem Komma genau) bei zwei hintereinandergschalteten
> 3,3 Volt Zener-Dioden an 5 Volt ein. Zufall?

Schon mal überlegt, welcher Strom nötig ist damit deine Z-Dioden auch 
richtig arbeiten ;)

Sind das jetzt genügend Stichworte?

Hendrik L. schrieb:
> Der Laie staunt - der Fachmann wundert sich - es funktioniert!

Der Fachmann wundert sich mit Sicherheit nicht, der machts gleich 
richtig ;)

von Schlumpf (Gast)


Lesenswert?

Vermutlich ein Fehler in der Schaltung.
Zeichne mal nen schaltplan.

Aber warum hängst du den Pullup nicht einfach an 3,3V?
Dann brauchst du gar keine Z-Dioden

von M. K. (sylaina)


Lesenswert?

Schlumpf schrieb:
> Aber warum hängst du den Pullup nicht einfach an 3,3V?
> Dann brauchst du gar keine Z-Dioden

Oder den Atmel-MC auf 3.3 V laufen lassen, tut ja auch nicht weh ;)

von Hendrik L. (lbd)


Lesenswert?

M. K. schrieb:
> Hendrik L. schrieb:
>> Allerdings, es funktioniert nur mit zwei 3,3 Volt seriell geschalteten
>> Zener-Diode pro Pin (also 4  Zener - Dioden insgesamt):
>
> Du versuchst also eine +5V Leitung mit einer 6.6 V Pseudo-Z-Diode zu
> clampen? Gute Idee, topp ;)
>
> Hendrik L. schrieb:
>> Und nun die spannende Frage: Warum stellen sich exakt die 3,30 Volt (auf
>> zwei Stellen hinter dem Komma genau) bei zwei hintereinandergschalteten
>> 3,3 Volt Zener-Dioden an 5 Volt ein. Zufall?
>
> Schon mal überlegt, welcher Strom nötig ist damit deine Z-Dioden auch
> richtig arbeiten ;)
>
> Sind das jetzt genügend Stichworte?
>
> Hendrik L. schrieb:
>> Der Laie staunt - der Fachmann wundert sich - es funktioniert!
>
> Der Fachmann wundert sich mit Sicherheit nicht, der machts gleich
> richtig ;)

Klar ist der Strom und die Kennlinie der Schlüssel zur Lösung - weiss 
ich auch.

Aber warum stellen sich EXAKT die 3,30 Volt ein (warum keine 4,1 Volt 
oder die 5 volt vom Atmel (bei anzunehmender 6,6 Pseudo Spannung), 
sprich warum funktioniert es überhaupt) - ergibt sich hier eine 
"automatische" Regelung durch die Kennlinien auf exakt 3,30 Volt - das 
interessiert mich!

Gruesse

von Hendrik L. (lbd)


Lesenswert?

M. K. schrieb:
> Schlumpf schrieb:
>> Aber warum hängst du den Pullup nicht einfach an 3,3V?
>> Dann brauchst du gar keine Z-Dioden
>
> Oder den Atmel-MC auf 3.3 V laufen lassen, tut ja auch nicht weh ;)


Sind ATtinys ... ich bnötige die maximale Taktfrequenz, darum 5 Volt!

Gruesse

von Hendrik L. (lbd)


Lesenswert?

Schlumpf schrieb:
> Vermutlich ein Fehler in der Schaltung.
> Zeichne mal nen schaltplan.
>
> Aber warum hängst du den Pullup nicht einfach an 3,3V?
> Dann brauchst du gar keine Z-Dioden

Definitiv kein Fehler in der Schaltung.

Die Stromrichtungen der beiden seriellen Zener-Dioden laufen sich 
definitiv nach. Richtig gepolt sind sie auch, sonst würden sich ja kein 
HIGH (3,3 Volt) und LOW (0 Volt) am Bus einstellen. Der Bus arnbeitet ja 
ordnungsgemäss!

Gruesse

von Stefan S. (chiefeinherjar)


Lesenswert?

Hendrik L. schrieb:
> Aber warum stellen sich EXAKT die 3,30 Volt ein (warum keine 4,1 Volt
> oder die 5 volt vom Atmel (bei anzunehmender 6,6 Pseudo Spannung),
> sprich warum funktioniert es überhaupt) - ergibt sich hier eine
> "automatische" Regelung durch die Kennlinien auf exakt 3,30 Volt - das
> interessiert mich!

Exemplarstreuung und Glück, dass es eben exakt 3,3 Volt sind.
Ansonsten kann man das auch mit den Diagrammen deiner ominösen und nicht 
näher benannten Z-Dioden herleiten.

Es fallen ja pro Diode damit nur umrum 1,65 Volt ab, da sich der 
fließende Strom verringert hat. Wenn du den "Vorwiderstand" deiner 
Dioden - und damit den Strom durch die Dioden - veränderst, dann wird 
sich auch der Spannungsabfall verändern.

von (prx) A. K. (prx)


Lesenswert?

Z-Dioden bis etwa 4V haben eine erbärmliche Kennlinie und die 
Nennspannung stellt sich nur beim Nennstrom ein.

von Schlumpf (Gast)


Lesenswert?

Hendrik L. schrieb:
> Definitiv kein Fehler in der Schaltung.

Dann hast du ja alles richtig gemacht!
Und du musst uns keinen Schaltplan zeichnen.

Funktionieren alleine ist noch lange kein Beweis für Fehlerfreiheit der 
Schaltung.

Ich tippe mal drauf, dass die Clamping-Diode des RasPi leitet.

von M. K. (sylaina)


Lesenswert?

Hendrik L. schrieb:
> Aber warum stellen sich EXAKT die 3,30 Volt ein (warum keine 4,1 Volt
> oder die 5 volt vom Atmel (bei anzunehmender 6,6 Pseudo Spannung),
> sprich warum funktioniert es überhaupt) - ergibt sich hier eine
> "automatische" Regelung durch die Kennlinien auf exakt 3,30 Volt - das
> interessiert mich!

Schaltplan & Aufbau ist dafür wichtig. Ziemlich sicher hast du einen 
falschen Aufbau bzw. dein Aufbau ist anders als du meinst. 
Möglicherweise sind die Z-Dioden gar nicht seriell sondern parallel. 
Dann wäre dein Treiber überlastet, der will nämlich auf 5 V rauf und 
wird durch die Z-Dioden auf 3.3.V begrenzt. Eine Z-Diode fordert noch zu 
wenig Strom, deshalb klappt es nicht mit einer Z-Diode sondern du 
brauchst zwei.
Ist nicht untypisch, dass I2C Treiber nur wenige mA Strom liefern 
können, daher dürfen ja auch die Pullups nicht beliebig klein gemacht 
werden sondern brauchen eine bestimmte Größe, typisch sind ja 4.7 kOhm 
was dann einen Strom von 1 mA fordert. Weniger als 1 kOhm stellt oft 
schon eine Überlastung dar.
Das ist auch der Grund warum die Idee mit dem Clampen mit der Z-Diode 
keine gute Idee ist: Das überlastet schlicht den I2C-Treiber.

von Stefan S. (chiefeinherjar)


Lesenswert?

A. K. schrieb:
> Z-Dioden bis etwa 4V haben eine erbärmliche Kennlinie und die
> Nennspannung stellt sich nur beim Nennstrom ein.

Danke, das wollte ich gerade ergänzen.

Schau dir mal Kennlinien einer 3,3 Volt Z-Diode an und lege dann mal die 
Kennlinie einer 20 Volt Z-Diode daneben.

Zumal: Wenn du DEINE EINE Z-Diode mit dem Nennstrom betreiben würdest, 
hättest du auch deinen gewünschten Spannungsabfall von UNGEFÄHR 3,3 
Volt.

von M. K. (sylaina)


Lesenswert?

Hendrik L. schrieb:
> Sind ATtinys ... ich bnötige die maximale Taktfrequenz, darum 5 Volt!

Achja, gibt übrigens noch ein Kniff wie man aus 5 Volt 3.3 V machen 
kann, nennt sich Spannungsteiler. 1 kOhm zu 2 kOhm müssten ungefähr 
hinkommen. Da brauchste keine Z-Diode mehr und brauchst dich nicht auf 
deren ungenaue Kennlinie verlassen.

von Falk B. (falk)


Lesenswert?

Hendrik L. schrieb:
> Hallo zusammen,
>
> ich teste gerade eine I2C-Verbindung zwischen einem Raspberry (3,3 Volt)
> und einem Atmel-MC (5 Volt).
>
> Meine Überlegung: Ich ziehe mit je einer 3,3V Zener-Diode an SCL und SCA
> die Busspannung auf 3,3 Volt, damit die beiden  Rpi Pins keine
> Spannungs-Überlastung erfahren.
>
> Nach meiner Überlegung sollten HIGH und LOW noch im der Atmel -
> Spezifikation liegen und der Bus sollte funktionieren.
>
> Der Laie staunt - der Fachmann wundert sich - es funktioniert!!! Ich
> vermeide somit die ICs zur Spannungsumsetzung auf dem Bus.

Schöner Murks. So ein Pegelwandler für I2C ist ja auch soooo teuer 
und sooo kompliziert.

> Allerdings, es funktioniert nur mit zwei 3,3 Volt seriell geschalteten
> Zener-Diode pro Pin (also 4  Zener - Dioden insgesamt):

Logisch, denn deine 3,3V Zener haben erst bei ca. 10mA ihre 3,3V. Deren 
Kennlinie ist eine arg flache Bananenkurve. D.h. an einem eher 
hochohmigen Bus mit eher schwachen Puul-Ups Widerständen von vielleicht 
2k klemmen die schon bei 2-2,5V.

> Zu Anfang habe ich nur eine Zener-Diode pro Leitung genommen, es stellen
> sich dann aber keine 3,3 Volt ein, sondern nur ca. 2 Volt.

Sag ich doch ;-)

>Ich erkläre
> mir das mit der typischen ANALOGEN Kennlinie bei einer Zener-Diode,

Alle Kennlinien sind analog.

> es
> wird ja keine diskrete Sprungfunktion bei 3,3 Volt geliefert.

Jaja, da hat mal wieder jemand was gehört aber nicht verstanden. Zum 
Nachplappern reicht's gerade noch.

> Und nun die spannende Frage: Warum stellen sich exakt die 3,30 Volt (auf
> zwei Stellen hinter dem Komma genau) bei zwei hintereinandergschalteten
> 3,3 Volt Zener-Dioden an 5 Volt ein. Zufall?

Ja.

> Im Prinzip könnte mir die Begründung egal sein, da die Lösung ja robust
> funktioniert

Unfug! Es funktioniert bei dir auf deinem Basteltisch in diesem Moment! 
Robust ist was anderes. Baue die Schaltung 100mal auf und teste sie 
unter verschiedenen Klimabedingungen, mach ordentliche EMV-Test und dann 
reden wir nochmal über das Thema "robuste Lösung".

> und ich somit den Tranceiver ersetzen kann

Du Held! Damit sparst du der Welt sicherlich Tonnen an Silizium und noch 
viel mehr Tonnen an CO2, das bei dessen Herstellung anfällt. Man sollte 
dich mit dem Greta-Thunberg-Orden 1. Klasse auszeichnen!

> - aber das Thema
> ist schon hochinteressant (für mich).

Ja, so wie für einen 10jährigen die schillernden Farben einer 
Seifenblase. Er hat keinen Schimmer wie das geht, ist aber total 
begeistert.

von jemand (Gast)


Lesenswert?

M. K. schrieb:
> Schlumpf schrieb:
>> Aber warum hängst du den Pullup nicht einfach an 3,3V?
>> Dann brauchst du gar keine Z-Dioden
>
> Oder den Atmel-MC auf 3.3 V laufen lassen, tut ja auch nicht weh ;)

Oder die Leitung auf 3V3 ziehen und zwei kleine FETs als Pegelshifter 
einbauen. Weil ja Atmel so seltsame µC-Eingänge hat, die bei 5V keine 
3V3 lesen können.

Also sowas:
https://www.nxp.com/docs/en/application-note/AN10441.pdf

von Hendrik L. (lbd)


Lesenswert?

Stefan S. schrieb:
> Hendrik L. schrieb:
>> Aber warum stellen sich EXAKT die 3,30 Volt ein (warum keine 4,1 Volt
>> oder die 5 volt vom Atmel (bei anzunehmender 6,6 Pseudo Spannung),
>> sprich warum funktioniert es überhaupt) - ergibt sich hier eine
>> "automatische" Regelung durch die Kennlinien auf exakt 3,30 Volt - das
>> interessiert mich!
>
> Exemplarstreuung und Glück, dass es eben exakt 3,3 Volt sind.
> Ansonsten kann man das auch mit den Diagrammen deiner ominösen und nicht
> näher benannten Z-Dioden herleiten.
>
> Es fallen ja pro Diode damit nur umrum 1,65 Volt ab, da sich der
> fließende Strom verringert hat. Wenn du den "Vorwiderstand" deiner
> Dioden - und damit den Strom durch die Dioden - veränderst, dann wird
> sich auch der Spannungsabfall verändern.

Das werde ich mit zwei (und mehr)  ATTinys austesten. Wahrscheinlich 
hast Du Recht.

Aber dann heisst das, pro ATTiny immer 4 Z-Dioden dieses typs ... und 
ich brauche mir keine weiteren Überlegungen anstrengen.

Z-Dioden sind aus China ....! ;-)

Gruesse

von äxl (Gast)


Lesenswert?

Ich nehm da ne kleine blaue oder weisse LED in 0603. Bei 100Khz kein 
Problem. Sieh Dir auch die Flanken an, ob die Sperrschichtkapazität der 
Dioden Dir hier die Flanken evtl. zu sehr verschleifen. (nur ne Idee)
Hier fliessen doch nur n paar mikroampere durch deine Z-Dioden. der 
Querstrom soll ca. dem zehnfachen des gewünschten Betriebsstroms 
entsprechen. 5V- 3.3V macht 2.7V. das bei 4K7 oder 2k2 Pull-Up ergibt 
gerdemal um 1mA herum, bei 4K7 nur n halbes. Der ATTiny schaltet keine 
5V hart auf den Bus. Die Pull-ups kommen an die 3V3 Leitung. Die 
Open-Drain Ausgänge ziehen das sicher auf Null, H-Pegel wird dann von 
den Pull-Ups an 3V3 sichergestellt.

von Falk B. (falk)


Lesenswert?

A. K. schrieb:
> Z-Dioden bis etwa 4V haben eine erbärmliche Kennlinie und die
> Nennspannung stellt sich nur beim Nennstrom ein.

Es sind eher 7V.

https://de.wikipedia.org/wiki/Zener-Effekt

Ok, der Artikel nennt 5,5V, aber irgendwie stand da mal was von 6V? 
Egal, mein praktische, persönliche Schwelle sind die üblichen 6,8V, die 
es auch als Bauteil gibt.

von M. K. (sylaina)


Lesenswert?

jemand schrieb:
> Oder die Leitung auf 3V3 ziehen und zwei kleine FETs als Pegelshifter
> einbauen. Weil ja Atmel so seltsame µC-Eingänge hat, die bei 5V keine
> 3V3 lesen können.

Da fehlt der Smilie ;)
0,6 * 5,0 V sind bei mir 3,0 V ;)

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

M. K. schrieb:
> Da fehlt der Smilie ;)
> 0,6 * 5,0 V sind bei mir 3,0 V ;)

Wirklich? Da baut man extra 3,3V CMOS mit HIGH>60%VCC, damit man viel 
Störabstand hat (>2V!), und dann kommen Schlaumeier wie du, die meinen, 
0,3V reichen dicke aus. Glückwunsch! Du darfst auch im Winter bei 
Extrembedingungen mit fast abgefahrenen Winterreifen fahren!

von Michael A. (micha54)


Lesenswert?

Hallo,

ich wundere mich, warum in letzter Zeit so oft Z-Dioden gegen 
Überspannung genutzt werden.

Wenn die Versorgung des Raspi ausfällt, dann sind doch auch Spannungen 
unter 3.3 Volt bereits Überspannung. Sehe ich das richtig ?

D.h. der einzige korrekte Schutz wären Dioden gegen die 3.3V des Chips.

Um echte Überspannungen abzuhalten müssen dazu dann nicht noch 
Widerstände im Stromkreis die Ströme begrenzen ?

Gruß,
Michael

von M. K. (sylaina)


Lesenswert?

Falk B. schrieb:
> Wirklich? Da baut man extra 3,3V CMOS mit HIGH>60%VCC, damit man viel
> Störabstand hat (>2V!), und dann kommen Schlaumeier wie du, die meinen,
> 0,3V reichen dicke aus. Glückwunsch! Du darfst auch im Winter bei
> Extrembedingungen mit fast abgefahrenen Winterreifen fahren!

Lieber Falk, die AVRs sind genau so spezifiziert, dass alles, was größer 
0.6 * Vcc (bei Vcc = 2.4 V ... 5.5 V) für sie High ist, vgl. diverse 
AVR/ATTiny-Datasheets. Ebenso ist bei ihnen spezifiziert, dass alles, 
was kleiner 0.3 * Vcc für sie Low ist. Ich sehe daher kein Problem für 
einen AVR, der mit 5 V betrieben wird, ihm ein 3.3 V Signal als High zu 
verkaufen. Damit ist man voll in der Spezifikation des Chips. Wo genau 
siehst du da ein Problem?

von Falk B. (falk)


Lesenswert?

M. K. schrieb:

> verkaufen. Damit ist man voll in der Spezifikation des Chips. Wo genau
> siehst du da ein Problem?

Google Störabstand Toleranzen

von M. K. (sylaina)


Lesenswert?

Falk B. schrieb:
> M. K. schrieb:
>
>> verkaufen. Damit ist man voll in der Spezifikation des Chips. Wo genau
>> siehst du da ein Problem?
>
> Google Störabstand Toleranzen

Was hat der Störabstand denn damit jetzt zu tun? Für den AVR ist bei 5 V 
Vcc alles was 3 V und größer ist High. Der Störabstand ist dem AVR 
völlig egal, solange das Signal über 3 V ist sieht er High, solange es 
unter 1.5 V ist sieht er Low (genauer: Der Störabstand beim AVR ist >= 
0.6 * Vcc für High und <= 0.3 * Vcc für Low). Läge das Signal dazwischen 
würde ich dir zustimmen, liegt es aber nicht. Du siehst hier ein Problem 
wo schlicht kein Problem ist.

: Bearbeitet durch User
von (prx) A. K. (prx)


Lesenswert?

Falk B. schrieb:
>> Z-Dioden bis etwa 4V haben eine erbärmliche Kennlinie und die
>> Nennspannung stellt sich nur beim Nennstrom ein.
>
> Es sind eher 7V.

Das hängt von der persönlichen Grenze zwischen "erbärmlich" und "so 
lala" ab. Auch schon die echten Zenerdioden werden mit steigender 
Spannung besser.

: Bearbeitet durch User
von HildeK (Gast)


Lesenswert?

M. K. schrieb:
> Was hat der Störabstand denn damit jetzt zu tun?

Soviel, dass jetzt eine Störung auf der Leitung in der Größe 0.2V 
ausreicht, um einen falschen Pegel zu erkennen. Bei 5V-Signalen waren 
das noch 2V.

von Falk B. (falk)


Lesenswert?

M. K. schrieb:
> Was hat der Störabstand denn damit jetzt zu tun? Für den AVR ist bei 5 V
> Vcc alles was 3 V und größer ist High. Der Störabstand ist dem AVR
> völlig egal, solange das Signal über 3 V ist sieht er High, solange es
> unter 1.5 V ist sieht er Low (genauer: Der Störabstand beim AVR ist >=
> 0.6 * Vcc für High und <= 0.3 * Vcc für Low). Läge das Signal dazwischen
> würde ich dir zustimmen, liegt es aber nicht. Du siehst hier ein Problem
> wo schlicht kein Problem ist.

[ ] Du weißt, was Störabstand ist.
[ ] Du weißt, was robuste Schaltungstechnik ist
[x] Du bist ein Bastler

von M. K. (sylaina)


Lesenswert?

HildeK schrieb:
> Soviel, dass jetzt eine Störung auf der Leitung in der Größe 0.2V
> ausreicht, um einen falschen Pegel zu erkennen.

0.6 V * 5.0 V sind bei mir 3.0 V. Der Raspi läuft mit 3.3 V. 3.3 V +/- 
0.2 V macht bei mir 3.1 V ... 3.5 V. Liegt immer noch innerhalb der 
Spezifikation des AVRs um einen Highpegel zu erkennen. Sehe also immer 
noch kein Problem.

von Falk B. (falk)


Lesenswert?

M. K. schrieb:
> 0.6 V * 5.0 V sind bei mir 3.0 V. Der Raspi läuft mit 3.3 V. 3.3 V +/-
> 0.2 V macht bei mir 3.1 V ... 3.5 V. Liegt immer noch innerhalb der
> Spezifikation des AVRs um einen Highpegel zu erkennen. Sehe also immer
> noch kein Problem.

Sicher, so wie man den Neumond nicht sehen kann. Er ist trotzdem da ;-)

von M. K. (sylaina)


Lesenswert?

Falk B. schrieb:
> M. K. schrieb:
>> Was hat der Störabstand denn damit jetzt zu tun? Für den AVR ist bei 5 V
>> Vcc alles was 3 V und größer ist High. Der Störabstand ist dem AVR
>> völlig egal, solange das Signal über 3 V ist sieht er High, solange es
>> unter 1.5 V ist sieht er Low (genauer: Der Störabstand beim AVR ist >=
>> 0.6 * Vcc für High und <= 0.3 * Vcc für Low). Läge das Signal dazwischen
>> würde ich dir zustimmen, liegt es aber nicht. Du siehst hier ein Problem
>> wo schlicht kein Problem ist.
>
> [ ] Du weißt, was Störabstand ist.
> [ ] Du weißt, was robuste Schaltungstechnik ist
> [x] Du bist ein Bastler

Ernsthaft? Weil ich das Datenblatt des AVRs gelesen habe und sehe, dass 
ich innerhalb der Spezifikation bleibe bin ich ein Bastler? Wie wäre es 
wenn du mal in das Datenblatt des AVR schauen würdest bevor du solche 
Sprüche klopfst.

von M. K. (sylaina)


Lesenswert?

Falk B. schrieb:
> M. K. schrieb:
>> 0.6 V * 5.0 V sind bei mir 3.0 V. Der Raspi läuft mit 3.3 V. 3.3 V +/-
>> 0.2 V macht bei mir 3.1 V ... 3.5 V. Liegt immer noch innerhalb der
>> Spezifikation des AVRs um einen Highpegel zu erkennen. Sehe also immer
>> noch kein Problem.
>
> Sicher, so wie man den Neumond nicht sehen kann. Er ist trotzdem da ;-)

Richtig. Der Mond ist immer noch da. Genauso sicher wie der AVR ein 3.3V 
Signal bei 5.0 V Vcc als High erkennen wird.

von Tim T. (tim_taylor) Benutzerseite


Lesenswert?

Begreifst du das jetzt echt nicht oder stellst du dich absichtlich doof?

von Sven B. (scummos)


Lesenswert?

M. K. schrieb:
> Ernsthaft? Weil ich das Datenblatt des AVRs gelesen habe und sehe, dass
> ich innerhalb der Spezifikation bleibe bin ich ein Bastler? Wie wäre es
> wenn du mal in das Datenblatt des AVR schauen würdest bevor du solche
> Sprüche klopfst.

Also so schwer finde ich Falks Argument jetzt hier nicht zu verstehen: 
Ja, es geht, aber wenn durch z.B. ein Gerät nebendran eine 1 Vpp Störung 
in die Leitung einkoppelt, ist die Variante mit Pegelwandler noch ok, 
während die Pfusch-Variante dann einfach nicht mehr funktioniert.

Man kann sicherlich für die Bastel-Situation sagen, dass einem das egal 
ist, gutes Design ist es aber nicht.

von Dietrich L. (dietrichl)


Lesenswert?

M. K. schrieb:
> Weil ich das Datenblatt des AVRs gelesen habe und sehe, dass
> ich innerhalb der Spezifikation bleibe bin ich ein Bastler?

Nein, nicht deshalb. Sondern weil du davon ausgehst, dass in einer 
digitalen Schaltung die Signale sauber sind und keine Störungen 
existieren. Sei es, dass diese Störsignale intern durch die 
Schaltvorgänge entstehen und das Layout auch noch einen Teil dazu 
beiträgt, oder sei es, dass sie von extern eingekoppelt werden.

Also kann ich nur zitieren:
Falk B. schrieb:
> [ ] Du weißt, was Störabstand ist.

von Falk B. (falk)


Lesenswert?

M. K. schrieb:
> Richtig. Der Mond ist immer noch da. Genauso sicher wie der AVR ein 3.3V
> Signal bei 5.0 V Vcc als High erkennen wird.

Und ab wann meinst du, daß der Pegel unsicher ist? Ab 3,1V? Ab 3,01V? Ab 
2,99V?

Wieviel robuster ist wohl eine Schaltung, die dem AVR ein 5V Signal 
anbietet im Vergleich zu einem 3,3V Signal? Alles überflüssig?

von Hendrik L. (lbd)


Lesenswert?

M. K. schrieb:
> Falk B. schrieb:
>> Wirklich? Da baut man extra 3,3V CMOS mit HIGH>60%VCC, damit man viel
>> Störabstand hat (>2V!), und dann kommen Schlaumeier wie du, die meinen,
>> 0,3V reichen dicke aus. Glückwunsch! Du darfst auch im Winter bei
>> Extrembedingungen mit fast abgefahrenen Winterreifen fahren!
>
> Lieber Falk, die AVRs sind genau so spezifiziert, dass alles, was größer
> 0.6 * Vcc (bei Vcc = 2.4 V ... 5.5 V) für sie High ist, vgl. diverse
> AVR/ATTiny-Datasheets. Ebenso ist bei ihnen spezifiziert, dass alles,
> was kleiner 0.3 * Vcc für sie Low ist. Ich sehe daher kein Problem für
> einen AVR, der mit 5 V betrieben wird, ihm ein 3.3 V Signal als High zu
> verkaufen. Damit ist man voll in der Spezifikation des Chips. Wo genau
> siehst du da ein Problem?

Ich bin in Sachen AVR, TWi und Raspberry kein Anfänger. Ich weiss schon, 
was ich tue  ....! Habe auch jahrelang mit Pegel Convertern dazwischen 
gearbeitet.

Störabstand spielt keine (nennenswerte) Rolle - habe den Bus auf 20 Mhz 
runtergetaktet - er ist also an sich robust.

Definitiv funktioniert die HIGH - LOW Erkennung bezüglich 3,3 Volt und 
5,0 Volt ATmel - seitig auch absolut ROBUST - die Diskussion ist an 
dieser Stelle nicht zielführend -  ein totaler Nebenkriegsschauplatz.

Ich werde heute Abend einmal eine dritte Z-Diode seriell schalten und 
zudem auch einmal die Ströme messen, die in allen 3 Kosntellationen 
fliessen und berichten.

Bis dahin - enspannt Euch und bleibt nett zueinander ... :-)

Gruesse

von Joachim B. (jar)


Lesenswert?

M. K. schrieb:
> 0.6 V * 5.0 V sind bei mir 3.0 V.

völlig klar es gibt ja bei den 5V auch keine Toleranz, ich würde ja eher 
mit +-5% rechnen, wobei der Atmel auch 5,5V nimmt

wie siehts bei +5,5V aus und davon 60% -> 3,3V

> Der Raspi läuft mit 3.3 V. 3.3 V +/-

ach auch mit NULL Toleranz und wenn der 3,2V hat?

schon ist die schöne Rechnung im Eimer und man sucht sich einen Wolf.

Dann doch lieber Pegelwandler mit FET oder Seriell R 470 Ohm mit 
Ableitdioden von GPIO PI nach VCC 3,3V vom PI, denn bei I2C interessiert 
nur low.

Schlimmer siehts am PI immer bei den Ambilight Jünger aus die regelmäßig 
den Pegelwandler unterschlagen denn WS und APA vollen bis 0,8x VCC.
Es gibt so viele mangelhafte Anleitungen im Netz, das die Realität oft 
untergeht.

von Sven B. (scummos)


Lesenswert?

Hendrik L. schrieb:
> Störabstand spielt keine (nennenswerte) Rolle - habe den Bus auf 20 Mhz
> runtergetaktet - er ist also an sich robust.

i2c bei 20 MHz?
Fast-Mode i2c ist 400 kHz, alles was schneller ist ist schon eine 
Spezialanwendung ...

von Falk B. (falk)


Lesenswert?

Hendrik L. schrieb:

> Ich bin in Sachen AVR, TWi und Raspberry kein Anfänger. Ich weiss schon,
> was ich tue  ....! Habe auch jahrelang mit Pegel Convertern dazwischen
> gearbeitet.

Soso.

> Störabstand spielt keine (nennenswerte) Rolle

Ach was, alles nur Bedenkenträgerei!

>- habe den Bus auf 20 Mhz
> runtergetaktet - er ist also an sich robust.

I2C mit 20 MHz, schon klar.

> Definitiv funktioniert die HIGH - LOW Erkennung bezüglich 3,3 Volt und
> 5,0 Volt ATmel - seitig auch absolut ROBUST

Wie hast du das geprüft? Oder ist das eher ein Glaubenssatz? Glauben 
liegt ja im Trend, Wissen war gestern.

> - die Diskussion ist an
> dieser Stelle nicht zielführend -  ein totaler Nebenkriegsschauplatz.

Du mußt es wissen.

von jemand (Gast)


Lesenswert?

Hendrik L. schrieb:
> Definitiv funktioniert die HIGH - LOW Erkennung bezüglich 3,3 Volt und
> 5,0 Volt ATmel - seitig auch absolut ROBUST - die Diskussion ist an
> dieser Stelle nicht zielführend -  ein totaler Nebenkriegsschauplatz.

Na, wenn du das sagst...
Naja, wer Z-Dioden in den I2C-Bus mit 20MHz baut, wird schon wissen, was 
er tut ;-)

von Alex W. (Gast)


Lesenswert?

Die bessere Vorgehensweise wäre die PullUps für SCL und SDA an die 3V3 
des RasPi zu legen und nicht an die 5V des AVR

von Joachim B. (jar)


Lesenswert?

Alex W. schrieb:
> Die bessere Vorgehensweise wäre die PullUps für SCL und SDA an die 3V3
> des RasPi zu legen und nicht an die 5V des AVR

die üblichen AVR haben kein OC für I2C, high ist dort 5V bei VCC 5V
Dann gibt es noch jede Menge I2C Module die zwar OC wären aber interne 
pullup Arrays auf 5V schalten, RTC Module z.B. nur 2 Pins ablöten macht 
keine Freude wenn die 4er Arrays so winzig sind.

von Hendrik L. (lbd)


Lesenswert?

Falk B. schrieb:
> Hendrik L. schrieb:
>
>> Ich bin in Sachen AVR, TWi und Raspberry kein Anfänger. Ich weiss schon,
>> was ich tue  ....! Habe auch jahrelang mit Pegel Convertern dazwischen
>> gearbeitet.
>
> Soso.
>
>> Störabstand spielt keine (nennenswerte) Rolle
>
> Ach was, alles nur Bedenkenträgerei!
>
>>- habe den Bus auf 20 Mhz
>> runtergetaktet - er ist also an sich robust.
>
> I2C mit 20 MHz, schon klar.
>
>> Definitiv funktioniert die HIGH - LOW Erkennung bezüglich 3,3 Volt und
>> 5,0 Volt ATmel - seitig auch absolut ROBUST
>
> Wie hast du das geprüft? Oder ist das eher ein Glaubenssatz? Glauben
> liegt ja im Trend, Wissen war gestern.
>
>> - die Diskussion ist an
>> dieser Stelle nicht zielführend -  ein totaler Nebenkriegsschauplatz.
>
> Du mußt es wissen.

Sorry - 20 khz natürlich - geschenkt.

/* 
======================================================================== 
==  */
/* 
*/
/*   bcm2835.c 
*/
/*   For Raspberry Pi August 2012 
*/
/*   http://www.byvac.com 
*/
/* 
*/
/*   Description 
*/
/*   This is a bit banged I2C driver that uses GPIO from user space 
*/
/*   There is much more control over the bus using this method and any 
pins   */
/*   can be used. The reason for this file is that the BCM hardware does 
*/
/*   not appear to support clock stretch 
*/
/* 
======================================================================== 
==  */

Ich verwende obige Routinen, um einen TWI des Raspberrys softwareseitig 
zu definieren und anzusteuern.

Bekanntlich haben der bcm2835 und auch der bcm2836 einen TWI (Clock 
Stretching) Bug - siehe beispielhaft hier 
https://github.com/raspberrypi/linux/issues/254

Ich bin mir nicht (mehr) sicher, ob mit dem empfohlenen Bit Banging das 
Clock Stretching hier nun funktioniert:

Monatelang laufen die Schaltungen einwandfrei - dann hängt der Bus auf 
einmal.

Um möglichst viele Ursachen auszuschalten, kombiniere ich 
unterschiedliche Konstellationen. Ich dachte, bei der Verwendung von 
bestimmten Tranceivern in Verbindung mit obiger (empfohlener) Software 
sei das endgültig Problem gelöst - ist es aber (manchmal!) nicht.

Momentan teste ich halt mit Z-Dioden - anstelle Transceivern. Die 
Tranceiver werde ich später wieder verwenden, wenn ich die Ursache als 
nicht Tranceiverseitig identifiziert habe.

Gruesse

von Hendrik L. (lbd)


Lesenswert?

Der TWi Clock Stretching Bug wird hier noch detailierter beschrieben:

http://www.advamation.com/knowhow/raspberrypi/rpi-i2c-bug.html

Gruesse

von Joachim B. (jar)


Lesenswert?

Hendrik L. schrieb:
>> I2C mit 20 MHz, schon klar.
> Sorry - 20 khz natürlich - geschenkt.

also das üben wir noch mal, die I2C Taktraten

Ich kenne 100kHz und fast 400kHz, 20MHz oder 20kHz sind mir noch nie 
begegnet, wobei 20kHz ja am AVR evtl einstellbar sind, jedenfalls 
leichter als 20MHz

von Hendrik L. (lbd)


Lesenswert?

Da brauchen wir nix zu üben (ich jedenfalls nicht) - definitiv 20 khz - 
sorry for misspelling.

Gruesse

: Bearbeitet durch User
von Besserwisser (Gast)


Lesenswert?

Stefan S. schrieb:
> A. K. schrieb:
>> Z-Dioden bis etwa 4V haben eine erbärmliche Kennlinie und die
>> Nennspannung stellt sich nur beim Nennstrom ein.
>
> Danke, das wollte ich gerade ergänzen.
>
> Schau dir mal Kennlinien einer 3,3 Volt Z-Diode an und lege dann mal die
> Kennlinie einer 20 Volt Z-Diode daneben.
>
> Zumal: Wenn du DEINE EINE Z-Diode mit dem Nennstrom betreiben würdest,
> hättest du auch deinen gewünschten Spannungsabfall von UNGEFÄHR 3,3
> Volt.

Die 3,3V kommen aus den ESD-Dioden des Raspberry, miss mal nach, welche 
Spannung der I2C-Bus ohne den Pi hat, das dürften die TV sein.

von M. K. (sylaina)


Lesenswert?

Sven B. schrieb:
> Ja, es geht, aber wenn durch z.B. ein Gerät nebendran eine 1 Vpp Störung
> in die Leitung einkoppelt

Wenn sich auf I2C nen Störsignal mit 1 Vpp einkoppelt hat man aber ganz 
andere Probleme.

Dietrich L. schrieb:
> Nein, nicht deshalb. Sondern weil du davon ausgehst, dass in einer
> digitalen Schaltung die Signale sauber sind und keine Störungen
> existieren. Sei es, dass diese Störsignale intern durch die
> Schaltvorgänge entstehen und das Layout auch noch einen Teil dazu
> beiträgt, oder sei es, dass sie von extern eingekoppelt werden.

Dann lies noch mal genauer.

Falk B. schrieb:
> Und ab wann meinst du, daß der Pegel unsicher ist? Ab 3,1V? Ab 3,01V? Ab
> 2,99V?

Alles was kleiner 0.6*Vcc ist, gemäß der Datenblatt-Spezifikation.

Falk B. schrieb:
> Wieviel robuster ist wohl eine Schaltung, die dem AVR ein 5V Signal
> anbietet im Vergleich zu einem 3,3V Signal? Alles überflüssig?

Ich hab nie gesagt, dass es ohne Pegelwandler robuster ist oder auch 
alles überflüssig ist. Aber wenn man will wird man den Gegenüber auch 
immer falsch verstehen.

Joachim B. schrieb:
> ach auch mit NULL Toleranz und wenn der 3,2V hat?
>
> schon ist die schöne Rechnung im Eimer und man sucht sich einen Wolf.

Nö, bei 3.2 V ist man immer noch in der Spezifikation, dabei ist die 
Rechnung noch lang3e nicht im Eimer ;)

Joachim B. schrieb:
> wie siehts bei +5,5V aus und davon 60% -> 3,3V

Und wie siehts bei 4.5 V aus? Es ist faszinierend wie hier Fälle 
generiert werden, die dann natürlich auch zeigen, dass die 3.3 V nicht 
mehr ausreichend sind.

Interessant, dass noch keiner auf die Idee dabei kam den Raspi statt mit 
3.3 V auf 2.5 V laufen zu lassen...Alles Randbedingungen, die so nicht 
gegeben waren zu Beginn der Diskussion. Wenn mir einer sagt, dass sein 
System mit 5 V läuft dann gehe ich von 5 V aus, nicht von 5.2 V und auch 
nicht von 4.95 V sondern von 5 V.

Vor dem Hintergrund macht eine weitere Diskussion hier schlicht keinen 
Sinn mehr, da bin ich mal raus.

von Joachim B. (jar)


Lesenswert?

Hendrik L. schrieb:
> Da brauchen wir nix zu üben (ich jedenfalls nicht) - definitiv 20 khz -
> sorry for misspelling.
>
> Gruesse

woher hast du den Wert?

https://datasheets.maximintegrated.com/en/ds/DS1307.pdf
SCL Clock Frequency max 100kHz

https://datasheets.maximintegrated.com/en/ds/DS3231.pdf
Fast (400kHz) I2C Interface

http://www.ti.com/lit/ds/symlink/pcf8574.pdf
fSCL= 400 kHz to fSCL= 100 kHz

http://www.ti.com/lit/ds/symlink/pcf8574a.pdf
fSCL= 400 kHz to fSCL= 100 kHz

https://de.wikipedia.org/wiki/I%C2%B2C
Takt und Zustände des Busses
https://de.i2c-bus.org/
Ursprünglich wurde der Bus für eine Übertragungsrate von 100 kbit/s 
definiert

da war noch nie von 20kHz die Rede!

von Schlumpf (Gast)


Lesenswert?

M. K. schrieb:
> Vor dem Hintergrund macht eine weitere Diskussion hier schlicht keinen
> Sinn mehr

Vorallem auch vor dem Hintergrund, dass der TO etwas mit Z-Dioden 
zusammengestrickt hat, nicht weiss, warum es funktioniert und trotzdem 
darauf beharrt, sein Design sei ROBUST!

Den Pullup an 3.3V zu hängen, habe ich bereits ziemlich am Anfang 
vorgeschlagen und es wurde später noch einmal erwähnt.

0.6Vcc ist die Schwelle, wo GARANTIERT über alle Streuungen und 
Temperaturen ein High erkannt wird. In der Realität ist diese Schwelle 
deutlich darunter (ca 2,7V @ 5V Vcc).

Es ist richtig, dass sich ein Fall konstruieren lässt, wo der Atmega mit 
5,5V läuft und rechnerisch die Schaltschwelle im absoluten Worst Case 
dann bei 3.3V liegt.
Aber unter der Annahme, dass der Atmega tatsächlich mit 5V läuft, würde 
ich persönlich sagen, dass 0,3V Störabstand (Worst Case) und 0,6V 
Störabstand (Nominal) für die meisten Anwendungsfälle robust genug sein 
dürfte.
Auf jeden Fall robuster, als das jetzige Design.

Heutzutage gehen die Betriebsspannungen auf 1,2V und kleiner runter. Da 
sind die Störabstände noch kleiner und es funktioniert wunderbar.

von Joachim B. (jar)


Lesenswert?

Schlumpf schrieb:
> Es ist richtig, dass sich ein Fall konstruieren lässt, wo der Atmega mit
> 5,5V läuft und rechnerisch die Schaltschwelle im absoluten Worst Case
> dann bei 3.3V liegt.

es ist auch richtig das die Schaltschwelle bei WS28xx und APA LEDs eben 
bei deutlich über 3,3V liegt auch wenn es im Einzelfall klappt.
(aber OK kein I2C wer unbedingt ein Haar in der Suppe finden will)

: Bearbeitet durch User
von Schlumpf (Gast)


Lesenswert?

Joachim B. schrieb:
> es ist auch richtig das die Schaltschwelle bei WS28xx und APA LEDs eben
> bei deutlich über 3,3V liegt auch wenn es im Einzelfall klappt.

Was das jetzt damit zu tun hat, verstehe ich nicht ganz. Aber deswegen 
schaut man ja auch ins Datenblatt.

Da steht z.B. bei der WS2801, dass VH = 0.8 x Vcc, was bei Vcc=5V einer 
Schaltschwelle von 4V entspricht.

Und was hat das jetzt mit Atmel zu tun?

von Joachim B. (jar)


Lesenswert?


von Schlumpf (Gast)


Lesenswert?

Hendrik L. schrieb:
> ich teste gerade eine I2C-Verbindung zwischen einem Raspberry (3,3 Volt)
> und einem Atmel-MC (5 Volt).

Joachim B. schrieb:
> WS28xx und APA LEDs

Joachim B. schrieb:
> Noch nie 3,3V Atmels gehabt?

Über welche Bauteile könnten wir sonst noch reden? Relais vielleicht?

Der TO hat einen Raspberry (3,3V) und einen Atmel (5V) mit I2C 
verbunden.

Wieso sollten wir uns jetzt über LEDs oder 3,3V Atmels unterhalten?

Läuft der Atmel des TO mit 5,0V und legt man den Pull-R an die 3,3V des 
Raspberry, so bekommt der Atmel einen High-Pegel von 3,3V. Dieser ist 
0,3V über der worst case Schaltschwelle des Controllers (0,6 x Vcc). Und 
ca 0,6V über der nominalen Schaltschwelle des Controllers.

Damit funktioniert das so beim TO.

Ob das mit einem Atmel mit Vcc=3,3V und einer WS28xx mit 5V funktioniert 
(oder auch nicht) spielt doch hier gar keine Rolle

von Bauform B. (bauformb)


Lesenswert?

Joachim B. schrieb:
> Hendrik L. schrieb:
>> Da brauchen wir nix zu üben (ich jedenfalls nicht) - definitiv 20 khz -
>> sorry for misspelling.
>>
>> Gruesse
>
> woher hast du den Wert?
>
> https://de.wikipedia.org/wiki/I%C2%B2C
> Takt und Zustände des Busses
> https://de.i2c-bus.org/
> Ursprünglich wurde der Bus für eine Übertragungsrate von 100 kbit/s
> definiert
>
> da war noch nie von 20kHz die Rede!

Es heißt aber immer und überall 100kbit oder weniger. Erst der SMBus 
spezifiziert eine minimale Frequenz. Im "I2C-bus specification and 
user manual" (UM10204) ist alles in einem Absatz gesagt:
1
4.2.1 I2C/SMBus compliancy
2
3
SMBus and I2C protocols are basically the same: A SMBus master is
4
able to control I2C devices and vice versa at the protocol level.
5
The SMBus clock is defined from 10 kHz to 100 kHz while I2C can be
6
0 Hz to 100 kHz, 0 Hz to 400 kHz, 0 Hz to 1 MHz and 0 Hz to 3.4 MHz,
7
depending on the mode. This means that an I2C-bus running at less than
8
10 kHz is not SMBus compliant since the SMBus devices may time-out.
9
10
Logic levels are slightly different also: TTL for SMBus: LOW = 0.8 V
11
and HIGH = 2.1 V, versus the 30 %/70 % VDD CMOS level for I2C. This
12
is not a problem if VDD > 3.0 V. If the I2C device is below 3.0 V,
13
then there could be a problem if the logic HIGH/LOW levels are not
14
properly recognized.

von Sven B. (scummos)


Lesenswert?

M. K. schrieb:
> Sven B. schrieb:
>> Ja, es geht, aber wenn durch z.B. ein Gerät nebendran eine 1 Vpp Störung
>> in die Leitung einkoppelt
>
> Wenn sich auf I2C nen Störsignal mit 1 Vpp einkoppelt hat man aber ganz
> andere Probleme.

Wenn man die ganze Platine in dem Stil designt dann auf jeden Fall, ja 
;)

von Falk B. (falk)


Lesenswert?

M. K. schrieb:

>> Und ab wann meinst du, daß der Pegel unsicher ist? Ab 3,1V? Ab 3,01V? Ab
>> 2,99V?
>
> Alles was kleiner 0.6*Vcc ist, gemäß der Datenblatt-Spezifikation.

Aha. Also sind auch 3,01V OK. Dream on.
Wieviele robuste Schaltungen hast du bisher entwickelt? Wie hast du sie 
getestet?

> Nö, bei 3.2 V ist man immer noch in der Spezifikation,

Du bist papiergläubig.

von Falk B. (falk)


Lesenswert?

Joachim B. schrieb:
> da war noch nie von 20kHz die Rede!

Mensch Meier, I2C kann mit BIS zu 100kHz im Normalmodus getaktet werden, 
man kann aber problemlos langsamer takten. Dabei wird der Störabstand 
aber nicht notwendigerweise besser. Ein niedrigerer Takt hilft 
bestenfalls bei hoher, kapazitiver Buslast an langen Kabeln oder bei 
vielen ICs.

von Hendrik L. (lbd)


Lesenswert?

Joachim B. schrieb:
> Hendrik L. schrieb:
>> Da brauchen wir nix zu üben (ich jedenfalls nicht) - definitiv 20 khz -
>> sorry for misspelling.
>>
>> Gruesse
>
> woher hast du den Wert?
>
> https://datasheets.maximintegrated.com/en/ds/DS1307.pdf
> SCL Clock Frequency max 100kHz
>
> https://datasheets.maximintegrated.com/en/ds/DS3231.pdf
> Fast (400kHz) I2C Interface
>
> http://www.ti.com/lit/ds/symlink/pcf8574.pdf
> fSCL= 400 kHz to fSCL= 100 kHz
>
> http://www.ti.com/lit/ds/symlink/pcf8574a.pdf
> fSCL= 400 kHz to fSCL= 100 kHz
>
> https://de.wikipedia.org/wiki/I%C2%B2C
> Takt und Zustände des Busses
> https://de.i2c-bus.org/
> Ursprünglich wurde der Bus für eine Übertragungsrate von 100 kbit/s
> definiert
>
> da war noch nie von 20kHz die Rede!

Den Wert von 20 khz stelle ich softwareseitig ein ...! :-)

Wo siehst Du das Problem? Du kannst einen TWI (als nicht synchronen Bus) 
mit allen beliebigen Frequenzen durch den Master takten, Hauptsache die 
Slaves "kommen mit".
Das heisst, der Takt darf nicht die Werte der Datenblätter der Slaves 
überschreiten. Unterschreiten ist immer erlaubt.


Gruesse

von Joachim B. (jar)


Lesenswert?

Falk B. schrieb:
> Mensch Meier, I2C kann mit BIS zu 100kHz im Normalmodus getaktet werden,
> man kann aber problemlos langsamer takten.

habe ich nicht widersprochen, aber ist das die Normalität?

Der TO stellte das für mich so dar, aber darum streite ich nicht. Es ist 
halt das jemand zum ersten Mal für mich 20MHz und 20kHz schrieb.

Was schrieb ich doch noch?

Joachim B. schrieb:
> ...... wobei 20kHz ja am AVR evtl einstellbar sind, jedenfalls
> leichter als 20MHz

von M. K. (sylaina)


Lesenswert?

Falk B. schrieb:
> Aha. Also sind auch 3,01V OK.

Gemäß Datenblatt sind sie das und im Worst Case zählt nur das und nicht 
was irgend jemand irgendwo sagt.

Falk B. schrieb:
> Wieviele robuste Schaltungen hast du bisher entwickelt? Wie hast du sie
> getestet?

Genügend, ich führe keine Strichliste. Und selbst wenn ich jetzt eine 
Zahl nennen würde, wäre dir das denn nicht völlig egal?

Falk B. schrieb:
> Du bist papiergläubig.

Ja, ich glaub einem Datenblatt mehr als einem Forenmitglied. Ich weiß ja 
nicht wie das bei dir so ist aber bei meiner Arbeit kommts einfach 
besser wenn man auf ein Datenblatt verweisen kann, dass jeder 
verifizieren kann als dass man sagen würde "Aber der User Falk auf 
www.mikrocontroller.net hat gesagt...". Kommt hier bei meinem Job 
wirklich besser an zu sagen "Datenblatt x Seite y in Version z, 
Abschnitt k, nennt..."

Ich will damit nicht sagen, dass das, was du sagst, völliger Mumpitz ist 
aber wenn für dich eine in entsprechenden Datenblätter beschriebene 
Grenze nicht ausreichend ist, welchen Abstand zur Grenze müsste man 
deiner Meinung nach denn immer einhalten?

von Mach (Gast)


Lesenswert?

M. K. schrieb:
> Falk B. schrieb:
>> Aha. Also sind auch 3,01V OK.
> Gemäß Datenblatt sind sie das und im Worst Case zählt nur das und nicht
> was irgend jemand irgendwo sagt.

Das ist auch richtig. Jedoch bezieht sich das Datenblatt nur auf den 
eigenen Eingang. Wenn dort 3,01V anliegen, dann reicht das, ist im 
Worst-Case abgedeckt. Als Entwickler musst du sicherstellen, dass diese 
3,01V nie unterschritten werden. Und die Verbindungsleitung kann dir da 
eben einen Strich durch die Rechnung machen. Dazu kommt noch, dass die 
Versorgung selbst gestoert werden kann, unter den Nennwert von 5V 
rutscht und die 3,01V ploetzlich nicht mehr reichen.

von (prx) A. K. (prx)


Lesenswert?

Joachim B. schrieb:
> die üblichen AVR haben kein OC für I2C,

Aber sicher doch, denn I2C(TWI) ohne Open Drain geht nicht.

: Bearbeitet durch User
von Hendrik L. (lbd)


Lesenswert?

Joachim B. schrieb:
> Falk B. schrieb:
>> Mensch Meier, I2C kann mit BIS zu 100kHz im Normalmodus getaktet werden,
>> man kann aber problemlos langsamer takten.
>
> habe ich nicht widersprochen, aber ist das die Normalität?
>
> Der TO stellte das für mich so dar, aber darum streite ich nicht. Es ist
> halt das jemand zum ersten Mal für mich 20MHz und 20kHz schrieb.
>
> Was schrieb ich doch noch?
>
> Joachim B. schrieb:
>> ...... wobei 20kHz ja am AVR evtl einstellbar sind, jedenfalls
>> leichter als 20MHz

20 Mhz - war wohl leicht als Vertipper erkennbar ... wenn ich in diesem 
Zusammenhang Atmel ATTinys angeschlossen habe, die selbst nur mit max. 
20 MhZ (extern) getaktet werden ...

Offensichtlich war das nur Dir unklar .... ;-)

Und was meeinst Du denn mit  "Normalität" ? 100 khz sind keinesfalls 
normaler als 20 khz - den Takt kann ein jeder Entwickler am TWI selbst 
bestimmen (wenn er weiss, wie man das macht) ... und wenn er die 
spezifizierten Max- Werte der Slaves nicht überschreitet.

Oder sind für Dich auch 5 Volt normaler als 4 Volt???

Gruesse

von (prx) A. K. (prx)


Lesenswert?

Hendrik L. schrieb:
> Der TWi Clock Stretching Bug wird hier noch detailierter beschrieben:

Die meisten I2C-Devices wie etwa Sensoren funktionieren am Raspi 
problemlos, weil sie kein Clock Stretching verwenden.

Mikrocontroller als I2C-Slaves hingegen verwenden Clock Stretching in 
der Reaktion des Interrupt-Handlers vom I2C-Modul und sind daher nur 
eingeschränkt mit der I2C-Hardware des Raspi verwendbar.

von Falk B. (falk)


Lesenswert?

M. K. schrieb:
> Falk B. schrieb:
>> Aha. Also sind auch 3,01V OK.
>
> Gemäß Datenblatt sind sie das und im Worst Case zählt nur das und nicht
> was irgend jemand irgendwo sagt.

Bis du so ignorant oder tust du nur so? Der Wert im Datenblatt gibt an, 
was statisch unter Idealbedingungen garantiert wird! Das ist aber nicht 
die Realität! Denn in der gibt es Toleranzen der Treiberspannung (hier 
die 3,3V des Raspberry-PI) sowie eingekoppelte Störungen. Du hast noch 
immer nicht auf das Stichwort "Störabstand" reagiert, vermutlich weil 
dir der Begriff fremd ist.
Warum wohl sind die Grenzen für ein LOW/HIGH eines Ausgangs deutlich 
näher an  GND/VCC als  eines Eingangs? Weil die Differenz als Puffer für 
Toleranzen und überlagerte Störungen genutzt wird! Und je größer die 
ist, umso besser.

>> Du bist papiergläubig.
>
> Ja, ich glaub einem Datenblatt mehr als einem Forenmitglied.

Darum geht es keine Sekunde. Textverständnis mangelhaft!
Gemäß Papier alles richtig gemacht, formal kaum angreifbar, trotzdem 
geht es nicht, Bravo!

> aber wenn für dich eine in entsprechenden Datenblätter beschriebene
> Grenze nicht ausreichend ist, welchen Abstand zur Grenze müsste man
> deiner Meinung nach denn immer einhalten?

Wenn 3V als HIGH spezifiziert sind und ich 3V als High anlege, ist mein 
Störabstand 0mV! Denn jedes mV Toleranz oder Störung kann mich unter den 
garantierten Grenzwert bringen! Also sehe ich zu, daß ich den Abstand 
mit vernünftigem Aufwand maximiere. Sprich, ein 5V CMOS-Eingang wird 
möglichst lehrbuchartig mit 5V CMOS-Ausgangspegeln angesteuert. Die 
sehen so aus!

http://www.interfacebus.com/voltage_threshold.html

Bei 5V VCC sind da für HIGH ca. 4,7V definiert, macht satte 1,7V 
Störabstand zu 3V. Das sind die violetten bzw. blauen Streifen, 
Störabstand bei HIGH/LOW.

Ein Pegelwandler kann das spielend.

Wenn du oder sonst wer meint, darauf verzichten zu können, weil es ja an 
einem sonnigen, ruhigen Tag auf seinem Basteltisch funktioniert, bitte 
schön. Aber wenn dann dieser Jemand behauptet, das wäre eine ROBUSTE 
Lösung, gibt es GEGENWIND! So ein Käse darf nicht unwidersprochen 
bleiben! Es gibt schon genug ungesundes Halbwissen im Internet.

von (prx) A. K. (prx)


Lesenswert?

Ein I2C-Pegelwandler in Form von 2 SMD-MOSFETs ist wirklich kein 
Aufwand.

von Joachim B. (jar)


Lesenswert?

A. K. schrieb:
> Joachim B. schrieb:
>> die üblichen AVR haben kein OC für I2C,
>
> Aber sicher doch, denn I2C(TWI) ohne Open Drain geht nicht.

du kannst auch mit dem Fuss aufstampfen, das ist aber trotzdem kein OC 
open collector!

M. K. schrieb:
> Ja, ich glaub einem Datenblatt mehr als einem Forenmitglied.

damit, der Datenblattgläubigkeit, bin ich schon öfter auf die Nase 
gefallen!

Pollin DCF77 Module, DB sagt 5V ich habe mir 4 Stück abgeraucht, hier im 
forum konnte man nachlesen das es eine Umstellung in den Modulen gab, 
maximal 3V bei den neueren, das DB war falsch beigelegt!

Philips Hochvolt Transitor, alle rauchten ab bei mir: im DB bottom top 
vertauscht!

Nirgends wird mehr gelogen als auf dem Papier, im Netz gibt es natürlich 
manchmal fake news, aber eben nicht immer.

von Mach (Gast)


Lesenswert?

Hendrik L. schrieb:
> Und nun die spannende Frage: Warum stellen sich exakt die 3,30 Volt (auf
> zwei Stellen hinter dem Komma genau) bei zwei hintereinandergschalteten
> 3,3 Volt Zener-Dioden an 5 Volt ein. Zufall?
Die Ausgangsfrage ist ja noch nicht geklaert.
Ich glaub hier nicht an einen Zufall, eher stellt sich die Spannung im 
Raspi ein, wie andere schon spekuliert haben.

Schick mal einen Schaltplan!

von Joachim B. (jar)


Lesenswert?

Mach schrieb:
> .... eher stellt sich die Spannung im
> Raspi ein, wie andere schon spekuliert haben.

der Raspi hat 1,8k pullups nach 3,3V an den I2C Ports

es werden mit einer Z-Diode um 2mA fliessen, lt. Kennlinie sind die 2V 
kein Wunder, 2 Z-Dioden mit 6,6V lassen keinen Strom fliessen also gilt 
der pullup auf 3,3V

Beitrag "Re: 3V6 Zenerdiode mit 4,2 V Spannungsabfall?"

: Bearbeitet durch User
von Schlumpf (Gast)


Lesenswert?

Falk B. schrieb:
> Wenn du oder sonst wer meint, darauf verzichten zu können, weil es ja an
> einem sonnigen, ruhigen Tag auf seinem Basteltisch funktioniert, bitte
> schön. Aber wenn dann dieser Jemand behauptet, das wäre eine ROBUSTE
> Lösung, gibt es GEGENWIND! So ein Käse darf nicht unwidersprochen
> bleiben! Es gibt schon genug ungesundes Halbwissen im Internet.

Was ein Glück, dass die ganzen Schaltungen in 1,8V CMOS Technik mit 
Störabständen von 0,2V ganz unabhängig vom Wetter funktionieren.
Zumindest die, die ich entwickelt habe und die in zig tausendfacher 
Stückzahl im industriellen Umfeld im Einsatz sind..

Was wäre denn deiner Ansicht nach ein Mindest-Störabstand, wo du sagen 
würdest, dass es sich dabei noch um ein robustes Design handelt? Wert? 
Begründung?

Mach schrieb:
> Schick mal einen Schaltplan!

Wurde er jetzt schon 3mal drum gebeten.. aber macht er nicht.

von Falk B. (falk)


Lesenswert?

Joachim B. schrieb:
> Nirgends wird mehr gelogen als auf dem Papier, im Netz gibt es natürlich
> manchmal fake news, aber eben nicht immer.

Vollkommen am Thema vorbei! Daß auch Datenblätter Fehler enthalten 
können ist das eine. Hier ging es aber um einen sinnvollen Eingangspegel 
für einen 5V CMOS-Eingang eines AVRs, welcher als ROBUSTE Lösung 
bezeichnet werden darf.

von Falk B. (falk)


Lesenswert?

Schlumpf schrieb:

> Was ein Glück, dass die ganzen Schaltungen in 1,8V CMOS Technik mit
> Störabständen von 0,2V ganz unabhängig vom Wetter funktionieren.
> Zumindest die, die ich entwickelt habe und die in zig tausendfacher
> Stückzahl im industriellen Umfeld im Einsatz sind..

WOW! Aber M. K. ist sogar NOCH heldenhafter, dem reichen 0mV 
Störabstand!

> Was wäre denn deiner Ansicht nach ein Mindest-Störabstand, wo du sagen
> würdest, dass es sich dabei noch um ein robustes Design handelt? Wert?
> Begründung?

Sagte ich das nicht bereits? Lies meinen Beitrag noch einmal.

von Schlumpf (Gast)


Lesenswert?

Falk B. schrieb:
> dem reichen 0mV
> Störabstand!

Es sind aber 0,3V Störabstand..

Lies meinen Beitrag nochmal:

Schlumpf schrieb:
> 0.6Vcc ist die Schwelle, wo GARANTIERT über alle Streuungen und
> Temperaturen ein High erkannt wird. In der Realität ist diese Schwelle
> deutlich darunter (ca 2,7V @ 5V Vcc).
>
> Es ist richtig, dass sich ein Fall konstruieren lässt, wo der Atmega mit
> 5,5V läuft und rechnerisch die Schaltschwelle im absoluten Worst Case
> dann bei 3.3V liegt.
> Aber unter der Annahme, dass der Atmega tatsächlich mit 5V läuft, würde
> ich persönlich sagen, dass 0,3V Störabstand (Worst Case) und 0,6V
> Störabstand (Nominal) für die meisten Anwendungsfälle robust genug sein
> dürfte.

von Hendrik L. (lbd)


Lesenswert?

Joachim B. schrieb:
> Mach schrieb:
>> .... eher stellt sich die Spannung im
>> Raspi ein, wie andere schon spekuliert haben.
>
> der Raspi hat 1,8k pullups nach 3,3V an den I2C Ports
>
> es werden mit einer Z-Diode um 2mA fliessen, lt. Kennlinie sind die 2V
> kein Wunder, 2 Z-Dioden mit 6,6V lassen keinen Strom fliessen also gilt
> der pullup auf 3,3V
>
> Beitrag "Re: 3V6 Zenerdiode mit 4,2 V Spannungsabfall?"

Interessant - Wenn kein Strom gegen Masse abfliesst, warum liegen dann 
die Spannungen an den RPI-PINs bei exakt 3,30 Volt und nicht bei 5 Volt 
oder sagen wir mal 4,xx Volt???

Wenn Du einen Atmel (5 Volt, TWI-Pegel auf High gezogen) direkt an die 
3,3 Volt Pins des RPI hängst - was ja bekanntlich zur Zerstörung des 
RPI-GPIOs  führen kann - aber nicht muss), ist die Spannung deutlich 
höher als 3,30 Volt ....! Das hält er sogar im Betrieb aus ... habe ich 
schon im Dauerbertieb getestet.

Wenn sich exakt 3,3 Volt einpegeln, lassen die Z-Dioden einen Strom zur 
Masse fliessen, sonst hättest Du keine 3,3 Volt - das ist wohl 
definitiv.

Gruesse

von Falk B. (falk)


Lesenswert?

Hendrik L. schrieb:

> Interessant - Wenn kein Strom gegen Masse abfliesst,

Es fließt Strom durch die Dioden.

> warum liegen dann
> die Spannungen an den RPI-PINs bei exakt 3,30 Volt

Zufall. Die Kennlinie der beiden in Reihe geschalteten Z-Dioden mit dem 
Strom durch den Pull-Up ergibt halt 3,3V.

> Wenn Du einen Atmel (5 Volt, TWI-Pegel auf High gezogen) direkt an die
> 3,3 Volt Pins des RPI hängst - was ja bekanntlich zur Zerstörung des
> RPI-GPIOs  führen kann - aber nicht muss), ist die Spannung deutlich
> höher als 3,30 Volt ....! Das hält er sogar im Betrieb aus ... habe ich
> schon im Dauerbertieb getestet.

Logisch, weil nur der Pull-Up mit wenig Strom nach HIGH zieht und die 
ESD-Dioden im Raspberry Pi leitfähig werden. Dann hat man ca. 4V am IO 
Pin.
Das hält der Raspberry aus, eben weil der Strom begrenzt wird. Macht man 
das mit einem stromstarken 5V Netzteil sieht das anders aus!

von (prx) A. K. (prx)


Lesenswert?

Joachim B. schrieb:
> du kannst auch mit dem Fuss aufstampfen, das ist aber trotzdem kein OC
> open collector!

Dann verrate mal, worauf du raus willst. Also abgesehen von der 
Haarspalterei, dass es bei CMOS sowieso keinen Kollektor gibt.

von Schlumpf (Gast)


Lesenswert?

Nachdem du uns immer noch nicht deinen Schaltplan gezeigt hast, aber 
Joachim schrieb, dass:

Joachim B. schrieb:
> der Raspi hat 1,8k pullups nach 3,3V an den I2C Ports

Und du vermutlich keinen zusätzlichen Pullup verwendet hast, dann ist 
dein High-Pegel eben 3,3V.

Die I2C Pins sind OD-Pins.

Hendrik L. schrieb:
> Wenn sich exakt 3,3 Volt einpegeln, lassen die Z-Dioden einen Strom zur
> Masse fliessen, sonst hättest Du keine 3,3 Volt - das ist wohl
> definitiv.

Nein, ist es nicht.

Oder du hast einen zusätzlichen Pullup gegen 5V geschaltet, dann fließt 
der Strom durch die Clamping-Dioden des Raspi und dein Pegel ist ca 0.5V 
höher als die 3.3V

Aber du postest ja ums Verrecken keinen Schaltplan, sondern ziehst 
lieber falsche Schlüsse aus deinen eigenen Boebachtungen.

von Hendrik L. (lbd)


Lesenswert?

Schlumpf schrieb:
> Nachdem du uns immer noch nicht deinen Schaltplan gezeigt hast, aber
> Joachim schrieb, dass:
>
> Joachim B. schrieb:
>> der Raspi hat 1,8k pullups nach 3,3V an den I2C Ports
>
> Und du vermutlich keinen zusätzlichen Pullup verwendet hast, dann ist
> dein High-Pegel eben 3,3V.
>
> Die I2C Pins sind OD-Pins.
>
> Hendrik L. schrieb:
>> Wenn sich exakt 3,3 Volt einpegeln, lassen die Z-Dioden einen Strom zur
>> Masse fliessen, sonst hättest Du keine 3,3 Volt - das ist wohl
>> definitiv.
>
> Nein, ist es nicht.
>
> Oder du hast einen zusätzlichen Pullup gegen 5V geschaltet, dann fließt
> der Strom durch die Clamping-Dioden des Raspi und dein Pegel ist ca 0.5V
> höher als die 3.3V
>
> Aber du postest ja ums Verrecken keinen Schaltplan, sondern ziehst
> lieber falsche Schlüsse aus deinen eigenen Boebachtungen.

Die PullUps im Atmel ziehen die Spannung an den TWI Pins auf 5 Volt - 
ist doch wohl logisch!
Sonst würde der TWI ja wohl nicht arbeiten! Ich habe doch geschrieben, 
dass der Bus ordnungsgemäss funktioniert. Wie solte das denn sonst 
gehen, wenn keine Pull-Ups im Spiel sind???

Und diese ATMEL TWI-Pins sind direkt mit den 3,3 Volt GPIOs vom RPI 
verbunden.

Die zwei Zenerdioden - seriell verbunden - mit dem RPI-Pin gegen Masse 
verschaltet.

Gruesse

von Hendrik L. (lbd)


Lesenswert?

Falk B. schrieb:
> Hendrik L. schrieb:
>
>> Interessant - Wenn kein Strom gegen Masse abfliesst,
>
> Es fließt Strom durch die Dioden.
>
>> warum liegen dann
>> die Spannungen an den RPI-PINs bei exakt 3,30 Volt
>
> Zufall. Die Kennlinie der beiden in Reihe geschalteten Z-Dioden mit dem
> Strom durch den Pull-Up ergibt halt 3,3V.
>
>> Wenn Du einen Atmel (5 Volt, TWI-Pegel auf High gezogen) direkt an die
>> 3,3 Volt Pins des RPI hängst - was ja bekanntlich zur Zerstörung des
>> RPI-GPIOs  führen kann - aber nicht muss), ist die Spannung deutlich
>> höher als 3,30 Volt ....! Das hält er sogar im Betrieb aus ... habe ich
>> schon im Dauerbertieb getestet.
>
> Logisch, weil nur der Pull-Up mit wenig Strom nach HIGH zieht und die
> ESD-Dioden im Raspberry Pi leitfähig werden. Dann hat man ca. 4V am IO
> Pin.
> Das hält der Raspberry aus, eben weil der Strom begrenzt wird. Macht man
> das mit einem stromstarken 5V Netzteil sieht das anders aus!

GENAU!

Gruesse

von Schlumpf (Gast)


Lesenswert?

Wenn für dich alles immer so logisch erscheint, dann brauchst du ja 
keine weiteren Erklärungen mehr.

Ich hab keine Lust mehr, dir was zu erklären. Du weisst es ja eh besser 
und erkennst in deiner Verblendung nicht, wo dein Denkfehler ist.

Dann glaube einfach weiter, dass es ja nur an der "analogen" Kennlinie 
der Z-Dioden liegen kann.
Alle anderen Erklärungsversuche schmetterst du ja ab.

Bitteschön:
Ja, du hast recht. Es liegt an der Kennlinie der Diode. Das hast du 
hervorragend beobachtet. Schlaues Bürschchen du bist!

von Mach (Gast)


Lesenswert?

AVR - Interner Pullup 50k gegen 5V
Raspi - Interner Pullup 1,8k gegen 3,3V

Also Spannungsteiler mit 0,06V ueber 3,3V, also 3,36V.

Die Dioden ziehen wohl auch noch einen kleinen Tick runter.

Du kannst die Z-Dioden also sogar komplett weg lassen, so robust ist der 
Aufbau :-)

von Schlumpf (Gast)


Lesenswert?

Mach schrieb:
> Du kannst die Z-Dioden also sogar komplett weg lassen, so robust ist der
> Aufbau :-)

Eben.. darum geht es.. die Dioden sind wirkungslos.

von Hendrik L. (lbd)


Lesenswert?

Mach schrieb:
> AVR - Interner Pullup 50k gegen 5V
> Raspi - Interner Pullup 1,8k gegen 3,3V
>
> Also Spannungsteiler mit 0,06V ueber 3,3V, also 3,36V.
>
> Die Dioden ziehen wohl auch noch einen kleinen Tick runter.
>
> Du kannst die Z-Dioden also sogar komplett weg lassen, so robust ist der
> Aufbau :-)

Wenn ich die Dioden weglasse, liegt die Spannung bei 4,xxx - werde ich 
heute Abend noch einmal verfizieren.

Kann also so nicht sein! Strom werde ich auch einmal messen.

Zudem - ich habe (in der Realität - mit Tranceiver) etliche Slaves am 
Bus ... da summieren sich dann die Ströme der PullUps ...!  Die Z-Dioden 
werden also zumindet dann notwendig werden ... wenn ich ohne einen 
Tranceiver arbeite!


Gruesse

von Joachim B. (jar)


Lesenswert?

Hendrik L. schrieb:
> Wenn ich die Dioden weglasse, liegt die Spannung bei 4,xxx -

ungünstig
dann schon eher in die Leitungen Serienwiderstand, ich nehme 470 Ohm, 
andere meinen eher 1k.

Wenn schon Dioden am GPIO vom PI -> BAT42 nach 3,3V VCC vom PI

Somit wird maximal 5V über 470 Ohm zu 3,3V eine Differenz entstehen von 
1,7V an 470 Ohm -> knapp 4mA die über die BAT42 nach VCC 3.3 geleitet 
werden, da wird sich schon ein Abnehmer finden ohne das die VCC 
nennenswert steigt.

I2C reagiert ja nur auf low und 470 Ohm kann beiderseits genügend auf 
low ziehen.

: Bearbeitet durch User
von Msd (Gast)


Lesenswert?

Hendrik L. schrieb:
> Wenn sich exakt 3,3 Volt einpegeln, lassen die Z-Dioden einen Strom zur
> Masse fliessen, sonst hättest Du keine 3,3 Volt - das ist wohl
> definitiv.

Du hackst hier auf absolut unwichtigem herum.

Der Pull-Up nach 5V ist deutlich größer als der nach 3,3 V und schafft 
es aus der Logik schon nicht die 3,3 V allzu stark nach 5 V zu ziehen.

Was wird da so ein Thema draus gemacht.

Du hast keine Ahnung von Treibern und schwadronierst hier herum.

von Hendrik L. (lbd)


Lesenswert?

Msd schrieb:
> Hendrik L. schrieb:
>> Wenn sich exakt 3,3 Volt einpegeln, lassen die Z-Dioden einen Strom zur
>> Masse fliessen, sonst hättest Du keine 3,3 Volt - das ist wohl
>> definitiv.
>
> Du hackst hier auf absolut unwichtigem herum.
>
> Der Pull-Up nach 5V ist deutlich größer als der nach 3,3 V und schafft
> es aus der Logik schon nicht die 3,3 V allzu stark nach 5 V zu ziehen.
>
> Was wird da so ein Thema draus gemacht.
>
> Du hast keine Ahnung von Treibern und schwadronierst hier herum.

Wer spricht denn von "stark"? Wer spricht von auf 5 Volt zu ziehen - 
lediglich Du!

Ich spreche davon, dass ich exakt 3,30 Volt (sogar mit zwei 
unterschiedlichen, hochwertigen  Messgeräten) gemessen habe ... also 
waren die Zenerd-Doden sehr wohl im Spiel, ansonsten wären ja mindestens 
3,36 Volt gemessen worden. Der Logik kann ich folgen.

Wenn sich dann herausstellen wird, dass ich 10 ATTInys mit 5 Volt Pegel 
bequem an den 3,3 Volt GPIOs ohne Probleme (und ohne Tranceiver) 
betreiben kann - dann allein hat sich dieser Thread schon gelohnt und 
ich bedanke mich herzlichst bei allen Beteiligten.

Nun schau'n wir 'mal, wie es weitergeht.

Gruesse

von Mach (Gast)


Lesenswert?

Hendrik L. schrieb:
> Zudem - ich habe (in der Realität - mit Tranceiver) etliche Slaves am
> Bus ... da summieren sich dann die Ströme der PullUps ...!

Du bist echt der Knaller!

Die relevanten sind dann wohl 3,3V Pullups.

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.