Wie wirken sich Slew-Rate und Treiberstärke auf das Ausgangssignal des FPGA aus?

Kann jemand den Unterschied zwischen der Laufwerksstärke und den Slew-Rate-Präferenzen in Lattice FPGA beschreiben?

Antworten (1)

Wie der Name schon sagt, ist die Slewrate-Präferenz eine Präferenz für die Änderungsrate des Signals am Ausgangspin. Obwohl dies scheinbar nichts damit zu tun hat, ist dies mit der Lastpräferenz gekoppelt (die den maximalen Ausgangsstrom des Pins begrenzt). Bei kleinen kapazitiven Lasten kann die Slew-Rate mit jeder Treiberstärke erreicht werden. Wenn jedoch die kapazitive Last zunimmt, treten die Treiberströme ins Spiel. Bei hohen kapazitiven Lasten kann ein zu niedriger Treiberstrom ein begrenzender Faktor für das Erreichen einer schnellen Anstiegsgeschwindigkeit am Pin sein.

Um die Wirkung von Antriebsstärke und Anstiegsgeschwindigkeit zu veranschaulichen, verwende ich Beispiele aus einem Projekt, an dem ich beteiligt war. Ich habe Lattice XP2-30E FPGA verwendet, um die Daten von einem Analog-Digital-Wandler AD9238 zu lesen. Das Problem äußerte sich darin, dass falsche Daten gelesen wurden. Messungen mit digitalen Sonden ergaben Haltezeitverletzungen. Die digitalen Sonden zeigten nämlich einen größeren Taktjitter mit einer Haltezeit von 1,5 ns (min. 2 ns, die vom Anzeigenkonverter angegeben wurden).

Die Messung mit analoger Sonde (mit Yokogawa DLM2034 bei 2,5 GSPS) ergab eine starke Verzerrung des Taktsignals. Die folgenden Abbildungen veranschaulichen die Auswirkung von Anstiegsgeschwindigkeit und Treiberstärke auf das Taktsignal.

Geben Sie hier die Bildbeschreibung ein

Wie aus der Abbildung ersichtlich ist, verhindert der Treiberstrom von 4 mA selbst bei der Präferenz für eine schnelle Anstiegsgeschwindigkeit, dass das FPGA die gewünschte Anstiegsgeschwindigkeit erreicht.

Warum also sollte man den Treiberstrom nicht so hoch wie möglich einstellen? Wenn die kapazitive Belastung der Leitung groß ist und das FPGA gleichzeitig mehrere Leitungen ansteuert (typische Anwendung beim Ansteuern eines Busses), kann der große Einschaltstrom einen Spannungsabfall auf der internen Überwachungsschaltung für schlecht entkoppeltes FPGA verursachen, wodurch die Chip zurückzusetzen. Sobald die gewünschte Anstiegsgeschwindigkeit erreicht ist, hatte das Erhöhen des Treiberstroms den negativen Effekt, da es das Überschwingen des Signals verstärkte.

Auch eine sehr schnelle Anstiegszeit macht es schwieriger, die EMV-Vorschriften zu erfüllen. Um die EMV zu passieren, möchten Sie einen langsamen Anstieg, für "schöne" Signale einen schnellen Anstieg und für niedrige Leistung einen langsamen Anstieg. Manchmal kann man einfach nicht gewinnen!
Ich habe eine Woche damit verbracht, dieses Problem zu verfolgen, und wollte es nur posten, falls jemand anderes auf ein ähnliches Problem stößt. Ich hatte keine Probleme mit EMI (wahrscheinlich, weil ich nichts entworfen habe, das EMI-Tests unterzogen wurde :) ), aber ich hatte Probleme mit dem FPGA-Reset, wenn ich einen langen Datenbus fuhr (wegen schlechter Entkopplung).
Das ist ein wunderbares Beispiel aus dem wirklichen Leben!
@oldfart, ja, ich verwende die langsamsten Anstiegsraten, mit denen die Lasten an den FPGA- oder CPLD-Ausgängen zuverlässig funktionieren. Dies dient dazu, das Klingeln in hochohmigen Lasten (Logikeingänge) zu reduzieren und EMI zu reduzieren. Das OP beschreibt ihre Situation, die bei großen kapazitiven Lasten und schlechter Entkopplung auftritt. Es handelt sich um umfassendere Schaltungsprobleme, die die FPGA- oder CPLD-Pin-Eigenschaften nicht lösen können. Vielleicht verstecken, aber nicht lösen.
3,3 V / 8 mA implizieren eine Last R von 412 Ohm. Die Probleme in dieser Frage ignorieren die Ursachen der Impedanzfehlanpassung.
@ TonyStewart.EEsince'75 Sie haben Recht, es gibt eine Impedanzfehlanpassung, aber es gibt viel Literatur, die sich damit befasst. Das Ziel war nicht, eine umfassende Richtlinie zu bieten, wie das digitale Design durchgeführt werden sollte. Das Ziel war, dies zum Suchindex hinzuzufügen, falls jemand auf ein ähnliches Problem stößt. Es ist nicht ungewöhnlich, dass jemand, insbesondere wenn er ein Anfänger im Digital- und FPGA-Design ist, diese Konfiguration übersieht. Als Anfänger sind Sie mit zahlreichen anderen Problemen überfordert, und es ist leicht, so etwas zu übersehen.
Bei jedem DSO, das im HF-Bereich abtastet, muss man sich um Lastimpedanz, Erdungsimpedanz und Quellenimpedanz kümmern, und wenn DSO im GHz-Bereich liegt, umso mehr. Dies ist der Hauptgrund für einen Mangel an Signalintegrität (Impedanzfehlanpassung).
Gibt es eine Faustregel zum Einstellen der Anstiegsgeschwindigkeit und der Antriebsstärke? Ich meine, was sollte zuerst eingestellt werden? Ich mache Pinmapping in FPGA, daher bin ich beim Einstellen dieser beiden Parameter für meine Ausgangspins auf diese Verwirrung gestoßen