FAE-Design-Tipp powered by Digi-Key Tastereingang per FPGA-Logik entprellen - aber wie?

Tipps des Digi-Key Application Engineering.
Tipps des Digi-Key Application Engineering

Im Folgenden wird eine effektive Logikschaltung für die Entprellung beschrieben.

Mit jedem Takt übergibt die Schaltung kontinuierlich den Logikpegel der Taste nach FF1 und anschließend nach FF2. FF1 und FF2 speichern also immer die letzten beiden logischen Pegel der Taste. Wenn diese beiden Werte für eine bestimmte Zeit gleich bleiben, dann wird FF3 aktiviert und der stabile Wert wird zum Ergebnisausgang übergeben.Ein XOR-Gatter und ein N-Bit-Zähler bewerkstelligen das Timing. Wenn der Logikpegel der Taste sich ändert, unterscheiden sich die Werte von FF1 und FF2 für einen Taktzyklus und der N-Bit-Zähler wird über das XOR-Gatter zurückgesetzt. Ändert sich der Logikpegel der Taste nicht, sprich: erhalten FF1 und FF2 den gleichen Logikpegel, stoppt das XOR-Gatter das synchrone Zurücksetzen des Zählers und der Zähler beginnt zu zählen.

    Der Zähler wird inkrementiert, bis er

    • das spezifizierte Zeitlimit erreicht hat und das Ausgangsregister aktiviert oder
    • wird durch das XOR-Gatter unterbrochen und zurückgesetzt, da der Logikpegel der Taste noch nicht stabil ist.

    Die Zählergröße bestimmt die Zeit für die Validierung der Stabilität des Logikpegels der Taste. Wurde der Zähler bis zu dem Punkt inkrementiert, an dem sein Ausführungsbit gesetzt wird, deaktiviert er das weitere Inkrementieren und aktiviert das Ausgaberegister FF3. Die Schaltung bleibt in diesem Zustand, bis ein anderer Tastenwert nach FF1 getaktet wird, wodurch der Zähler über das XOR-Gatter zurückgesetzt wird.