50/50 Duty Cycle mit 100 MHz

Gast #3113687
Lesenswert?

Hallo,
ich will in VHDL aus einem Grundtakt von 100 MHz einen 20 MHz Takt mit 
einem Tastverhältnis von 50% erzeugen. Gut von 100 MHz auf 20 MHz ist 
kein Problem, nur habe ich dann ein Tastverhältnis von 40/60.
Bleibt mir wahrscheinlich nur die Möglichkeit den Grundtakt auf 200 MHz 
zu erhöhen...
Für Ideen bin ich sehr dankbar.
Gast #3113691
Lesenswert?

willi k. schrieb:
> Hallo,
> ich will in VHDL aus einem Grundtakt von 100 MHz einen 20 MHz Takt mit
> einem Tastverhältnis von 50% erzeugen. Gut von 100 MHz auf 20 MHz ist
> kein Problem, nur habe ich dann ein Tastverhältnis von 40/60.
> Bleibt mir wahrscheinlich nur die Möglichkeit den Grundtakt auf 200 MHz
> zu erhöhen...
> Für Ideen bin ich sehr dankbar.

Ja, dann ist doch 40MHz machen genauso "kein Problem". Mit diesem Takt, 
toggelst du ein Flipflop hin und her und hast dann 20MHz 50:50
Gast #3113696
Lesenswert?

Ahso ja ... 40 ist nicht unbedingt ein Teiler von 100 :D

Naja gut ... also dann den Takt auf 80MHz absenken oder auf 120MHz 
anheben oder gleich einen Taktgenerator verwenden, der dir aus 120MHz 
saubere 20MHz mit 50:50 duty cycle erzeugt.

Kuck mal nach DCM (xilinx) oder PLL (altera) ... Da gibst du an, was 
reingeht und was rauskommen soll und mit welchen duty cycle, den Rest 
macht der Core selbst.
Moderator (Firma: Titel) Persönliche Seite #3113712
Lesenswert?

willi k. schrieb:
> ich will in VHDL aus einem Grundtakt von 100 MHz einen 20 MHz Takt mit
> einem Tastverhältnis von 50% erzeugen.
In VHDL ist das ganz einfach, da brauchst du nicht mal den 100MHz 
Takt:
1
   clk20MHz <= not clk20MHz after 25 ns;
Fertig.

Ach, so meintest du das nicht?

Was meintest du denn?
Du willst das in "echt" haben?
Mit welchem Baustein willst du diesen Takt erzeugen?
Gast #3113724
Lesenswert?

Nein es soll schon synthetisierbar sein. Der Takt ist fix und kommt aus 
einer DCM. Von diesem will ich zur Ansteuerung eines DAC ein 50/50 20 
MHz Signal erzeugen. Ich wollte eben wissen obs noch andere 
Möglichkeiten zur Taktgenerierung gibt als noch ne DCM zu verwenden.
#3113736
Lesenswert?

willi k. schrieb:
> kommt aus
> einer DCM. Von diesem will ich zur Ansteuerung eines DAC ein 50/50 20
> MHz Signal erzeugen

Aua. DACs und ADCs taktet man nicht mit irgendwelchen erzeugten Takten, 
sondern direkt aus einem jitterarmen Oszillator. Diesen Takt kannst du 
dann parallel an das FPGA führen um ihn intern zu verwenden. Durch den 
vom DCM erzeugten Jitter holst du dir digitales Rauschen in deine 
Signale rein. Bei 20MS/s mag das noch gehen, wenn die Auflösung nicht 
allzu hoch ist. Aber schau mal hier her: 
http://www.maximintegrated.com/design/tools/calculators/general-engineering/jitter.cfm
Gast #3113737
Lesenswert?

Lothar Miller schrieb:
> willi k. schrieb:
>> zur Ansteuerung eines DAC ein 50/50 20 MHz Signal erzeugen.
> Welcher DAC?
> Braucht der 50% TV?
> In welchem zeitlichen Bezug zum 20 MHz Takt gibst du dann die Daten aus?

Hmm ... ich hatte mal mit einem DAC zu tun, der tatsächlich auf den 
duty-cycle von 50/50 angewiesen war ... Kam mir seltsam vor und erst 
hatte ich das einfach ignoriert, was zu komischen Samplewerten geführt 
hat.
#3113775
Lesenswert?

Jitterfrei und DCM? Hmm...nee das passt nicht zusammen. Die 20MHz aus 
einem Oszillator direkt an den ADC führen, das wäre der richtige Weg.
Wenn das aufgrund eines Designfehlers auf der Platine nicht mehr geht, 
dann über DCM die 100MHz durch 5 teilen und per ODDR ausgeben. Dann 
musst du aber mit dem Jitter leben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren