Verzögerung eines TTL-Signals

9

Ich muss eine Schaltung entwerfen, um ein Eingangssignal um eine bestimmte Zeitspanne (um eine Sekunde, trimmbar) zu verzögern. Die Verzögerung sollte durch die Verwendung passiver Komponenten (Widerstände oder Kondensatoren) eingestellt werden. Das Eingangssignal ist im Grunde ein TTL-Pegel, der zu einer bestimmten Zeit hoch geht, einige Zeit hoch bleibt (100 ms sollten ein guter Wert sein) und dann wieder niedrig geht.

Ich kann kein Mikro oder ein anderes programmierbares Gerät verwenden, da der Firmware-Zertifizierungsprozess zu teuer ist.

Ich realisierte eine funktionierende Lösung, die einen RC-Netzwerk-Feed in einen von Schmidt ausgelösten Komparator verwendet (mit einer festen Spannungsreferenz im Eingang gegen den RC-Spannungspegel). Ich bin mit dieser Lösung aus zwei Hauptgründen nicht sehr zufrieden:

  1. Die erforderliche Verzögerung impliziert Large Caps, die ziemlich ungenau sind.
  2. Der hohe Pegel des Eingangssignals muss mindestens so lange dauern wie die Verzögerung.

Allgemeine Anforderungen:

  • Verzögerungsdauer 1 Sek. +/- 500 ms Genauigkeit +/- 10%
  • Das verzögerte Ereignis sollte eine angemessene Zeit dauern, beispielsweise mindestens 100 ms (und weniger als 200 ms).

Beispielwellenformen von Eingangs- und Ausgangssignalen

Weirdgyn
quelle
4
Oder Sie könnten ein Schieberegister verwenden, wenn Sie ein geeignetes Taktsignal zur Verfügung haben
Richard the Spacecat
1
Ich denke, Sie müssen ein Diagramm des Eingangssignals und des Ausgangssignals zeichnen, in dem angegeben ist, was was verursacht und welche Anforderungen an das Ausgangssignal gestellt werden. Es ist nicht klar, was Sie unter "Signal" verstehen, ob es sich nur um die Eingangsflanke + ve oder nur um die -ve-Flanke oder beides handelt und was passiert, wenn sich das Timing zwischen ihnen ändert. Ein Monostabil wie HC123 könnte das sein, was Sie brauchen, oder auch nicht, je nachdem, was Sie wollen.
Neil_UK
3
Ähm, wie wäre es mit dem guten alten 555-Timer?
Calcium3000
9
Die Aussage "Meine Firmware muss zertifiziert sein" passt nicht gut zu "Ich weiß nicht, wie ich ein digitales Signal verzögern soll". Können Sie uns Ihre eigene Einschätzung geben, wie erfahren Sie sind? (Im Ernst, das Schreiben einer guten Firmware ist normalerweise einfacher als das Entwerfen einer guten analogen Schaltung. Wenn die Zertifizierung eine Voraussetzung für ein lebenswichtiges System ist, würde ich es vorziehen, wenn Sie den analogen Teil nicht entwerfen, wenn Sie nicht wissen, wie er implementiert werden soll eine Verzögerung)
Marcus Müller
1
Aber: Wo hört Hardware auf und wo beginnt Software? Eine sehr praktikable Lösung, insbesondere wenn Sie mit mehr als einem digitalen Signal arbeiten, das ohnehin geroutet werden muss, und wenn Sie die Anzahl der Komponenten und den Platz auf der Platine sparen müssen, besteht darin, nur ein minimales CPLD-Layout mit einer internen Uhr und einem Zähler zu entwerfen und bestellen Sie diese Teile (oft sogar vorprogrammiert erhältlich). Es ist also konfigurierte Hardware, keine Software? Ich bin sicher, dass Ihre Standards das definieren!
Marcus Müller

Antworten:

10

Der Analog Devices / Linear Technology LT6993-1 (siehe Schaltung unten) ist ein durch eine positive Flanke ausgelöster Impulsgenerator mit einer vom Widerstand programmierbaren Taktfrequenz und einem vom Widerstand programmierbaren Teilerwert und einer Polarität mit Verzögerungen von bis zu 33 Sekunden und einer Genauigkeit von ~ 3%.

Ein interner A / D-Wandler wandelt die DIV-Eingangsspannung in einen 8-Bit-Teilerwähler und einen 1-Bit-Polaritätswähler um. Die Taktfrequenz und der Teilerwert bestimmen die Ausgangsimpulsbreite. Durch große Teilereinstellungen können Widerstände mit angemessener Größe lange Verzögerungen erzeugen.

Die folgende Schaltung (aus dem Datenblatt) zeigt, wie zwei der Chips verwendet werden, um einen verzögerten Impuls als Reaktion auf die ansteigende Flanke eines Eingangsimpulses zu erzeugen. Die Widerstandswerte müssten an Ihre erforderlichen Verzögerungen angepasst werden. Vorgeschlagene DIV-Widerstandswerte sind in der Tabelle unter der Schaltung aufgeführt.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

crj11
quelle
8

Custom Silicon Solutions stellt den CSS555C her , einen 555-Timer, der mit einem breiten Zähler verbunden ist. Sie können mehrere Timer-Zyklen zählen, um Widerstände mit angemessener Größe zu verwenden, um wirklich lange Verzögerungen zu erzeugen. Es verfügt über einen trimmbaren internen Kondensator zum Einstellen der Verzögerungen, sodass nicht einmal ein externer Kondensator benötigt wird.

Die folgende Schaltung zeigt den monostabilen Mehrzyklusmodus. Sie würden zwei der Chips benötigen. Der erste Chip würde Ihre Verzögerung von 1 Sekunde erzeugen und der zweite Chip würde am Ende der Verzögerung ausgelöst, um den 100-ms-Impuls zu erzeugen.

Wenn Sie "CSS55C Preis" googeln, finden Sie Quellen, in denen Sie das Teil kaufen können.

Mono-Setup

crj11
quelle
Guter Vorschlag (ich habe NE555 bereits ausprobiert, aber ich hatte einige Probleme) Ich werde es erneut versuchen.
Weirdgyn
6

Seite 14 des App-Hinweises für Texas Instruments 74LS123 enthält ein Beispiel für eine digitale Verzögerungsschaltung, bei der beide Hälften des '123 verwendet werden. Sie können sowohl die Verzögerung als auch die Ausgangsimpulsbreite anpassen, indem Sie die Werte von Rext variieren. Wenn Sie den Ausgangsimpuls nicht zufällig beenden müssen, können Sie die 'B'-Eingänge und die Clear-Eingänge hoch binden.

BobT
quelle
Klingt gut und ganz einfach ... Ich muss es versuchen.
Weirdgyn
3

Ich realisierte eine funktionierende Lösung, die einen RC-Netzwerk-Feed in einen von Schmidt ausgelösten Komparator verwendet (mit einer festen Spannungsreferenz im Eingang gegen den RC-Spannungspegel).

Dies ist in der Tat die Standardmethode zum Implementieren einer Verzögerung in einer digitalen Schaltung.

Ich bin mit dieser Lösung aus zwei Hauptgründen nicht sehr zufrieden:

  • Die erforderliche Verzögerung impliziert Large Caps, die ziemlich ungenau sind.

Dann benutze einfach ein größeres R! Die Verzögerung wird durch das Produkt von R und C definiert, sodass Sie einen gegen den anderen tauschen können - und großwertige Widerstände sind leichter genau zu erhalten als großwertige Kondensatoren.

  • Der hohe Pegel des Eingangssignals muss mindestens so lange dauern wie die Verzögerung.

Ersetzen Sie also möglicherweise Ihren vorgefertigten Schmitt-Trigger durch vordefinierte Hysteresegrenzen durch einen Trigger mit einem hohen "Ein-zu-Ein" -Schwellenwert und einem niedrigen "Ein-zu-Aus" -Schwellenwert.

Marcus Müller
quelle
2

Der 74HC4538 ist einer, den ich oft benutzt habe. 1 Sekunde ist am Ende des Bereichs abgelaufen. Dies ist ein Ein-Paket-Angebot, da es zwei separate Einheiten hat. Der erste würde die Verzögerung liefern, und sein Ausgang würde den zweiten ansteuern, was die endgültige Impulsbreite erzeugen würde.

Um es klarer zu machen: Die erste Einheit würde als durch eine positive Flanke ausgelöste Einheit konfiguriert, und ihr Q-Ausgang würde die zweite One-Shot-Einheit steuern, die für die Erkennung einer negativen Flanke konfiguriert ist. Die Periode der ersten würde eine Sekunde betragen, und die zweite Einheit würde jede gewünschte Impulsbreite haben (natürlich innerhalb eines vernünftigen Rahmens - wahrscheinlich wäre weniger als eine Sekunde gut.)

Und wenn Sie sich Sorgen machen, TTL mit CMOS zu verbinden, sollten Sie dies nicht tun. Angenommen, das CMOS ist die einzige Last an einem TTL-Ausgang, dann reicht das Hinzufügen eines 1k-Pullup-Widerstands zu +5 ohne großen Aufwand aus.

WhatRoughBeast
quelle
2

Eine weitere 2-Chip-Lösung. Der Vorteil dieses Ansatzes ist die kontinuierliche Uhr, die gemessen und eingestellt werden kann, möglicherweise einfacher als das Timing eines One-Shot-Ereignisses.

Der Eingangsimpuls setzt den NAND-Latch, der Reset vom Zähler entfernt und das Zählen ermöglicht. Nach 8 Taktimpulsen geht der Ausgang hoch. Der nächste Taktimpuls setzt den NAND-Latch zurück, der den Zähler beim Zurücksetzen hält, und deaktiviert ihn.

Die anderen beiden Gates bilden einen RC-Oszillator. Die angegebenen Werte sollten für eine Verzögerung von 1 Sekunde etwa 8 Hz und eine Impulsbreite von 125 ms betragen.

Geben Sie hier die Bildbeschreibung ein

Fast fertig
quelle
Ich stimme immer jeder Antwort zu, die eine 4017 verwendet ;-)
nekomatisch