Forum: FPGA, VHDL & Co. Microcontroller 5V am 3,3V-PLD


von Bastler (Gast)


Lesenswert?

Wir ersetzen eine alte PLD Schaltung durch einen FPGA, der auf 3,3V 
läuft und keine 5V packt. Angeschlossen ist ein Controller mit 5V 
Ausgängen und Leitungstreibern. Ich habe zwei schnelle, interne 
Kommunikations-Leitungen zu verbinden und will dafür keinen 
Pegelwandler.

Ich möchte einen R mit Z-Diode verwenden, vermute aber, daß ich laut 
Pegelwandler zu langsam sein könnte! Daher habe Ich mir überlegt, 
eine Kapazität beizuschalten, um schneller zu werden.

Die Dimensionierung wäre:

5V-Ausgang (vermutlich maximal 4,7V) über 1000 Ohm an eine Z-Diode mit 
3,7Volt, damit rund 1mA Dauerlast und kaum Belastung für die clamp 
Diode. Der Eingang sieht maximal 3,8V.

Durch einen Kondensator von 220pF parallel zu dem R soll der Impuls 
schnell geleitet werden. Damit es hochfrequent passt, nochmal 330pF 
parallel zur Z-Diode gegen GND. Das gibt wir bei einem Tastkopf einen 
Spannungsteiler von 3/5 und erzeugt 3,0V Puls. Gfs auch 220pf, damit die 
Kapazität der Diode und des Eingangs berücksichtigt werden. Sagen wir 
insgesamt 300pf.(?)

Klappt das?

Die kapazitive Last müsste der Ausgang packen.

von Bastler (Gast)


Lesenswert?

Ich bemerke soeben, dass ich bei den Kapazitäten falsch heum gedacht 
habe: Wenn oben weniger Spannung abfallen soll, dann müsste die 
Kapatität größer dimensioniert werden: Ausgehend von 300pf für 3,3V 
wären es 550pf.

von Schaltplanleser (Gast)


Lesenswert?

Bastler schrieb:
> Ich bemerke soeben, dass ich bei den Kapazitäten falsch heum gedacht
> habe:

Ich bemerke soeben dass Schaltpläne in Prosa scheisse sind.

von Bastler (Gast)


Angehängte Dateien:

Lesenswert?

Ok:

von Joe F. (easylife)


Lesenswert?

Bastler schrieb:
> und will dafür keinen Pegelwandler.
Warum nicht?

Bastler schrieb:
> Ich möchte einen R mit Z-Diode verwenden, vermute aber, daß ich laut
> Pegelwandler zu langsam sein könnte!
Was heisst das "laut Pegelwandler"? Verstehe ich nicht.

Um welche Frequenzen geht es denn eigentlich?

von Michael B. (laberkopp)


Lesenswert?

Bastler schrieb:
> und will dafür keinen Pegelwandler.

Du wirst aber einen brauchen.

von Bastler (Gast)


Lesenswert?

>laut
Ich meine den Artikel.

>warum keinen Pegelwandler
Platz

von Joe F. (easylife)


Lesenswert?

Joe F. schrieb:
> Um welche Frequenzen geht es denn eigentlich?

?

Bastler schrieb:
>>warum keinen Pegelwandler
> Platz

http://www.ti.com/lit/ds/symlink/sn74lv1t34.pdf

: Bearbeitet durch User
von Mampf F. (mampf) Benutzerseite


Lesenswert?

Bastler schrieb:
> 5V-Ausgang (vermutlich maximal 4,7V) über 1000 Ohm an eine Z-Diode mit
> 3,7Volt, damit rund 1mA Dauerlast und kaum Belastung für die clamp
> Diode. Der Eingang sieht maximal 3,8V.

Die Z-Diode kannst du dir sparen ... Solange der Strom durch die 
Clamping-Diode nicht zu hoch ist, gibt es da keine Probleme. Das macht 
man ja oft bei FPGA Designs so ... Das hab ich auch schon so gemacht und 
auch mit den Geschwindigkeiten keine Probleme gehabt.

Da reicht normal ein einzelner Widerstand :)

Man muss allerdings auf etwas aufpassen: Die Summe der Ströme, die über 
die Clamping-Diode fließen, müssen an einem R parallel zur 3,3V 
Betriebsspannung verbraten werden, da sonst die 3,3V steigen könnten.

Zum sauberen Pegelwandeln hab ich gelegentlich auch den 74LVX245 
verwendet :)

Ah und welcher PLD ist das? Die z.B. XC9572 haben zB 5V-tolerante 
Eingänge ...

: Bearbeitet durch User
von Hurra (Gast)


Lesenswert?

Mampf F. schrieb:
> Bastler schrieb:
>> 5V-Ausgang (vermutlich maximal 4,7V) über 1000 Ohm an eine Z-Diode mit
>> 3,7Volt, damit rund 1mA Dauerlast und kaum Belastung für die clamp
>> Diode. Der Eingang sieht maximal 3,8V.
>
> Die Z-Diode kannst du dir sparen ... Solange der Strom durch die
> Clamping-Diode nicht zu hoch ist, gibt es da keine Probleme. Das macht
> man ja oft bei FPGA Designs so ... Das hab ich auch schon so gemacht und
> auch mit den Geschwindigkeiten keine Probleme gehabt.

Du gibst da gefährliche Empfehlungen.
Oft ist das so NICHT möglich, weil nicht jedes FPGA Clampingdioden hat.

Ein kleines Beispiel:
Bei ALTERA Cyclone III ist diese Vorgehensweise jedenfalls 
beispielsweise ganz sicher nicht erlaubt:
https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/cyc3/cyclone3_handbook.pdf
Siehe Table 1-1 und ff.

Ein Kollege hier hat deine "wundervolle" "Idee" mit einem Cyclone III 
ausprobiert, mit fatalen Folgen. Das Zeug ist dann beim Kunden 
gestorben, weil am Labortisch hat es durchgehalten.

Ohne Blick ins Datenblatt sollte man solche Empfehlungen niemals geben!

Meine Empfehlungen wären:
- Spannungsteiler für das Signal (schnell + billig)
- 5V-Tolerante Gatter wie 74HC1G125 mit 3V3-Versorgung
- Datenblatt genau sichten - vielleicht sind die Eingänge ja 5V-Tolerant

Die Z-Diode ist Mist. Weil sie
- eine viel zu hohe Kapazität hat (langsam)
- viel zu teuer ist (teurer als der Spannungsteiler jedenfalls!)
- viel zu ungenau ist (gefährlich)

von Markus F. (mfro)


Lesenswert?

Hurra schrieb:
> u gibst da gefährliche Empfehlungen.
> Oft ist das so NICHT möglich, weil nicht jedes FPGA Clampingdioden hat.
>
> Ein kleines Beispiel:
> Bei ALTERA Cyclone III ist diese Vorgehensweise jedenfalls
> beispielsweise ganz sicher nicht erlaubt:
> 
https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/cyc3/cyclone3_handbook.pdf
> Siehe Table 1-1 und ff.
>
> Ein Kollege hier hat deine "wundervolle" "Idee" mit einem Cyclone III
> ausprobiert, mit fatalen Folgen. Das Zeug ist dann beim Kunden
> gestorben, weil am Labortisch hat es durchgehalten.

Sicherlich ist der Pegelwandler die bessere Option, aber gerade beim 
Cyclone III ist das m.E. durchaus eine erlaubte und offiziell 
abgesegnete Vorgehensweise: 
https://www.altera.com/en_US/pdfs/literature/hb/cyc/cyc_c51011.pdf

Allerdings ist Vorsicht angesagt: im Dokument ist (ein wenig versteckt) 
der Pferdefuß erwähnt: die Clamping-Dioden werden erst aktiv, nachdem 
die Konfiguration abgeschlossen ist.

Bis dahin kann man den Käfer noch prima rösten.

von Mampf F. (mampf) Benutzerseite


Lesenswert?

Markus F. schrieb:
> ist das m.E. durchaus eine erlaubte und offiziell
> abgesegnete Vorgehensweise:

Bei Xilinx hab ich das auch schon in den offiziellen Dokumenten gelesen. 
Dort wurde sogar vorgerechnet, wie man den Vorwiderstand richtig 
dimensioniert.

Ich glaube, es wäre eine gute Idee, wenn der TE noch erwähnen würde, was 
es denn für ein PLD ist.

> die Clamping-Dioden werden erst aktiv, nachdem
> die Konfiguration abgeschlossen ist.

Ui, das ist gemein! Das kannte ich noch nicht. Danke für den Hinweis! :)

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Manche CPLDs (Altera MAXII) haben nur an einer Seite des ICs 
Clamping-Dioden, also ein Viertel der Pins. Für "PCI-Bus" heisst das im 
Datenblatt.

Ich habe das Problem bei einem Redesign mit den doppelten 74xx245 
gelöst, 16 bidirektionale Pegelwandler in einem kleinen TSSOP von TI. 
Man muss beim Redesign aber noch zusätzliche Signale für die 
Richtungsumschaltung bei bidirektionalen Leitungen erfinden.

von Georg A. (georga)


Lesenswert?

Da muss man inzwischen echt aufpassen und sich nicht auf auf Klemmdioden 
verlassen. Auch bei 3.3V-Einzelgatter-Kleinkram, der explizit 5V 
kompatibel ist, gibt es dann nichts weiteres. Hab da mal mit 74AHC1G32 
Lehrgeld bezahlt, da konnte man ohne nennenswerten Strom (<1mA) an den 
Eingängen bis 12V. Leider hat sich damit dauerhaft der Erkennungpegel 
für die 1 von 1.0V auf 2V verschoben... In der Anwendung haben kurze 
10V-Pulse von ~100us das langsam auf 1.5V verschoben... An sich 
funktioniert hat der Chip aber weiterhin :-O

von Clemens L. (c_l)


Lesenswert?

Hurra schrieb:
> - Spannungsteiler für das Signal (schnell + billig)

Das empfiehlt TI in http://www.ti.com/lit/pdf/spna087 (Kapitel 3.2).

> - 5V-Tolerante Gatter wie 74HC1G125 mit 3V3-Versorgung

HC ist nicht 5V-tolerant, aber AHC/VHC.

: Bearbeitet durch User
von Michael B. (laberkopp)


Lesenswert?

Bastler schrieb:
>>warum keinen Pegelwandler
> Platz

Aber Platz für Widerstand, 2 Kondensatoren und Z-Diode ?

Das ist doch abstrus, jeder SOT23 wäre kleiner.

: Bearbeitet durch User
von Clemens L. (c_l)


Lesenswert?

Georg A. schrieb:
> Da muss man inzwischen echt aufpassen und sich nicht auf auf Klemmdioden
> verlassen. Auch bei 3.3V-Einzelgatter-Kleinkram, der explizit 5V
> kompatibel ist, gibt es dann nichts weiteres.

Die 5V-Kompatibilität wird ja auch durch Weglassen der Diode zu Vcc 
erreicht.

> Hab da mal mit 74AHC1G32 Lehrgeld bezahlt, da konnte man ohne
> nennenswerten Strom (<1mA) an den Eingängen bis 12V. Leider hat sich
> damit dauerhaft der Erkennungpegel für die 1 von 1.0V auf 2V verschoben...

Das Datenblatt erlaubt ja auch nicht mehr als 5 V. Und 
http://www.ti.com/lit/pdf/SCLA013 sagt:
> Input voltages greater than 7 V must be avoided to preclude damage to
> the gate oxide of the input stage. This damage is not necessarily
> permanent, but will adversely affect the expected lifetime of the
> circuit. The gate oxide of AHC devices is only 200 Å thick. An input
> voltage of 7 V corresponds to a field strength over the gate oxide of
> 350 kV/cm. Although breakdown of the oxide is expected only at input
> voltages above 10 V, electrons tunnel increasingly into the gate oxide
> at field strengths greater than 350 kV/cm, influencing characteristics
> of the transistors and causing failure.

von Georg A. (georga)


Lesenswert?

Jaja, nachher ist man immer schlauer.

von Markus F. (mfro)


Lesenswert?

Clemens L. schrieb:
> Das empfiehlt TI in http://www.ti.com/lit/pdf/spna087 (Kapitel 3.2).

Ich bin's gewohnt, daß Datenblätter und AN's eher fade Kost sind.

Erstaunlich, ausgerechnet bei TI diesen Schatz zu finden:

> R1 must be set large enough to avoid exceeding the device pin’s
> maximum input clamp current in the event that some rocket scientist
> uses double battery (24 V) to crank the vehicle in the winter.

hat bei mir zumindest einen Lacher erzeugt ;)

von J. S. (engineer) Benutzerseite


Lesenswert?

Mampf F. schrieb:
> Ich glaube, es wäre eine gute Idee, wenn der TE noch erwähnen würde, was
> es denn für ein PLD ist.

Es ist ein FPGA:

Bastler schrieb:
> Wir ersetzen eine alte PLD Schaltung durch einen FPGA, der auf 3,3V

und der ist wohl nicht 5V kompatibel.


Georg A. schrieb:
> Da muss man inzwischen echt aufpassen und sich nicht auf auf Klemmdioden
> verlassen. Auch bei 3.3V-Einzelgatter-Kleinkram, der explizit 5V
> kompatibel ist, gibt es dann nichts weiteres

So ist es. Diese Dioden sind eine reine Notlösung gegen kurze Impulse 
und sollten nach Möglichkeit nicht mit eindesigned werden. Die packen 
nicht viel Strom und müssen sogar hinsichtlich ihrer ureigensten 
Bestimmung bei EMV-problematischen Schaltungen mit ESD-Dioden gestützt 
werden.

Die Z-Diode hätte genau diese Funktion, wenn man unterstellt, dass mehr 
reinkommen kann, als die 5 Volt, weil ein reiner Spannungsteiler über R 
und C anteilig mitgehen würde. Die Z-Diode sollte aber so dimensioniert 
sein, dass sie bei 3,3V noch gar nicht leitet, sondern erst kurz 
unterhalb der Klemmdioden den Strom wegnimmt.

Wenn man annehmen kann, dass nur die veranschlagten 5V kommen, kann man 
die Z-Diode weglassen. Dann ist auch weniger Kapazität zu treiben. Wenn 
die Eingangskapazität bekannt ist, kann man auch den parallel C 
weglassen und nur einen C über dem R verwenden. Bei Dimensionieren des 
Spannungsteilers muss gfs noch der Ausgangswiderstand des Treibers mit 
rein.

von Bastler (Gast)


Lesenswert?

Ich danke für all die interessanten Vorschläge. Das heisst also Diode 
weglassen und gegen einen R ersetzen?

Mit welchen Eingangswiderständen kann man da operieren? Der Rout des 
Leitungstreibers ist laut Datenblatt bei 50 Ohm angesiedelt.

von Joe F. (easylife)


Lesenswert?

Bastler schrieb:
> Das heisst also Diode
> weglassen und gegen einen R ersetzen?
>
> Mit welchen Eingangswiderständen kann man da operieren?

Wenn du vielleicht irgendwann mal verraten würdest, welche Frequenz dein 
Signal hat könnte man da auch eine Aussage machen...

von Bastler (Gast)


Lesenswert?

6 MHz etwa wären zu veranschlagen.

von Joe F. (easylife)


Angehängte Dateien:

Lesenswert?

Also, ich würde mal von großzügigen 20pF Eingangskapazität am FPGA 
ausgehen.
Mit einem einfachen Widerstandsteiler 500 Ohm / 1K kommst du von 5V auf 
3.3V.
Die 500 Ohm kann man sich bequemerweise durch parallelschalten von 2x1K 
herstellen.

Die Impedanz dieses Teilers ist 333 Ohm, ergibt eine Grenzfrequenz von 
24MHz (Teiler + Eingangskapazität).
Bei 6 MHz hast du eine Dämpfung von ca. -0.3dB - passt also.

Signal sieht dann so aus wie im Anhang (out1).

Wenn einem die Flanken zu "langsam" sind, könnte man noch 15-22pF 
parallel zum 500 Ohm Widerstand legen (out2). Mehr sollten es aber nicht 
sein.

Für professionelle Schaltungen würde ich dennoch zum Pegelwandler raten, 
bei SOT-23 lasse ich das Platzproblem nicht gelten ;-)

http://www.ti.com/lit/ds/symlink/sn74lv1t34.pdf

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Kannst Du nicht auch den Controller durch eine 3.3V Version ersetzen? 
Was ist das für einer?

fchk

von Bastler (Gast)


Lesenswert?

Frank K. schrieb:
> Kannst Du nicht auch den Controller durch eine 3.3V Version ersetzen?
> Was ist das für einer?

Nein, kann Ich nicht. Das board bleibt unverändert.

@Joe: Warum kommt denn überhaupt noch ein Ladeverhalten zustande? Ich 
dache, wenn man die C/C und die R/R abgleicht, müsste man ein Rechteck 
bekommen?

Um 6MHz zu übertragen, hätten Ich gerne wenigstens die 5. Oberwelle gut 
erhalten.

von Bastler (Gast)


Lesenswert?

Ach so, jetzt sehe Ich es ja: In der rechten Zeichnung haben wir ja den 
Abgleich. Womit ist das bitte gerechnet?

von Joe F. (easylife)


Angehängte Dateien:

Lesenswert?

Bastler schrieb:
> Warum kommt denn überhaupt noch ein Ladeverhalten zustande? Ich
> dache, wenn man die C/C und die R/R abgleicht, müsste man ein Rechteck
> bekommen?

Wenn die Eingangskapazität des FPGA genau bekannt wäre, dann könnte man 
es exakt kompensieren. Man beachte den Konjunktiv... ;-)

Mein Schaltungsvorschlag mit 22pF kompensiert die angenommenen 15pF 
nicht zu 100%. Ich würde aber eher unterkompensieren, als 
Spannungsspitzen riskieren.
Anbei verschiedene Szenarien der Kompensation.

Bastler schrieb:
> Womit ist das bitte gerechnet?

In erster Linie etwas Kopfarbeit.
Du benötigst einen Spannungsteiler 1:2, der auch bei niedrigen 
Frequenzen korrekt arbeitet. Ein Kriterium hierbei ist, dass nicht zu 
viel Strom fließen muss. Ein paar mA sind in der Regel akzeptabel.
Gleichzeitig bildet der Spannungsteiler mit der Eingangskapazität einen 
Tiefpass, und man möchte nicht, dass bei der angepeilten Signalfrequenz 
wesentlich Pegel verloren geht. Daher sollte also die Grenzfrequenz des 
Tiefpasses - der durch den Spannungsteiler und die Eingangskapazität 
gebildet wird - min. 2 Oktaven über der Frequenz des Signals liegen.
In deinem Fall mit 6 MHz Signal und 15pF Eingangskapazität ist das noch 
recht günstig, da ein Spannungsteiler 500 Ohm / 1K etwa 3.3mA benötigt, 
und fc bei etwa 24 MHz liegt, also 2 Oktaven oberhalb 6 MHz.
Bei höheren Frequenzen des Signals wird das zunehmend zum Problem, denn 
der Spannungsteiler müsste niederohmiger werden, und hier stößt man dann 
irgendwann an Grenzen des Vertretbaren (benötigter Stromfluß). Deswegen 
meine beharrliche Nachfrage nach der Signalfrequenz ;-)

Für die Frequenzkompensation benötigt man einen kapazitiven 
Spannungsteiler im exakt gleichen Verhältnis des ohmschen Teilers. Bei 
den angenommenen 15pF wären das also 30pF.
Da man aber eher unterkompensieren möchte, sollte man also mit der 
Kapazität zur Kompensation eher unter diesem Wert bleiben.
Mit einem Oszilloskop kann man das auch nur schwer überprüfen, denn die 
zusätzliche Kapazität des Tastkopfes verfälscht die Realität. Man denkt 
dass man ein unterkompensiertes Signal sieht, aber in Wirklichkeit hat 
man Spitzen auf dem Signal sobald der Tastkopf entfernt ist.
Daher: mit der Kompensation nicht übertreiben.

Die Simulationen zur Illustration sind mit LTSpice gemacht, jedes andere 
Spice Tool tut es auch.

Gute Literatur zum Thema Frequenzkompensation:
http://www.schruefer-messtechnik.de/EMT-Uebungen/Loesungen/2.2.2-tastkopf-02b.pdf

: Bearbeitet durch User
von Joe F. (easylife)


Angehängte Dateien:

Lesenswert?

Und hier noch zur Illustration, was ein unpassender (zu hochohmiger) 
Spannungsteiler (gemäß der TI-Empfehlung 
Beitrag "Re: Microcontroller 5V am 3,3V-PLD") mit 
dem 6 MHz Signal bei 15pF Eingangskapazität anrichtet.
Ab ca. 300 KHz kommt dieser Spannungsteiler an seine Grenzen.

: Bearbeitet durch User
von Bastler (Gast)


Lesenswert?

komisch, dass TI sowas empfielt (???). Die müssten es doch wissen.

Benutzt eigentlich jemand TINA zur Analogsimulation?

http://www.ti.com/tool/tina-TI

Damit müsste das doch gehen, oder?

von Clemens L. (c_l)


Lesenswert?

Bastler schrieb:
> komisch, dass TI sowas empfielt (???). Die müssten es doch wissen.

Sie schreiben ja auch:
> Using the same argument from above that 10K input impedance yields an
> acceptable time constant, the two resistors can be calculated: [...]

Wenn du eine kleinere Zeitkonstante brauchst, dann kommen halt auch 
kleinere Widerstände heraus.

von J. S. (engineer) Benutzerseite


Lesenswert?

Wozu soll man noch einen C parallel schalten, wenn es eh schon eine 
Kapazität gibt, die einen Tiefpass bildet? Komische Schaltung! Wirklich 
von TI?

Sinn macht der C alleine nur oben in Serie mit dem anderen.

Es kann aber sein, dass es darum geht, die Bandbreite zu begrenzen, denn 
einen scheinbar abgeglichenen Pfad will eigentlich keiner haben, weil 
der unnötige Reflexionen und Überschwinger erlaubt.

Egal: Mit DEN Werten im pF-Bereich wird das eh nix, weil Leiterbahn, Pin 
und Vieles mehr den Abgleich verfälschen. Wenn, müssen die Kapazitäten 
dominant sein. Dann kommt man bei höheren Frequenzen aber schnell zu 
erklecklich hohen Strömen. Für einen Eingang kann man das aber so 
machen. Ansonten besser einen schnellen Transistor.

von Clemens L. (c_l)


Lesenswert?

Jürgen S. schrieb:
> Wozu soll man noch einen C parallel schalten, wenn es eh schon eine
> Kapazität gibt, die einen Tiefpass bildet? Komische Schaltung! Wirklich
> von TI?

In Joes Simulation repräsentiert C10 die parasitäre Kapazität des 
PLD-Eingangs.

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.