Ich möchte in der Lage sein, einfache Oszillatorschaltungen zum Takten in digitalen Schaltungen zu erstellen, und frage mich, was das einfachste Design ist, das die Leute kennen.
Ich könnte einen einfachen Ringoszillator verwenden, der ziemlich einfach ist
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
aber das würde viel schneller laufen als ich will - idealerweise um 0,1 Hz bis 10 Hz zu erreichen.
Im Moment verwende ich einen bistabilen Oszillator wie diesen:
Simulieren Sie diese Schaltung
Das funktioniert gut und ich kann die Frequenz steuern, indem ich die Kondensator- und Widerstandswerte variiere. Ich frage mich nur, ob es bessere/einfachere Schemata gibt? Insbesondere hätte ich gerne solche ohne die Passiven, aber nichts Komplizierteres als die grundlegende Logik (NOT, NAND, NOR usw.).
Irgendwelche Beiträge/Ideen wären toll, danke!
Wenn Sie keine passiven Komponenten verwenden möchten, finden Sie hier eine vollständig digitale Lösung. Mir ist klar, dass die Verwendung der Zählerchips über Ihren Wunsch hinausgeht, nur einfache Logikgatter (NAND, NOR usw.) zu verwenden, und tatsächlich kann man die unten verwendeten Zähler aus diesen Elementen konstruieren, aber die Komplexität würde dies unpraktisch machen.
Nehmen Sie Ihren ersten Oszillator und fügen Sie zwei weitere Inverter hinzu. Die typische Ausbreitungsverzögerung t tpd eines 74HCT04-Inverters beträgt 14 ns. Dies führt zu einer Ausgangsfrequenz von ca. 70 MHz (die ich in CircuitLab simuliert habe). Der Grund für die Verwendung der niedrigeren Frequenz ist zweierlei; Es ermöglicht eine größere Auswahl an Teilen zum Unterteilen (zum Beispiel hat der 74HC4024-Teil unten eine maximale Frequenz von 90 MHz), und 70 MHz unterteilen unter Verwendung von Binärzählern näher an 1 Hz als 120 MHz.
Unter Verwendung eines 7-stufigen Ripple-Zählers 74HC4024 verwenden Sie den Q4-Tap, um die 70 MHz durch 32 zu teilen, was eine Frequenz von ungefähr 2,19 MHz ergibt.
Verwenden Sie dann einen CD4521 24-Stufen-Zähler und verwenden Sie den Q18-Tap, um 2,19 MHz durch 262144 zu teilen, was eine Frequenz von 8,34 Hz ergibt. Unter Verwendung des Abgriffs Q21 erzeugt das Teilen von 2,19 MHz durch 2097152 1,04 Hz. Unter Verwendung des letzten Abgriffs Q24 ergibt das Teilen von 2,19 MHz durch 16777216 0,13 Hz.
Also nicht ganz der volle Bereich, nach dem Sie gefragt haben (0,1 bis 10 Hz), aber nahe dran (0,13 bis 8,34 Hz, einschließlich 1 Hz fast genau), und es gibt vier zusätzliche Abgriffe dazwischen, die verwendet werden können.
Dies würde drei ICs benötigen - die fünf Inverter in einem 74HCT04 und die beiden Zähler.
Ich würde dringend empfehlen, für diese Aufgabe ein CPLD zu verwenden. Der CPLD-Chip allein erledigt alles, was Sie brauchen, in einem IC zu einem sehr günstigen Preis.
Wie von Tcrosley erwähnt, erhalten Sie bei Verwendung von 5 NOT-Gattern in Reihe etwa 70 MHz, und von dort aus müssen Sie sie herunterteilen. Es wird jedoch mit ziemlicher Sicherheit nicht 70 MHz sein und hängt davon ab, welche CPLD Sie auswählen, wenn Sie dies tun, und Sie müssen natürlich auf der Grundlage der jeweiligen Ausbreitungsverzögerung rechnen.
Wenn Sie 23 Flip-Flops als Teiler in Reihe verwenden, wird dies auf 8,34 Hz heruntergeteilt, und wenn Sie 29 verwenden, erhalten Sie 0,13 Hz.
Soweit ich gehört habe, enthalten CPLDs normalerweise 1 Flip-Flop pro Makrozelle, daher benötigen Sie mindestens 29 Makrozellen.
Tatsächlich hat eine der billigsten Optionen von Lattice Semi , die für 1,20 $ pro Chip erhältlich ist, 32 Makrozellen.
Und nicht zuletzt können Sie das Design und damit die Frequenz Ihres Oszillators einfach ändern, indem Sie einfach neuen Code hochladen, ohne dass Sie etwas neu verkabeln müssen.
Bearbeiten
Und tatsächlich müssten Sie in diesem Fall nicht einmal Logikelemente verwenden, um die Inverter zu erstellen, da viele CPLDs bereits Taktelemente enthalten. Kodieren Sie einfach die Uhr, um eine Verbindung zu Ihrer Teilerkette herzustellen, und senden Sie die Ausgabe an Ihre E/A.
Majenko
Wouter van Ooijen
Russell McMahon
Majenko
David Tweed
Majenko
Geil
mkeith
EM-Felder
EM-Felder
EM-Felder
Geil
John Meacham