Überschwingen und Unterschwingen bei einem 3-Volt-Impuls

Ich schließe ein System an, dieses Systemausgangssignal mit einem digitalen Impuls von 200 ns und einer Wiederholungszeit von jeweils 3 ms. Die ideale Signalspannung wäre 0 V bis 3,3 V, aber das vom System kommende Signal hat einen hohen Über- und Unterschwingwert (Wert bis zu +5 bis -2 V). und ich möchte dieses Signal mit dem FPGA der Xilinx 7-Serie (Artix) mit einer Bankspannung von 3,3 V verbinden. Attach ist die Signalform, die ich vom System bekomme.Rauschendes Signal vom System

  1. Die erste Frage ist also, wenn ich keine Schutzschaltung einbaue, würde mein IO-Pin des FPGA durchbrennen oder was passieren wird. Die maximale Spannungsgrenze gemäß FPA der Serie 7 für die 3,3-V-Bank beträgt -0,5 bis 3,8 V.
  2. Die zweite Frage ist, was eine gute Schutzschaltung für diesen Über- und Unterschwingschutz sein wird.
  3. Gibt es einen empfohlenen OPAMP-IC, der 200-ns-Impulse problemlos verarbeiten kann?

Ich brauche eine Schaltung, die 200-ns-Impulse problemlos verarbeiten kann.

Welche Impedanz hat die Quelle, die das Signal antreibt, und was verbindet sie zwischen der Quelle und Ihrem FPGA?
Wie haben Sie das Signal "untersucht"? Sehr wichtig!
@Andyaka Ich füge Sonden direkt in die Systemausgabe ein. Beim Setzen von Überbrückungsdraht oder Platine werden die gleichen Ergebnisse erzielt. und ich habe zwei verschiedene Sonden ausprobiert, aber die gleichen Ergebnisse. und ich kenne die Quellimpedanz nicht. Gibt es eine Möglichkeit, das mit einem einfachen DMM zu messen?
Wie binden Sie Ihr System ein? Was für einen Ausgangstreiber hat es? Wie lang ist das Schnittstellenkabel und wie ist es aufgebaut?
@AliChen-System ist eine Art Blackbox, ich darf es nicht öffnen und habe kein Datenblatt oder technische Details. Ich bin dabei, eine Modulschnittstelle mit einem System zurückzuentwickeln, das mit alter Technologie gut funktioniert. Wie ich anderen sagte, habe ich alle Optionen ausprobiert, die direkt mit dem System verbunden sind, PCB und Schnittstellenkabel (1 Fuß) eingefügt, aber alle haben das gleiche Ergebnis
Sie können sich eine Vorstellung von der Quellenimpedanz machen, indem Sie immer kleinere Widerstände über das Signal legen und die resultierende Spannung am Oszilloskop betrachten. Beginnen Sie mit 1K und arbeiten Sie sich nach unten. Hören Sie auf, wenn Sie eine nicht unerhebliche Änderung der Spannung sehen (~10 %), und schätzen Sie die Impedanz unter der Annahme eines Widerstandsteilers. Liegt das Signal auf einem Kabel? Wenn ja, wie lang ist das Kabel? Kannst du das Signal direkt am Ausgang der Blackbox abtasten?
@ crj11 Es gibt einen DB 25-Anschluss am System (Treiber). Zuerst habe ich ein Kabel mit einer Länge von 1 Fuß hergestellt und ich überprüfe das Ergebnis wie im Bild oben. Dann stecke ich das Kabel aus und prüfe den DB25-Anschluss erneut mit demselben Ergebnis.
Der vorgeschlagene Vorwiderstand könnte Ihrem Problem helfen, aber er funktioniert möglicherweise besser am DB25-Ende als am FPGA-Ende. Wenn die Quelle eine ausreichend niedrige Impedanz hat, um 100 Ohm am FPGA gegen Masse zu treiben, könnte das sogar noch besser funktionieren.

Antworten (2)

Sie können dies wahrscheinlich bereinigen, indem Sie einen Vorwiderstand am FPGA-Ende verwenden. Dies wird die Anstiegs- und Abfallzeiten etwas verlangsamen, sollte aber das Überschwingen und Klingeln eliminieren. Wahrscheinlich müssen Sie den Wert experimentell ermitteln, 50-100 Ohm sind ein guter Ausgangspunkt.

Vorausgesetzt, es ist nicht der Umfang, der das verursacht.
Sehr wahr, versuchen Sie es mit einem 5K-Widerstand über dem Ausgang der Signalquelle und prüfen Sie diesen mit dem Oszilloskop. Denken Sie daran, dass Ihr 200-ns-Impuls so aussieht, als hätte er eine Anstiegszeit von weniger als 10 ns, sodass Sie es aus Sicht der Signalintegrität mit einem 100-MHz-Signal zu tun haben. Impedanzanpassung ist überall bei hohen Frequenzen wichtig.
Nein, kein Scope, ich habe verschiedene Sonden und Scopes ausprobiert. Alle anderen Signale sind in Ordnung, aber dieses Signal macht nur Probleme @Trevor_G
@DeanFranks Ich werde diese Lösung ausprobieren und Sie wissen lassen. Wie misst man die Impedanz des Systemausgangs mit einem einfachen Multimeter?
@DeanFranks fügen Sie dann etwas R am FPGA hinzu

Dies sieht aus wie eine typische Impedanzfehlanpassung zwischen der Treiberseite und der Übertragungsleitung. Vom Zeitpunkt der Reflexion/Klingeln scheint die Kabellänge etwa 60 Zoll zu betragen. Bei einer Flankenrate von 10 ns sind die Übertragungsleitungseffekte vorhanden.

Um das Problem zu lösen und das Klingeln zu reduzieren/beseitigen, benötigen Sie zwei Dinge:

(a) Verwenden Sie ein Kabel mit niedrigem Wellenwiderstand. Verwenden Sie entweder ein dünnes Koaxialkabel oder ein Flachbandkabel mit geerdeten benachbarten Drähten;

(b) Passen Sie die Impedanz der Quelle an die charakteristische Impedanz der Leitung an. Dies kann erreicht werden, indem ein Widerstand in Reihe mit der Leitung am Treiberende geschaltet wird . Wenn das Kabel als 80–100 Ohm (Flachkabel) endet und der typische Treiberausgang etwa 25–30 Ohm beträgt, benötigen Sie einen 50–60 Ohm-Widerstand, um das Klingeln zu unterdrücken. Ich wiederhole: AM FAHRERENDE.

danke für die Lösungen, das werde ich versuchen und berichten. Dies ist eine Lösung, wenn das Kabel am Treiberende angebracht wird. aber was ist, wenn es kein Kabel gibt, nur Treiber und Sonde?
@farhanbabar, Wenn diese Wellenform von Natur aus am Quelltreiber erzeugt wird (wie ein unterstabiler OPA-Ausgang am Rande von Schwingungen), haben Sie zwei Möglichkeiten - entweder eine Diodenklemme (vorzugsweise Schottky) auf der FPGA-Seite mit einem kleinen 100- Ohm Vorwiderstand vorne. Oder nichts tun, FPGA toleriert dieses kleine Über-/Unterschwingen mit internen Klemmen.
Ja, ich denke auch, dass es von Natur aus vom Treiber generiert wird, da ich den Treiberanschluss überprüft habe, erhalte ich das gleiche Problem. dass Klemmdiode und Widerstand beide in Reihe der Treiberleitung zum FPGA?