www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Jitter am Ausgang vom Spartan-3E


Autor: Der Daimlerfahrer (daimlerfahrer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus zusammen,

ich stehe schon wieder vor einem Problem mit meinem Spartan-3E Design:
Mein 13 MHz Takt erreicht den Ausgang mit einem deutlichen Jitter von 
bis zu 500 ps. Ich habe bereits mehrere Taktquellen versucht und auch 
höhere Takte heruntergeteilt und diese intern verwendet (sowohl per VHDL 
als auch mit Hilfe des DCMs).
Könnt ihr mir ein paar Tipps geben, wie ich den Jitter im FPGA schwächen 
kann?
Danke und Grüße

PS: Den Thread hier Beitrag "Xilinx Spartan3 - timing jitter" habe ich 
bereits gelesen und beschäftige mich derzeit mit der Theorie zu PLLs und 
DLLs.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Der Daimlerfahrer (daimlerfahrer)

>Mein 13 MHz Takt erreicht den Ausgang mit einem deutlichen Jitter von
>bis zu 500 ps. Ich habe bereits mehrere Taktquellen versucht und auch

Naja, wozu soll der Takt denn verwendet werden?

>höhere Takte heruntergeteilt und diese intern verwendet (sowohl per VHDL
>als auch mit Hilfe des DCMs).

DCMs, DLLs und PLLs im FPGA kannst du da vergessen, die machen ziemlich 
viel Jitter. Generell sind FPGAs nicht so doll, was Jitter von 
durchgeschleiften Takten angeht.

Externe PLLs sind da schon was anderes.

>Könnt ihr mir ein paar Tipps geben, wie ich den Jitter im FPGA schwächen
>kann?

Nicht erst durchschleifenn. Ausserhalb mit Taktreiber den Takt 
sternförmig ans FPGA und die andern ICs führen.

MfG
Falk

Autor: Der Daimlerfahrer (daimlerfahrer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider muss ich den Takt durchs FPGA führen, da ich dort eine PWM damit 
mache und den Ausgang des FPGA auf einen Treiber weitergeben möchte.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Der Daimlerfahrer (daimlerfahrer)

>Leider muss ich den Takt durchs FPGA führen, da ich dort eine PWM damit
>mache und den Ausgang des FPGA auf einen Treiber weitergeben möchte.

Nu ja, man kann schon eineiges machen, 500ps klingt schon recht viel. 
Wie sieht dein Layout aus?
Sauber und reichlich Abblockkondensatoren?
 An der VCC-IO Bank, an welcher der Takt eingespeist wird sollten 
möglichst wenig, und nur langsame Ausgänge schalten, die machen nämlich 
auch Jitter durch pulsartige Belastung von VCC-IO.
Für diese Bank VCC-IO gesondert über LC-Filter führen, ähnlich wie bei 
ADCs.

MFG
Falk

Autor: Joko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Der Daimlerfahrer (daimlerfahrer)

nur, um einen 'sehr speziellen Effekt' auszuschließen:
verwendest Du 2 DCMs, die 'nebeneinander' liegen ?

Gruß
Jochen

Autor: Der Daimlerfahrer (daimlerfahrer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bisher arbeite ich auf dem Spartan-3E Eval Board. Demnach habe ich wenig 
Einfluss auf Positionierung und Dimensionierung der Cs.
Ich werde mal versuchen den Clock etwas "frei" zu stellen und andere 
Ein- und Ausgänge entfernt zu platzieren.
Danke schonmal für Deine Tipps!

Autor: Joko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Der Daimlerfahrer (daimlerfahrer)

das Eval-Board sollt i.O. sein - dort würde ich als letztes suchen...

nochmal - jetzt etwas eindringlicher: verwendest Du 2 DCMs, die
nebeneinander liegen ?

Autor: Der Daimlerfahrer (daimlerfahrer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich verwende in meinem Design nur einen DCM, um den Takt in 90° 
Schritten zu schieben.
Sorry hatte meinen Beitrag geschrieben während Du die Frage gepostet 
hast...

Ich benutze intern einige Bufferketten, die mir ein zusätzliches Delay 
geben. Daher kommt wohl der Jitter... Denn je mehr Buffer ich nutze, 
desto stärker fällt der Jitter aus.

Autor: Joko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Sorry hatte meinen Beitrag geschrieben während Du die Frage gepostet
>hast...
passiert mir auch ;-)

>Ich verwende in meinem Design nur einen DCM
o.k. - dann fällt mein Verdacht aus

>Ich benutze intern einige Bufferketten, die mir ein zusätzliches Delay
>geben.

Stichwort: Verwendung des dyn. Phaseshift einer DCM als Alternative !?!

Gruß
Jochen

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Joko (Gast)

>>Ich benutze intern einige Bufferketten, die mir ein zusätzliches Delay
>>geben.

Ohhh,ich ahne schreckliches.

>Stichwort: Verwendung des dyn. Phaseshift einer DCM als Alternative !?!

Wenn man in einem FPGA einen jitterarmen Takt haben will sind SÄMTLICHE 
DCMs, DLLS, PLLs etc. tabu!

Und wozu meinst du, die 90 Grad Version des 13 MHz Taktes zu brauchen?

MFG
Falk

Autor: Joko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Falk
>Wenn man in einem FPGA einen jitterarmen Takt haben will sind SÄMTLICHE
>DCMs, DLLS, PLLs etc. tabu!

Ich stimme Dir 'im Prinzip' zu - die Frage ist nur, was man als
jitterarm bezeichnen möchte:
- bei den angegebenen 500ps ist (selbst bei der Verwendung einer DCM)
   irgendwas oberfaul !
- 200 ps sollten aber selbst mit einer DCM möglich sein
- für deutlich weniger Jitter sind dann DCMs tabu
- PLLs hingegen können bei geeigneter Verwendung sogar den Jitter
  verringern

"dyn." Phase-Shift war natürlich nur zur 'Einstellung' der gewünschten
Phasenlage gedacht - im Moment der 'Verstellung' ergibt sich
definitionsgemäß natürlich ein 'extremer' Jitter

Bei 13MHz würd' ich mir allerdings überlegen, ob ich nicht einen
höheren, jitterarman Takt (auf dem Board vorhanden ?) verwenden kann,
um daraus dann die geforderten 'timings' zu abzuleiten...

Gruß
Jochen

Autor: Der Daimlerfahrer (daimlerfahrer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Punkt ist tatsächlich, dass ich dynamische Phaseshifts erzeugen 
möchte, die kleinere Schritte aufweisen, als mit einem Zähler zu 
realisieren wäre...
Zudem soll das ganze sehr schnell einstellbar sein. Damit kommt der PS 
im DCM nicht in Frage (auch wenn der 'nur' ein paar Takte braucht).

Die 90°,180° und 270° Schritte brauche ich, um mein Signal bei Bedarf 
bis zu 360° zu verschieben.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Joko (Gast)

>- bei den angegebenen 500ps ist (selbst bei der Verwendung einer DCM)
>   irgendwas oberfaul !

Jain. Das ist abhängig von vielen EInstellungen, Freqeunzverhälnissen 
etc.

>- 200 ps sollten aber selbst mit einer DCM möglich sein

Unter Umständen.

>- für deutlich weniger Jitter sind dann DCMs tabu
>- PLLs hingegen können bei geeigneter Verwendung sogar den Jitter
>  verringern

PLL != PLL

Die internen in FPGAs sind bei weitem nicht so gut wie man landläufig 
denkt.

>Die 90°,180° und 270° Schritte brauche ich, um mein Signal bei Bedarf
>bis zu 360° zu verschieben.

Dann nimm 4x13MHz, das ist wesentlich einfacher und jitterarm.

MFG
Falk

Autor: Der Daimlerfahrer (daimlerfahrer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das wäre meine nächste Frage gewesen: Bekomme ich weniger Jitter, wenn 
ich einen höheren Takt nehme und mir daraus meine 13 MHz generiere mit 
der entsprechenden Phasenstellung (90, 180 und 270 Grad)?

Und wie verhält es sich, wenn ich noch einen Tiefpass am Ausgang 
vorsehen würde und diesen wieder an einen Komparator führe? Entsprechend 
Dimensioniert sollte mein Signal doch sauberer werden!?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.