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.
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.
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.
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?
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 ...
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)
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.
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! :)
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.
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
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.
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.
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.
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 ;)
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.
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.
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...
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
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.
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
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.
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?
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.
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.
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.