Pulsverlängerung dual-edge

Persönliche Seite #7674241
Lesenswert?

Eine Schaltung soll sowohl auf steigende, als auch auf fallende Flanken reagieren. Nach einer steigenden oder fallenden Flanke soll der neue Zustand für eine einstellbare Mindest-Zeit gehalten werden, auch wenn in der Zwischenzeit weitere Flankenwechsel stattfinden. Nach Ablauf der festgelegten Zeit soll der neue Zustand übernommen werden, falls sich dieser in der Zwischenzeit geändert hat, und wieder für die gleiche festgelegte Mindest-Zeit gehalten werden.

Es geht einfach darum, dass durch die Schaltung eine Mindest-Pulsbreite sichergestellt wird, so dass keine sehr kurzen positiven oder negativen Pulse entstehen können, aber auch keine Pulse "verschluckt" werden.

Irgendwie stehe ich auf dem Schlauch und bekomme es maximal für eine Flanke zum Laufen.

#7674275
Lesenswert?

Arduino F. schrieb:

Marius S. schrieb:

soll der neue Zustand für eine einstellbare Mindest-Zeit gehalten werden, auch wenn in der Zwischenzeit weitere Flankenwechsel stattfinden.

Marius S. schrieb:

aber auch keine Pulse "verschluckt" werden.

Diese beiden Ansagen widersprechen sich.

Wohl wahr. Abgesehen davon kriegt man das mit einer Schaltung hin, die viele "Logiktester" Prüfstifte zur Anzeige von Einzelimpulsen haben. Zwei flankengesteuerte Monoflops, eins für steigende das andere für fallende Flanke, die sich gegenseitig verriegeln. Klassisch mit einem CD4538 (enthält zwei Monoflops) realisiert.

#7674322
Lesenswert?

Mi N. schrieb:

Bevor wir hier noch zur ECC83 kommen, die genauso untauglich ist, sollte der TO doch mal seine Schaltung zeigen.

Es kommt immer drauf an, was man draus macht.

Marius S. schrieb:

Eine Schaltung soll sowohl auf steigende, als auch auf fallende Flanken reagieren. Nach einer steigenden oder fallenden Flanke soll der neue Zustand für eine einstellbare Mindest-Zeit gehalten werden, auch wenn in der Zwischenzeit weitere Flankenwechsel stattfinden.

Soll diese Schaltung das mit einem Mikrocontroller oder mit hartverdrahteter Logik machen.

Die hartverdrahtete Version hört sich nach flankengetriggerte[m/-n] retriggerbare[m/-n] Monoflop(s), ein bisschen Glue-Logik und einem Latch an, wie Axel das auch schon skizziert hat. Darf es auch synchrone Logik sein oder wie genau müssen irgendwelche Eingangsflanke am Ausgang erscheinen.

Vielleicht zeigst du einmal ein paar Impulsdiagramme mit Bezeichnung der relevanten Zeiten.

Persönliche Seite #7674344
Lesenswert?

Arduino F. schrieb:

Diese beiden Ansagen widersprechen sich.

Jaein, die Schaltung soll nach einer Flanke für eine Zeit "blind" sein und in dieser Zeit die Pulse verschlucken, stimmt. Aber danach reicht ein kurzer Puls in die andere Richtung um den Ausgang in die entsprechend andere Richtung umzuschalten (und die Schaltung ist danach dann wieder für die festgelegte Zeit "blind").

Ich stehe auch absolut auf dem Schlauch, sonst würde ich nicht fragen :-(

Es soll analog bzw. mit digitalen Bauteilen realisiert werden. Ob Asynchron oder synchron ist prinzipiell egal, die Schaltung darf bei einer Mischung nur nicht zu Race-Conditions führen (also wenn die Pulse sehr klein werden oder Pulsfolgen nahe beeinander liegen).

Im Anhang ein Bild mit dem Eingangssignal in Grün und dem gewünschten Ausgangssignal in Rot. Das Zeitglied wäre dort auf 2µs eingestellt, so dass jeder Ausgangspuls minimal 2µs lang wird bzw. die Schaltung nach Flankenwechsel am Eingang für 2µs "blind" ist.

Angehängte Dateien:
#7674349
Lesenswert?

GHz N. schrieb:

Zum Thema Entprellung:

Die Anforderungen sind hier unterschiedlich zu denen einer Entprellung. Hier: reagiere auf die erste Flanke und dann für eine Zeit blind. Genau das will man bei einer Entprellung eher nicht - Beispiel: Störpeak. Entprellung: schalte erst den Ausgang, wenn das Signal für eine bestimmte Mindestzeit stabil ist.

Persönliche Seite #7674428
Lesenswert?

Rainer W. schrieb:

Muss die Pause zwischen Ausgangspulsen auch eine bestimmte Mindestlänge haben oder darf die beliebig kurz sein?

Am Ausgang ergibt sich die Pause zwischen den Flankenwechseln durch die eingestellte Zeit in der die Schaltung blind ist (in meinem Beispiel 2µs). Ist diese Zeit abgelaufen darf der Ausgang direkt in den gerade am Eingang anliegenden Zustand wechseln.

So ganz einfach scheint es nicht zu sein. Ein einzelnes Monoflop bekomme ich auch noch hin, aber irgendwie nicht dass es auf beide Flanken reagiert. Ich würde ja meine Simulation hier reinstellen, wäre die nicht so konfus.

Ich hatte gehofft jemand hätte schonmal etwas ähnliches aufgebaut bzw. kennt eine Schaltung irgendwo im Internet (google hat mir bisher nicht weitergeholfen).

#7674470
Lesenswert?

Marius S. schrieb:

Im Anhang ein Bild mit dem Eingangssignal in Grün und dem gewünschten Ausgangssignal in Rot.

Im Bild sowas in der Art, um einen "Zwischenimpuls" zu unterdrücken. Mit Monoflop und Logik. Hat nur den Nachteil, dass die Bauteiletoleranzen zu Ungenauigkeiten führen. Im Dauertest war Temperaturdrift Ursache für Ungenauigkeit. Problem dann schlussendlich softwaremäßig mit "Veroderung" gelöst.

ciao gustav

Angehängte Dateien:
#7674476
Lesenswert?

Marius S. schrieb:

Ist diese Zeit abgelaufen darf der Ausgang direkt in den gerade am Eingang anliegenden Zustand wechseln.

Direkt? Nicht erst mit dem nächsten Flankenwechsel?

Marius S. schrieb:

Ein einzelnes Monoflop bekomme ich auch noch hin, aber irgendwie nicht dass es auf beide Flanken reagiert.

Ein Monoflop, das auf beide Flanken reagiert, gibt es auch nicht (meines Wissens). Nur welche, die man entweder / oder einstellen kann. Da von den genannten eh zwei in einem Gehäuse sind, kann eines auf die positive, das andere auf die negative Flanke reagieren und man muss nur noch deren Ausgangssignale geeignet verknüpfen - erst recht wenn gleich der Zustand nach Ablauf der Schutzzeit übernommen werden soll.

Das Ganze riecht schon wieder nach einer Lösung mit einem keinen µC ...

#7675015
Lesenswert?

Georg M. schrieb:

Wenn schon digital, dann digital: ohne R und C.

Jein. Nur wenn man eine konstante Zeit braucht oder jedesmal umprogrammieren will. Andernfalls bietet die RC-Kombination mit R1 1 k - 1 MOhm und C3 1 nF - >= 1000 µF einen sehr großen Zeitbereich. Den µC muß man dazu nicht mehr verändern. Zwischen C3 und Eingang PB4 sollte noch ein Widerstand zur Begrenzung des Entladestroms eingefügt werden.

Weiterhin frohes Fest :-)

#7675030
Lesenswert?

Klaus H. schrieb:

Poti und ADC tun es auch, wenn schon dieser Wunsch besteht.

Ja, aber mit begrenztem Bereich. Ich wollte gerne ein typisches Monoflop nachempfinden.

Ich hatte ja weiter oben schon "µC" angedeutet.

Da will ich Dir garnicht widersprechen und hatte Dir insgeheim auch zugestimmt ;-)

Aber der TO will sich im einstelligen µs-Bereich bewegen, da muss der µC schon etwas flotter laufen.

Was genau der TO will, hat er nicht explizit geschrieben, und ich weigere mich, Vorgaben aus bunten Bildchen abzuleiten.

#7675054
Lesenswert?

Mi N. schrieb:

Was genau der TO will, hat er nicht explizit geschrieben

Ich entnahm das hier: Marius S. schrieb im Beitrag #7674344:

Das Zeitglied wäre dort auf 2µs eingestellt, so dass jeder Ausgangspuls minimal 2µs lang wird bzw. die Schaltung nach Flankenwechsel am Eingang für 2µs "blind" ist.

Aber es ist ein Beispiel im Konjunktiv, da hast du wiederum recht ...

Moderator (Firma: Titel) Persönliche Seite #7675439
Lesenswert?

Peter D. schrieb:

Interrupts sind eh viel zu langsam

Ich würde einfach das kleinste MachXO2 FPGA mit internem RC-Oszillator nehmen. Dann geht das locker.

Marius S. schrieb:

Im Anhang ein Bild mit dem Eingangssignal in Grün und dem gewünschten Ausgangssignal in Rot.

Bei manchen Lösungen frage ich mich wirklich, was denn eigentlich das zugrundeliegende Problem ist, für das eine Lösung gesucht wird...

#7675602
Lesenswert?

Der 4538 ist nur wenige Jahre jünger als der 555.

Ja vermutlich. Das Datenblatt von dem ist auch so rustikal gescannt, aber der 555 war ja irgendwie schon immer da. Den 4538 hab ich dann erst irgendwann in den 90ern fuer mich entdeckt. Da hab ich immer ein paar von da. Obwohl es heute vermutlich einfacher waere einen CH32V003 zu nehmen.

Ausserdem bin ich mit dem 555 nie warm geworden weil er etwas durstig war und der 7555 ist ja nicht ganz so bekannt/verbreitet. Der 4538 ist aber automatisch CMOS.

Vanye

#7675695
Lesenswert?

Vanye R. schrieb:

Ausserdem bin ich mit dem 555 nie warm geworden weil er etwas durstig war und der 7555 ist ja nicht ganz so bekannt/verbreitet. Der 4538 ist aber automatisch CMOS.

Der ist zwar automatisch CMOS, aber in seinem Stromkonsum ist er es bei weitem nicht. Denn da er Komponenten für Analogwertverarbeitung enthält, zieht er auf halbem Wege immer einen CMOS-untypischen Strom von knapp einem mA (eigentlich isses sogar CMOS-typisch, denn CMOS ist ja bekannt dafür, bei nicht digitalen Signalen deutlich mehr Querstrom zu ziehen). Ist auch so beim 4093, wenn er analoge Signale an seinen Eingängen sieht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren