Wie in der Überschrift erwähnt: Da der NCO periodisch Interrupts erzeugen kann, was spricht dagegen ihn als Timer zu verwenden? Ich würde ihn zum Abtasten eines Signals benutzen wollen.
Daniel schrieb: > Wie in der Überschrift erwähnt: Da der NCO periodisch Interrupts > erzeugen kann, was spricht dagegen ihn als Timer zu verwenden? Keine Ahnung. Wie kommst du drauf, dass es da ein Problem geben könnte?
my2ct schrieb: > Keine Ahnung. Wie kommst du drauf, dass es da ein Problem geben könnte? Ich frage mich, warum man ihn nicht einfach Timer nennt, so wie üblich.
Daniel schrieb: > Ich frage mich, warum man ihn nicht einfach Timer nennt, so wie üblich. Weil bei einem NCO gegenüber einem einfachen, als Zähler aufgebautem Timer, insbesondere bei hohen Frequenzen ein kräftiger Jitter der Taktflanken dazu kommt. Bei Steuerung zur Abtastung eines Signals wird dadurch die Anzahl der effektiven Bits reduziert. Guck dir das Funktionsprinzip an.
So ein NCO arbeitet meist auf dem Prinzip der DDS. Dessen Grundeigenschaft ist es, daß die Periodendauer des Ausgangssignals in den allermeisten Fällen um 1 Zählertakt schwankt (Jitter). Ein einfacher Zähler macht das nicht, dort ist die Periodendauer konstant. DDS: deutlich höhere Frequenzauflösung, dafür aber Jitter Zähler: deutlich kleinere Frequenzauflösung, dafür jitterfrei
Daniel schrieb: > was spricht dagegen ihn als Timer zu verwenden? > > Ich würde ihn zum Abtasten eines Signals benutzen wollen. Wenn du das NCO Signal nach aussen führst, tiefpass filterst (damit der Jitter weg ist) und dann der Abtastung zuführst dann geht das. Sonst: Falk B. schrieb: > Dessen > Grundeigenschaft ist es, daß die Periodendauer des Ausgangssignals in > den allermeisten Fällen um 1 Zählertakt schwankt (Jitter)
> tiefpass filterst (damit der Jitter weg ist)
Mit einem Tiefpass bekommt man den Phasenjitter nicht weg.
Wenn du keine Ahnung hast dann halt die Finger still.
Falk B. schrieb: > So ein NCO arbeitet meist auf dem Prinzip der DDS. Das mein Microchip auch bzgl. seiner Produkte: https://www.microchip.com/design-centers/8-bit/peripherals/core-independent/numerically-controlled-oscillator
Wolfgang schrieb: > Das mein Microchip auch bzgl. seiner Produkte: > https://www.microchip.com/design-centers/8-bit/peripherals/core-independent/numerically-controlled-oscillator Und genau das ist DDS.
Daniel schrieb: > Ich frage mich, warum man ihn nicht einfach Timer nennt, so wie üblich Weil es kein Timer ist, sondern eben ein Oszillator? Daniel schrieb: > Ich würde ihn zum Abtasten eines Signals benutzen wollen Ja. Machen. Deine Anwendung kennen wir ja nicht. Muß du wissen, ob es paßt...
sparfux schrieb: > Mit einem Tiefpass bekommt man den Phasenjitter nicht weg. Bekommt man schon. Ein Jitter ist spektral gesehen nichts anderes als eine zusätzliche Frequenz neben der Hauptlinie. Im Falle eines DDS ist der Jitter hauptsächlich die Spektrallinie des DAC-Taktes. Und dieser/diese lässt sich durch Tiefpassfilterung unterdrücken. Manchen Leute sagen zu diesem Tiefpass auch Rekonstruktionsfilter. sparfux schrieb: > Wenn du keine Ahnung hast dann halt die Finger still. Das fragt man sich wer da keine Ahnung hat.
Falk B. schrieb: > Und genau das ist DDS. ... nee, dafür totaler Unsinn! Dann erklär mal bitte du Schlaumann, warum der NCO ein DDS sein soll. Und all die anderen Schlauen können auch mal erklären, wie bei dem NCO Prinzip ein Jitter entstehen soll! Ich würde zuerst mal nachlesen , wie NCO aufgebaut ist und was DDS konkret bedeutet.
merciMerci schrieb: > Falk B. schrieb: >> Und genau das ist DDS. > > ... nee, dafür totaler Unsinn! Wenn du das sagt, muss es wohl so sein. > Dann erklär mal bitte du Schlaumann, warum der NCO ein DDS sein soll. Ein NCO KANN auf DDS basieren. NCO numeric controlled oscillator Das ist ein allgemeiner Begriff, der KEINE spezifische Implementierung beschreibt. So wie Auto keine spezifische Marke oder Modell! > Und all die anderen Schlauen können auch mal erklären, wie bei dem NCO > Prinzip ein Jitter entstehen soll! Es ging um den NCO in einigen PIC-Mikrocontrollern, der Wolfgang hatte einen Link gesetzt, und auf der Seite sieht man ein Blockschaltbild, welches klar als DDS identifiziert werden kann. Natürlich ein DDS ohne Sinustabelle und DAC! Nur der reine Akkumulator und das Register. Das MSB wird als Takt verwendet. Das reicht aber für viele Anwendungen. > Ich würde zuerst mal nachlesen , wie NCO aufgebaut ist und was DDS > konkret bedeutet. In der Tat, das solltest du tun ;-)
Falk B. schrieb: > In der Tat, das solltest du tun ;-) Wenn ein NCO ein DDS sein soll, dann glaube ich auch wieder an den Weihnachtsmann! NCO könnte eine Funktionsgruppe einer DDS sein, aber sicher kein DDS selbst. see here https://www.analog.com/media/en/training-seminars/tutorials/MT-085.pdf
merciMerci schrieb: > see here oder auch hier http://ww1.microchip.com/downloads/en/AppNotes/90003131A.pdf Also ich sehe da keine DDS!?
merciMerci schrieb: > NCO könnte eine Funktionsgruppe einer DDS sein, aber sicher kein DDS > selbst. Grob gesprochen fehlt dem NCO einfach nur die Analog-Schnittstelle, also der DAC der aus dem digitalen (NCO-) Datenstrom ein analoges Signal macht. Also Krümelkacker oder Erbsenzähler haben Recht, aber trotzdem ist das Syntheseprinzip eines DDS ein NCO. Und damit lässt sich vereinfacht sagen: NCO = DDS.
Signal Veredler schrieb: > sich vereinfacht sagen: NCO = DDS. OK/ja, der 1-bit DAC wäre ja immer da. https://en.wikipedia.org/wiki/Direct_digital_synthesis Wo soll bei dem NCO/vereinfachten DDS der Jitter entstehen?
merciMerci schrieb: > Wo soll bei dem NCO/vereinfachten DDS der Jitter entstehen? https://en.wikipedia.org/wiki/Direct_digital_synthesis At offsets far removed from the carrier, the phase-noise floor of a DDS is determined by the power sum of the DAC quantization noise floor and the reference clock phase noise floor. Hier ja dann wohl nur der ref clock Jitter, den das Signal schon mitbringt?!
Fuer's allgemeine Verstaendnis und ohne gross Datenblaetter zum Thema NCO lesen zu muessen: Microchip Self-Paced Training – Numerically Controlled Oscillator (NCO) https://www.youtube.com/watch?v=bWHe_PBEPdU
merciMerci schrieb: > Wo soll bei dem NCO/vereinfachten DDS der Jitter entstehen? Dadurch dass die Periode des synthetisierten Ausgangssignals (je nach eingestelltem Frequenzwert) nicht einem ganzzahligen Teilungsfaktor des Systemtaktes entsprechen muss. Eine Bit- Änderung der Synthese kann in diesem Fall +- einer Periode des Systemtakts verschoben auftreten.
merciMerci schrieb: > Ich würde zuerst mal nachlesen , wie NCO aufgebaut ist und was DDS > konkret bedeutet. Hast du den Link auf die MCP-Seite wenigstens mal angeklickt? Genau so sieht ein DDS-Generator aus. Von einem Oszillator ist der übrigens weit entfernt - der Takt muss extern zu geführt werden. Ohne den läuft da gar nichts - k.A. wie die auf das "O" in "NCO" kommen.
Wolfgang schrieb: > k.A. wie die auf das "O" in "NCO" kommen. Daher dass der Schrittweiten-Akkumulator (auch oft Phasen- Akkumulator genannt) zwischen seinen Min- und Maxwerten hin- und her oszilliert.
merciMerci schrieb: > At offsets far removed from the carrier, the phase-noise floor of a DDS > is determined by the power sum of the DAC quantization noise floor and > the reference clock phase noise floor. Es geht hier um die Erzeugung eines digitalen Taktes mit einer bestimmten Frequenz. Den DAC kannst du ganz schnell wieder vergessen - falscher Film.
merciMerci schrieb: > https://en.wikipedia.org/wiki/Direct_digital_synthesis > At offsets far removed from the carrier, the phase-noise floor of a DDS > is determined by the power sum of the DAC quantization noise floor and > the reference clock phase noise floor. > > Hier ja dann wohl nur der ref clock Jitter, den das Signal schon > mitbringt?! Wenn man es so macht wie im Wiki-Artikel beschrieben - also eine sinusförmige Spannung erzeugt und ein analoges Rekonstruktionsfilter nachschaltet, und dann meintwegen einen Komparator auf den Nulldurchgang des Sinus schalten lässt - dann stimmt die Betrachtung. Aber wenn nicht den Umweg über eine Sinus-Erzeugung und eine analoge Filterung geht, dann stimmt sie nicht. Der TO spricht von einem NCO als Timer-Ersatz. Er hat sein Vorhaben zwar nicht ganz eindeutig beschrieben, aber es ist zumindest naheliegend, dass er einfach den Überlauf des Phasenakkumulators nutzen will, um seine Abtastpulse zu generieren. Dann kommt zusätzlicher Jitter dazu, weil die Abtastperiode mit dem µC-Takt quantisiert sind. Würde er direkt einen Timer nutzen, dann könnte er nur solch Abtastperioden einstellen, die sich direkt aus dem Prozessortakt herunterteilen lassen - es gibt keinen zusätzlichen Jitter. Der NCO hat aber eine höhere Frequenzauflösung. Mit ihm lassen sich auch Abtastfrequenzen einstellen, die sich nicht direkt aus dem Prozessortakt teilen lassen. Und dann entsteht der Jitter. Ein Rechenbeispiel: die Grundtakt des Prozessors sei meintwegen 10MHz, eine Periode also 100ns. Mit einem Timer lässt sich dann z.B. eine Abtastfrequenz von 1Mhz einstellen (10 Grundtakte, 1µs) oder eine von 909,09kHz (11 Grundtakte, 1,1µs). Beide Frequenzen könnten vom Timer jitterfrei erzeugt werden, aber Zwischenfreuqenzen wären nicht möglich. Mit dem NCO und seiner höheren Frequenzauflösung lassen sich dagegen auch Zwischenfrequenzen erzeugen. Bei passender Wahl des Phaseninkrements lässt sich eine Abtastfrequenz von 952,38kHz einstellen (also 10,5 Perioden des Grundtakts 1,05µs). Dann erzeugt der "einfache" NCO abwechselnd Perioden von 1µs und von 1,1µs. Im Mittel werden die gewünschten 1,05µs erreicht, jede einzelne Periode jittert aber um 0,5µs hin und her.
Daniel schrieb: > Wie in der Überschrift erwähnt: Da der NCO periodisch Interrupts > erzeugen kann, was spricht dagegen ihn als Timer zu verwenden? Nichts.
> was spricht dagegen ihn als Timer zu verwenden? > Nichts. Der NCO kann keine PWM und hat auch sonst nichts extra was eigentlich zu einem richtigen Timer gehoert. Wenn einem eine immanent jitternde Taktquelle reicht, dann mag das reichen.
Erstmal danke dem TE für den Hinweis, kannte das Teil noch nicht sparfux schrieb: > Wenn einem eine immanent jitternde Taktquelle reicht, > dann mag das reichen. Wenn ich das richtig verstanden habe dann ist das ein Timer bei dem dem Vorteiler und Zähler durch einen 2x20 bit Addierer ersetzt wurden Das Ding teilt eine Frequenz nicht in 1,2,8 usw auf sondern mit einer Auflösung von max. 2^20 = 1.xx Mio. DDS sehe ich da nicht. Da ist natürlich (wie bei jede digitalen Verarbeitung) ein Jitter von einem 1/2 LSB Bit (oder 1 Bit bin nicht so theoriefest). Wird das Teil voll ausgenutzt dann sind das 0,5 ppm (1ppm). Kenne Anwendungen wo das akzeptabel ist ;-).
Wer einen Phasenakkumlator nicht sieht
> DDS sehe ich da nicht.
braucht eine Brille.
Und es ist kein Timer, sondern ein Oszillator.
Steht ja auch schon im Namen.
Fuer manches mag das reichen, einen Timer mit allen
Bells & Whistles ersetzt der NCO eben nicht.
sparfux schrieb: > Wer einen Phasenakkumlator nicht sieht Da sehe ich einen Addierer wie er auch im Akku eines DDS Systems verwendet wird. Den gibt es aber auch in einer ALU. sparfux schrieb: > Und es ist kein Timer, sondern ein Oszillator. Kommt vielleicht darauf an wie man Oszillator definiert. Bei dem NCO schwingt nichts, das Teil braucht einen externen Takt und geht auch bei null Hertz los. Kann ja sein das ich falsch liege, aber ich sehe einen Teiler der durch einen Addierer realisiert ist. Das hat Microchip gemacht um sehr feine Teilschritte erzeugen zu können wie das auch bei DDS gemacht wird. Meinetwegen kann man das auch DDS nennen, hat dann halt nur 2 Phasenlagen (nur ein Carry bit). Den Namen finde ich etwas unglücklich, auch die Darstellung im Datenblatt.
sparfux schrieb: > Fuer manches mag das reichen, einen Timer mit allen > Bells & Whistles ersetzt der NCO eben nicht. Man kann ihn ja vor einen Timer hängen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.