Konvertieren eines beliebigen Impulses in einen Logikpegel

Hintergrund:

Ich versuche, das Zeitintervall zwischen (4) verschiedenen Impulsen mit einer Grundlinie von ~ 2 V und ungefähr 1,6 V pp zu messen. Derzeit verwende ich den ADC auf einem STM32, um die vier Kanäle abzutasten.

Da ich jedoch den ADC verwende, ist er langsam und die Auflösung der Zeitunterschiede leidet darunter.

Problem:

Ich möchte jeden Impuls wie in Bild 1 in einen Logikpegel umwandeln, damit ich sie mit IO-Pins anstelle des langsamen ADC abfragen kann. Was ich möchteIch habe in Multisim mit einem Operationsverstärker-Unterscheidungsmerkmal herumgespielt, aber ich kann nicht ganz erkennen, was ich will. Ist ein Unterscheidungsmerkmal der richtige Weg oder gibt es eine andere Lösung? Denken Sie daran, ich interessiere mich wirklich nur für den Beginn der verschiedenen Pulse.

TL; DR Konvertiere einen beliebigen Sinusimpuls in einen Logikpegel, wie mache ich das?

Bearbeiten: Mein Differenzierungsdesign, mit dem ich herumgespielt habe, funktioniert aus irgendeinem Grund nicht ganz.

Unterscheidungsmerkmal

Ein Unterscheidungsmerkmal ist ein guter Anfang, Sie sollten sich auch über Peak-Detektoren informieren. Und vielleicht Präzisionsgleichrichter.
Der ADC von STM32 ist nicht langsam, er ist sehr schnell. Aber wo sehen Sie diese Zeitintervalle und was sind diese Zeitintervalle?
Ich sehe keine Pulse. In Abbildung 2 sehe ich eine verrauschte Wellenform. Du willst wissen, wann die Wellenform so laut wird? Vielleicht könntest du. 1.) AC-Kopplung, 2.) gleichrichten, 3.) einen Triggerpegel definieren und einen Komparator verwenden, um auszugeben, wenn das Signal über diesem Pegel liegt.
Nun, der ADC ist für meine Zwecke zu langsam. Ich habe mein nicht ganz funktionierendes Differenzierungsdesign hinzugefügt, vielleicht weiß jemand, was ich falsch mache.

Antworten (3)

Das Erkennen von "etwas sich änderndem" ist wirklich einfach und das Erzeugen eines Pulses ist auch einfach (basierend auf dieser Erkennung), aber das Schwierige (das in Ihrer Frage nicht definiert ist) sind die Kriterien für das Zurücksetzen des Pulses : -

Geben Sie hier die Bildbeschreibung ein

Was ist gemäß der Grafik, die ich entführt und unkenntlich gemacht habe, mit dem Signal (rot), das verhindert, dass der Erkennungsimpuls (grün) an den drei Punkten zurückgesetzt wird, die durch die blauen Pfeile im Bild angezeigt werden?

Wie können Sie so sicher sein, dass Sie den Puls zurücksetzen können, sobald die rote Spur abklingt (wie in Ihrem Beispiel)?

Warum steigen Sie nicht einfach in Excel ein und machen ein paar verschwommene analoge / digitale logische Dinge an einer Reihe von Beispielen und sehen, wie sich das entwickelt? Excel ist wirklich großartig für solche Sachen.

Nun, irgendwann sollte es zurücksetzbar sein, wenn dV/dt für einige t unter einen bestimmten Wert fällt (t wird als größer als die Breite der Spitzen angenommen).
Sie müssen entscheiden, welcher Aspekt Ihres Signals dazu führt, dass der Impuls zurückgesetzt wird. Sie sagen auch in Ihrer Bearbeitung "es funktioniert nicht ganz", aber das ist für diejenigen, die nicht mit Telepathie gesegnet sind, nicht hilfreich.

Ihre Anforderung ist also ziemlich ähnlich wie "Ausgabe , wenn sich die Eingabe sonst 1ändert ". 0Mathematisch gesehen:

F ( X ( T ) ) = { 1 D X D T 0 0 D X D T = 0

Sie brauchen also eine Art Unterscheidungsmerkmal - entweder analog (opamp-basiert) + Komparator. Oder digital - zwei aufeinanderfolgende Proben abtasten und vergleichen. Vielleicht müssen Sie die Empfindlichkeit anpassen und etwas Hysterese hinzufügen.

Ja, genau, ich habe ein Schema des Differenzierungsdesigns hinzugefügt, an dem ich gearbeitet habe, scheint der richtige Weg zu sein, aber ich kann es nicht zum Laufen bringen.

Hier ist ein funktionierendes Design eines Sinus-Puls-zu-Logikpegel-Wandlers, der Frequenzen von >10 kHz auf 3,3 V umwandeln kann. Leider eine Doppelversorgung, der Grund für die Wahl des AD8047 ist, dass er sehr schnell ist, was zu einer schönen schnellen ansteigenden Flanke führt.

Geben Sie hier die Bildbeschreibung ein