Altera FPGA I/O schwache Pullups

In der Altera-FPGA-Dokumentation wird auf eine „I/O-Weak-Pullup“-Funktionalität verwiesen.

Ich möchte interne schwache Pullups anstelle externer Pullups verwenden, um eine PCB-Modifikation zu vermeiden.

Es scheint möglich zu sein, einen schwachen Pull-Up für einen I/O in Quartus zu aktivieren. Aber es gibt keine Informationen darüber, wie man es aktiviert.

Irgendwelche Hinweise?

Stellen Sie im Zuweisungseditor die schwache Pullup-Zuweisung auf EIN, um den On-Chip-Pullup-Widerstand für den Pin zu aktivieren.

Antworten (3)

Es gibt zwei Möglichkeiten, dies zu tun.

1. Pin-Planer

Der erste Ansatz ist im Pin-Planer-Tool. Dies ist die GUI, mit der Sie auswählen können, welcher Pin wohin geht. Gehen Sie im Hauptfenster bei geöffnetem Projekt zum Menü Aufgaben und wählen Sie Pin-Planer (oder drücken Sie Ctrl+ Shift+ N).

Klicken Sie im Pinplaner-Fenster unten in der Ansicht „Alle Pins“ mit der rechten Maustaste auf eine beliebige Spaltenüberschrift und wählen Sie „Spalten anpassen“:

Spalten anpassen

Scrollen Sie in dem sich öffnenden Fenster auf der linken Seite nach unten und suchen Sie nach "Weak Pull-up Resistor" (bei mir ist es der dritte von unten). Klicken Sie darauf und dann auf die rechte Pfeilschaltfläche, um es zu den sichtbaren Spalten hinzuzufügen. Klicken Sie dann auf OK.

Zeigen Sie einen schwachen Klimmzug

Zurück im Pin Planner-Fenster sollten Sie nun eine neue Spalte mit dem Namen Weak Pull-Up Resistor sehen. Klicken Sie für jeden Pin, für den Sie es aktivieren möchten, einfach in das Feld für diese Spalte und wählen Sie „Ein“ (Sie können auch „Ein“ in das Feld eingeben). Standardmäßig ist es auf „Aus“ gestellt – wenn die Spalte also leer ist, bedeutet dies dasselbe, als ob es „Aus“ heißt.

Pullup aktivieren


2. Aufgabeneditor

Sie können es auch manuell mit dem Werkzeug "Zuweisungseditor" zuweisen. Dies ist nützlich, wenn Sie es beispielsweise für alle Pins in einem Bus oder sogar nur für alle Pins aktivieren möchten. Hier können Sie Platzhalter verwenden.

Öffnen Sie das Zuweisungseditor-Tool im Hauptfenster, indem Sie zum Menü „Zuweisungen“ gehen und „Zuweisungseditor“ auswählen (oder Ctrl+ Shift+ drücken A) .

Am Ende der Zuordnungsliste befindet sich eine Zeile, in der alle Einträge sind <<New>>. Klicken Sie in die Spalte „Assignment Name“ und wählen Sie „Weak Pull-Up Resistor“ aus. Wählen Sie dann in der Spalte „Wert“ „Ein“. Geben Sie schließlich in der Spalte „An“ den Pin-Namen ein (der das Platzhalterzeichen enthalten kann *).

Aufgaben-Editor

Dadurch wird das Pull-up für jeden Pin aktiviert, der mit dem Namen in der Spalte „An“ übereinstimmt.

Fantastische Antwort! Übrigens, wie schwach ist der schwache Klimmzug? Macht nichts, habe es gerade gefunden, es sind 25 Kiloohm zu Vccio: profesores.fi-b.unam.mx/maixx/Biblioteca/Librero_Computacion/…

Ich möchte darauf hinweisen, dass die schwachen Pullup-Widerstände auf einem FPGA/SOC/MCU kein Ersatz für echte externe Pullups sind. Wenn Sie also eine Strategie für die Verwendung entwickeln, berücksichtigen Sie bitte Folgendes.

  1. Schwache On-Chip-Pullups werden hauptsächlich dann verwendet, wenn Pins in einem Design unbenutzt bleiben und die Pads im Board-Etch-Artwork nichts verbunden haben.
  2. Die schwachen Pullup-Widerstände auf dem Chip liegen typischerweise im Bereich von 50K bis 100K Ohm. Eine damit verbundene Eingangsspur ist aufgrund der relativ hohen Impedanz des Netzes anfällig für Kopplung von benachbarten verrauschten Spuren.
  3. Schaltungsmodi, die im Open-Drain- oder Open-Collector-Modus arbeiten, haben aufgrund des hohen Widerstands schwacher Pullups faule (langsame) Anstiegszeiten.
  4. Externe Schaltungen, die von einem Pullup abhängen, um eine externe Komponente wie einen NPN-Transistor vorzuspannen, erhalten aufgrund des hohen Widerstands schwacher Pullup-Widerstände wahrscheinlich nicht genügend Quellenstrom.
  5. Die Verwendung von On-Chip-Pullup-Widerständen erhöht den Gesamtstromverbrauch in einem Gerät, wenn externe Schaltungen Signalpegel geltend machen, die den Pullups entgegenwirken.
  6. Unbenutzte Pins mit einer externen Komponente bieten einen Verbindungspunkt zum Testen und zur Überarbeitung des Platinendesigns.

Meine Empfehlung lautet daher, der bekanntesten Designmethode zu folgen, die von vielen großen und kleinen Unternehmen übernommen wurde, und externe Pullup-Widerstände an Netzen zu verwenden, die von einem FPGA/SOC/MCU kommen, um sie mit anderen Teilen der Platine zu verbinden oder zu testen Punkte. Designempfehlungen wie diese schlagen vor, Klimmzüge mit nicht mehr als 10 K Ohm zu verwenden, wobei 4,7 K im Allgemeinen besser sind. Kleinere Werte sind auszuwählen, wenn dies durch die Schaltungsanforderungen gerechtfertigt ist.

Beachten Sie, dass fast dieselben Kommentare und Empfehlungen auch für die Verwendung von schwachen Pulldown-Widerständen auf dem Chip gelten.

Innerhalb der qsf-Datei können Sie Folgendes hinzufügen:
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to pin_name