Forum: FPGA, VHDL & Co. Frage zum Pegel sowie der I- und U-Festigkeit der PLD-Ausgänge


von Ralf K. (Gast)


Lesenswert?

Das Forum wurde mit von einem Kollegen empfohlen:

Ich möchte mit einem PLD, das mit 3,3V betrieben wird eine Schaltung 
treiben, die einen Pegel von mindestens 3,0V benötigt, um sicher zu 
schalten.

Frage: Kommt das PLD mit 3,3V auf die 3,0 hoch? Mit wieviel 
Spannungsabfall habe ich zu rechnen (Das PLD wird ja wohl kaum an die 
Betriebsspannung herankommen). Die Belastung liegt bei maximal 20mA.

Ich sorge mich darum, dass es gerade nicht reichen kann, da das PLD über 
ein Kabel über Distanz treibt. Zum Schutz besteht noch ein 100 Ohm 
Widerstand, den ich gerne für einen Trick nutzen möchte:

Ich möchte den Ausgang des PLD nur auf GND und Z treiben (statt auf Hi) 
und ihn von aussen mit einem drübergelöteten R gegen 4V pullen.

Nun hat der PLD, der in Zukunft ein FPGA werden wird, eine Klammerdiode, 
die auf 3,3V begrenzt. Ich denke mir, dass die Diode selber auch 0,3V 
verbraucht, sodass man bedenkenlos auf 3,5 - 3,6 V hochziehen könnte.

Ich würde dann einen 470 Ohm-Widerstand gegen 4V legen, der in Reihe mit 
den 100 Ohm zu etwa 1mA Strom - und damit 100mV über den 3,3V führen 
müsste.

Frage geht das? Können das die Ausgänge ab?

Runtergezogen müsste ich bei geschätzt (50+100)/(50+100+470) = 1/4V = 
0,4V laden, was passt.

Der Ausgang muss nicht schnell sein, 1uS Schaltzeit reichen.

von P. K. (pek)


Lesenswert?

Ist ein Levelshifter kein Thema?

von R.K. (Gast)


Lesenswert?

Nur als redesign, nicht als Sofortmassnahme.

von Ottmar (Gast)


Lesenswert?

Da du ja 20 mA treiben willst benötigst du einen Pull-Up von 50 Ohm  um 
die gewünschten 3V hinten noch zu bekommen.

(4V-3V)/20mA = 50Ohm

Die 50 Ohm gegen 4V werden wohl im unbelasteten Fall einen ordentlichen 
Rückwertsstrom ergeben. Bei den angenommenen 0,4V Abfall am R ergeben 
sich 8 mA. Wie groß dieser ist, wird dir wahrscheinlich nur eine Messung 
sagen.
Vorsicht: Versogungsspannungsschwankungen sind hier noch gar nicht 
betrachtet.

Größeres Problem: Vom Hersteller bekommt man oft keinen maximalen 
dauerstrom für die clamping Dioden.


...
Wenn man sowas genau im voraus berechnen will. Im IBIS modell von 
Logikbausteinen ist auch eine V-I Kurve der Clamping Diode drin.
...

von R.K. (Gast)


Lesenswert?

Den Einwand verstehe ich nicht. Bei abgeschaltetem Treiber ("Z") treibt 
doch nur der Widerstand in die Folgeschaltung und das mit 4V/(Ri+470). 
Der Ri der Folgeschaltung ist ja recht hoch, also geschätzte 5k sage ich 
mal.

Mit IBIS Simulation habe ich keine Erfahrungen. Was bräuchte ich dazu?

von R.K. (Gast)


Lesenswert?

Ach jetzt sehe ich es: Ich habe mich verschrieben. Der Ausgang muss 20uA 
treiben! (nicht mA).

Zum Rückwärtsfall nochmal:

Angenommen, die Dioden haben 0,2V (Schottky?), dann schalten sie ab 3,5V 
auf. Mit einem grösseren Ra von 200 Ohm könnte man 1mA als maximalen 
Schutzstrom zulassen und dennoch 200mV gewinnen. Macht 3,7V Pegel. Ab da 
regelt die Diode die Spannung. Inklusive AC und DC-Einbrüchen von 
geschätzt 0,5V bin ich locker über der SPEC.

von Helmut L. (helmi1)


Lesenswert?

Du weist aber auch das CMOS Ein/Ausgaenge es nicht besonders schaetzen 
wenn ihr Potential ueber die Versorgungsspannung kommt. Es koennte dann 
zu einem Latchup kommen wenn der Strom durch die Kapp-Diode zu hoch 
wird. Die sind normalerweise nur zur Ableitung von ESD da.
Warum nimmst du nicht einen Pegelwandler.

von lkmiller (Gast)


Lesenswert?

Ich frage mich: warum '0' und 'Z'? Was spricht gegen eine aktive '1'?
Der Rest könnte funktionieren, bei Xilinx wurde sowas für die S3 
Eingänge und für PCI mal dokumentiert.

von Rudolph (Gast)


Lesenswert?

Ralf K. schrieb:
> Ich möchte mit einem PLD, das mit 3,3V betrieben wird eine Schaltung
> treiben, die einen Pegel von mindestens 3,0V benötigt, um sicher zu
> schalten.

Typisches Problem mit alten CMOS-Bausteinen.

Ralf K. schrieb:
> Ich möchte den Ausgang des PLD nur auf GND und Z treiben

Gängig.

Ralf K. schrieb:
> von aussen mit einem drübergelöteten R gegen 4V pullen

Warum auf 4V? Warum nicht auf 3.3V pullen, das reicht doch für deinen 
Eingang? Das ganze Clampinggedöns kann man sich dann sparen, mal 
abgesehen davon, dass eine 4V-Versorgung in der Regel auch nicht mal so 
auf dem Board rumliegt.

von Frager (Gast)


Lesenswert?

lkmiller schrieb:
> Ich frage mich: warum '0' und 'Z'? Was spricht gegen eine aktive '1'?

Das macht wohl keinen Unterschied, denke ich, denn wenn die Spannung von 
Aussen jenseits der C-Dioden liegt, fliesst nur Strom durch die Diode. 
Wenn der Ausgang geschaltet ist, wird dort gfs ein Treiber getrieben - 
daher ist Abschalten besser. Dort wo das nicht geht, muss eine Diode 
her.

Rudolph schrieb:
> Warum nicht auf 3.3V pullen, das reicht doch für deinen
> Eingang?
Wenn die 3.3 reichen würden, bräuchte er nicht zu tricksen. So, wie ich 
es verstanden habe, reichen im die 3.3V nicht, wegen der Sicherheit.

Den Minimalpegel von 3.5V bekommt man auch mit geringerem Strom hin, 
wenn man den Ausgangswiderstand erhöht und eine Diode parallel schaltet 
für die Vorwärtsrichtung.

Sowas kann man in die bestehende Schaltung locker einflicken. Letztlich 
würde ich aber ein  redsign anraten und einen Wandler draufsetzen.

von Rudolph (Gast)


Lesenswert?

Frager schrieb:
> So, wie ich
> es verstanden habe, reichen im die 3.3V nicht, wegen der Sicherheit.

Diesen Eindruck hatte ich nicht:

Ralf K. schrieb:
> Frage: Kommt das PLD mit 3,3V auf die 3,0 hoch?

Ich hab' verstanden dass er nur 3.0V braucht.

I/U-Kurven für den XC95xxXL (der OP hat ja leider verschwiegen was für 
ein PLD eingesetzt wird) gibt es übrigens in der XAPP150: 
http://www.xilinx.com/support/documentation/application_notes/xapp150.pdf

von Ottmar (Gast)


Lesenswert?

Bei 20 uA Last sollte der PLD Ausgang eigentlich noch die 3V erreichen.
--> einfach mal messen.

von J. S. (engineer) Benutzerseite


Lesenswert?

Solange wir das PLD nicht kennen, lässt sich da wenig sagen, aber für 
den FPGA habe gerade wieder einen ähnlichen Fall:

Laut Datenblatt beträgt die "I/O input voltage or voltage applied to 
3-state output, relative to GND(4)" beim Spartan 6 "–0.60 to 4.10" für 
den DC-Fall und darf kurzzeitig auch darüber sein. Eine ähnliche 
Spezifikation auch für die Inputs. Solange die Spanung in dem Bereich 
bleibt, sollte es gehen. Der Strom durch die clamp-Diode ist zumindest 
für den PCI-Fall spezifiziert und beträgt 7mA/10mA.

Für das PLD würde ich nochmal schauen, ob man das nicht mit einige mV 
mehr betreiben kann, um weiter auf die sichere Seite zu kommen.

von R.K. (Gast)


Angehängte Dateien:

Lesenswert?

Neue Info: 20uA sind der Leckstrom im Gate. Dynamisch muss er doch 20mA 
treiben. Da muss ich nochmal schauen,, welch Schaltzeit der dann 
hinbekommt.

Rudolph schrieb:
> Ralf K. schrieb:
>> Frage: Kommt das PLD mit 3,3V auf die 3,0 hoch?
> Ich hab' verstanden dass er nur 3.0V braucht.
Die Herausforderung ist die 100%ig Einhaltung der Spec, dass für alle 
Betriebsfälle, inklusive Störungen und Versorgungsspannungsschwankung, 
GND-Schankung! etc der Abstand zur minimalen Schaltschwelle gegeben sein 
muss und da hätte ich gerne etwas mehr, als 3,0V+0,5 = 3,5V

BTW es ist ein MAX2PLD.

Nach Studium des Datenblattes
http://www.altera.com/literature/hb/max2/max2_mii51005.pdf
bin ich auch der Ansicht, dass es mit einem Pullup funktionieren muss.
Angeblich können die Ausgänge 4V ab. Sicherheitshalber werde ich 
schauen, dass ich die PLD-Spannung noch etwas hochdrehe.

von Helmut L. (helmi1)


Lesenswert?

Warum schaltest du nicht einfach einen 74HCTxx Buffer dazwischen? Dann 
stimmen die Schaltschwellen.

von Michael (Gast)


Lesenswert?

Helmut Lenzen schrieb:
> Warum schaltest du nicht einfach einen 74HCTxx Buffer dazwischen? Dann
> stimmen die Schaltschwellen.
Die Frage liesse sich auch anders herum formulieren: Wozu die Platine 
ändern und einem Baustein dazwischensetzen, wenn es ein simpler R tut.

von Helmut L. (helmi1)


Lesenswert?

Michael schrieb:
> Die Frage liesse sich auch anders herum formulieren: Wozu die Platine
> ändern und einem Baustein dazwischensetzen, wenn es ein simpler R tut.

Mag sein. Bedenke aber das du durch den Widerstand langsame Flanken 
bekommst. Manche Bausteine mögen so was nicht.
Ich hatte auch mal so ein Problem. Hatte auch gedacht das mit einem 
Pullup zu lösen. Die Lösung war aber nicht stabil. Erst ein Buffer der 
für steile Flanken sorgt war die endgültige Lösung.

von R.K. (Gast)


Lesenswert?

Ok, Schaltung geht!
Allerdings können die FPGAs die open drain Variante nicht.
(?)

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.