Ich habe eine 5 ns Pulsbreite hoch, die aus einem Komparator kommt, der asynchron ist. Ich versuche diesen Puls zu zählen. Mein aktueller Mikrocontroller (dsPIC33FJ) hat einen asynchronen Zähler an Bord, mit einer Mindestspezifikation von mindestens 10 ns Pulsbreite Hoch.
Welche Möglichkeiten habe ich, um diesen 5-ns-Impuls zu verlängern / zu verlängern, damit er vom Zähler gelesen werden kann? Ich bin offen für den Wechsel zu einem anderen Mikrocontroller oder die Verwendung eines qualifizierten Front-End-Zählers, würde aber lieber passive / einfache Schaltkreise verwenden. Ist das möglich?
Was ich bisher recherchiert habe:
Ich habe versucht, einen .1uF-Kondensator zwischen dem Ausgangssignal und Masse zu binden, in der Hoffnung, dass die Entladung es verlangsamen würde, aber alles, was das tat, war, das Signal stark zu verzerren. Darf ich einen viel niedrigeren Wert verwenden?
Ich habe nach Abtast- und Halte-ICs gesucht, aber die kürzeste Erfassungszeit, die ich finden konnte, liegt bei etwa 200 ns, was für meine Anwendung nicht geeignet ist.
quelle
Antworten:
Ein nachtriggerbarer monostabiler Multivibrator wie 74LV123 würde Ihre Anforderungen gut erfüllen:
Es handelt sich um einen Standard-Logik-IC mit sehr geringer Komplexität, und das Gehäuse enthält zwei Monostabilitäten für den Fall, dass Sie eine andere Impulsquelle strecken müssen.
Das Teil ist sowohl in DIP als auch in TSSOP erhältlich, also Breadboard- und Produktionsoptionen.
Hoffe das hat geholfen.
quelle
Hier ist ein einfacher positiver Pulsstretcher mit einigen Bedingungen:
Die Verstärkung des Transistors lässt den Ausgang schnell ansteigen, fällt dann jedoch gemäß der RC-Zeitkonstante, die in diesem Beispiel 47 ns beträgt, auf Masse ab.
Eines der Probleme besteht darin, dass Sie den BE-Spannungsabfall möglicherweise nicht tolerieren können. Wenn der PIC-Eingang 80% von Vdd für ein garantiertes Hoch benötigt und der Prozessor mit 3,3 V betrieben wird, muss OUT über 2,6 V liegen, um als Hoch interpretiert zu werden. Wenn IN jedoch auch ein 3,3-V-Logiksignal ist und ein Abfall von 700 mV BE vorausgesetzt wird, erreicht OUT überhaupt erst 2,6 V.
Diese Schaltung kann weiterhin verwendet werden, wenn der PIC-Minimum-Logik-High-Schwellwert niedriger ist oder IN eine höhere Spannung ist. Einige Eingänge einiger 33F-Teile sind 5 V-tolerant. Wenn Sie IN als 5-V-Logiksignal einrichten und einen 5-V-toleranten Eingang verwenden können, haben Sie genügend Spielraum für die Zeitkonstante, um die Leitung länger als den Impuls hoch zu halten.
Wenn sichergestellt werden kann, dass OUT an der Spitze des Impulses auf 3,3 V geht und der garantierte logisch hohe Eingang des PIC 2,6 V beträgt, wird dieser Schaltkreis den Impuls um etwa die Hälfte der Zeitkonstanten oder etwa 24 ns in dehnen dieses Beispiel.
quelle
Wie oft bekommen Sie Impulse? Kann Ihr Zähler sowohl steigende als auch fallende Flanken anstelle von Impulsen zählen?
Wenn die Impulse nicht sehr häufig sind, leiten Sie sie in den Takteingang eines T-Flip-Flops. Jedes Mal, wenn Sie einen Impuls erhalten, schaltet der TFF-Ausgang um und erzeugt eine Flanke. Die Impulse müssen weit genug voneinander entfernt sein, damit die MCU Zeit hat, die Flanke zu registrieren, bevor die nächste hereinkommt.
Wenn Sie mit der MCU nicht sowohl ansteigende als auch abfallende Flanken bearbeiten können, können Sie möglicherweise zwei Zähler (eine ansteigende Flanke, eine abfallende Flanke) verwenden oder akzeptieren, dass Sie nur alle zwei Impulse zählen können.
quelle
Eine programmierbare Verzögerungsleitung sollte das tun, wonach Sie suchen. Es wird Ihren 5 ns Puls irgendwo zwischen 5 ns und 500 ns strecken. Das obige ist bei DigiKey nicht vorrätig, aber das Datenblatt ist eine gute Lektüre, um Ihnen die Theorie zu zeigen.Hier ist einer von Linear, der auf Lager ist und das tun sollte, was Sie hoffen.
quelle
Hier ist ein sehr einfacher Pulsstrecker. Kann das universelle Logikgatter NC7SZ58P6X zur Implementierung des ODER-Gatters verwenden. Das Datenblatt zeigt eine maximale Ausbreitungsverzögerung von 4,3 ns bei 5 V.
simulieren Sie diese Schaltung - Schaltplan erstellt mit CircuitLab
quelle