Forum: FPGA, VHDL & Co. DCO Implementierung auf FPGA


von Halil E. (halil_e)


Lesenswert?

Ich arbeite an einem DCO. Die Verzögerungsleitung implementiere ich mit 
LUT-Zellen auf einem FPGA. Ich verwende LUT1-Elemente als Inverter und 
überspringe pro Schritt zwei Inverter. Danach nutze ich vier weitere 
LUTs als Buffer und gehe pro Schritt um einen Buffer weiter, um eine 
feinere Verzögerungsauflösung zu erreichen.

Wenn sich jedoch das Steuersignal ändert, bekomme ich Glitches am 
Ausgang. Wie kann ich diese Glitches kompensieren oder vermeiden? Bei 
kleinen Perioden treten keine Probleme auf, aber im mittleren 
Periodenbereich schon, und die Signalform wird verzerrt.

: Bearbeitet durch User
von Christoph db1uq K. (christoph_kessler)


Lesenswert?

https://de.wikipedia.org/wiki/DCO
Doping Control Officer ?
https://de.wikipedia.org/wiki/Digitally_Controlled_Oscillator
= DDS + DAU
dümmster anzunehmender User?
Digital-Analog-Umsetzer (DAU)

Verzögerungsleitung? Ein DDS ist normalerweise ein Addierer, dessen 
Ergebnis der nächste Eingangswert wird.

von Halil E. (halil_e)


Lesenswert?

Christoph db1uq K. schrieb:
> https://de.wikipedia.org/wiki/DCO
> Doping Control Officer ?
> https://de.wikipedia.org/wiki/Digitally_Controlled_Oscillator
> = DDS + DAU
> dümmster anzunehmender User?
> Digital-Analog-Umsetzer (DAU)
>
> Verzögerungsleitung? Ein DDS ist normalerweise ein Addierer, dessen
> Ergebnis der nächste Eingangswert wird.

Hallo,
ich habe mit DCO Digitally Controlled Oscillator gemeint: 
https://de.wikipedia.org/wiki/Digitally_Controlled_Oscillator

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Halil E. schrieb:
> Die Verzögerungsleitung implementiere ich mit
> LUT-Zellen auf einem FPGA. Ich verwende LUT1-Elemente als Inverter und
> überspringe pro Schritt zwei Inverter. Danach nutze ich vier weitere
> LUTs als Buffer und gehe pro Schritt um einen Buffer weiter, um eine
> feinere Verzögerungsauflösung zu erreichen.

1.) Axo, dieee Verzoegerungsleitung. Das zentrale Bauteil jedes DCO...
2.) Vielleicht mehr Bilder und weniger Prosa?

Gruss
WK

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

in Wikipedia verlinkt:

https://www.latticesemi.com/Products/DesignSoftwareAndIP/IntellectualProperty/IPCore/IPCores02/NumericallyControlledOscillator.aspx

Da ist ein DCO im FPGA von Lattice beschrieben. Wie gesagt vor allem ein 
Addierer, der hier Phase accumulator heißt. Und da der im Prinzip eine 
Treppenspannung liefert, muss dahinter noch eine Sinustabelle (LUT = 
look-up table) folgen. Die hat aber nichts mit FPGA-lookup-tables zu 
tun.

von Halil E. (halil_e)


Angehängte Dateien:

Lesenswert?

> 1.) Axo, dieee Verzoegerungsleitung. Das zentrale Bauteil jedes DCO...
> 2.) Vielleicht mehr Bilder und weniger Prosa?
>
> Gruss
> WK
> 1.) Axo, dieee Verzoegerungsleitung. Das zentrale Bauteil jedes DCO...

Ja, ich möchte LUT1 als Inverter verwenden und sie miteinander 
verbinden, sodass eine Oszillation entsteht. Mit einem MUX kann ich 
verschiedene Knoten auswählen, wodurch sich die Periodendauer ändert.
Aber beim Umschalten der Knotenpunkte treten Verzerrungen auf. Wie kann 
ich diese beseitigen? Ich habe auch ein Bild hinzugefügt

Viele Grüße

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Au weia. Na, hoffentlich hast du gute Gruende, dir so ein 
Minenfelddesign ans Bein zu binden.
Vielleicht rippelt es sich zurecht, wenn du als Ausgang des 
Desasteroszillators nicht das 1. Delayelement nimmst, sondern das 
letzte.

Gruss
WK

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
Noch kein Account? Hier anmelden.