Ich bin neu in der Entwicklung eingebetteter Systeme. Ich muss ein 56-kHz-Signal mit einer MCU erzeugen, die mit 1 MHz läuft. Ich möchte eine hohe Genauigkeit. Wenn ich nur einen Timer verwende, gibt er mir 55,55 kHz.
Gibt es eine Möglichkeit, die Taktfrequenz auf einen hohen Wert zu teilen und damit ein 56-kHz-Signal zu erzeugen?
56,00 kHz ist 1 MHz / 17,86. Das bedeutet, dass ein einfacher ganzzahliger Teiler nur 1 MHz / 17 = 58,82 kHz oder 1 MHz / 18 = 55,56 kHz treffen kann. Wenn Sie den 1-MHz-Takt nicht ändern können (sehr langsam für einen normalen Mikrocontroller) und ihn nur durch eine ganze Zahl teilen können, dann nein, Sie können nicht 56,00 kHz erhalten.
Es gibt mehrere Möglichkeiten:
Finden Sie die höchste Frequenz, die 1000 kHz und 56 kHz teilt [GCD (1000 kHz, 56 kHz) = 8 kHz]. Verwenden Sie als Nächstes einen Phased-Locked-Loop (PLL) - der cmos 4046 fällt mir ein.
Die PLL hat einen eingebauten spannungsgesteuerten Oszillator (VCO), der (mit der richtigen Wahl von R und C) so eingestellt werden kann, dass er ungefähr 56 kHz erzeugt. Der 56-kHz-Ausgang kann mit einer Teiler-durch-7-Schaltung auf 8 kHz heruntergeteilt werden. Sie können die MCU dafür verwenden, wenn sie über Interrupt-gesteuerte Zähler/Timer verfügt. Wenn nicht, ist es eine Hardwarelösung.
Jetzt müssen Sie von den 1 MHz genaue 8 kHz ableiten, und möglicherweise wird die MCU dies auch tun ODER Sie benötigen Hardware.
Die genauen 8 kHz werden in den Phasenkomparator der PLL eingespeist, und das heruntergeteilte Signal vom VCO der PLL wird ebenfalls eingespeist. Das o / p des Phasenkomparators ist ein variierender DC-Pegel, der mit vielen AC-Signalen überlagert ist, die Sie mit einem RC-Netzwerk filtern müssen.
Dieser Ausgang speist den VCO-Eingangspin auf der PLL und sollte hoffentlich den VCO-Ausgang auf 56 kHz sperren. Hier ist ein Bild, das ich gefunden habe und das zeigt, wie 1 Hz in 1 kHz umgewandelt werden kann: -
Die 3 x 4017 teilen den nominalen 1-kHz-Ausgang des VCO herunter, um zu versuchen, den 1-Hz-Eingang des GPS anzupassen. Der Ausgang des Phasenkomparators, das Filter und die Rückkopplung in den VCO der PLL bringen den VCO bald "in-lock". Die drei 4017er entsprechen der zuvor erwähnten Division durch 7. Das 1-Hz-Signal vom GPS entspricht den genauen 8 kHz, die von dem zuvor erwähnten 1-MHz-Takt abgeleitet werden.
Oder leben Sie mit 55,55 kHz
Der AtxMega128D4 läuft laut Datenblatt (Seite 5) mit einem externen Quarz von 0,4 bis 16 MHz. Es ist nicht auf 1 MHz begrenzt.
Wählen Sie eine Frequenz, die ein genaues Vielfaches von 56 kHz ist – zum Beispiel ist ein 7-MHz-Quarz genau 125 mal 56 kHz. Sie sollten in der Lage sein, Ihren Timer damit einzurichten (oder einen 14-MHz-Quarz zu verwenden und durch 250 zu teilen).
(Ich habe gerade festgestellt, dass dies eine alte Frage ist, aber ich denke, meine Antwort ist immer noch nützlich, um sie auf der Website zu haben.)
Chris Stratton
Benutzer17592
Brian Carlton
Olin Lathrop
Benutzer21986
Markierungen
Anindo Ghosh
Millionen