mikrocontroller.net

Forum: FPGA, VHDL & Co. Altera Stratix II EP2S60 Development Board


Autor: Hi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Altera Development Board. Auf diesem Board sind 2 D/A 
Wandler von TI. Diese 2 D/A Wandler möchte ich mit dem gleichen Takt 
betreiben. Der Takt wird mit einer PLL erzeugt. Wenn ich nun beide D/A 
Wandler mit dem gleichen Signal speise, hat ein D/A Wandler einen 
größeren SNR als der andere. Wie kann das sein? Worin liegt der Fehler?

Autor: Johannes T. (johnsn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieviel db Unterschied, ca?
Welche Wandler genau, wie steuerst du sie an (I2s, parallel, ...)?

Autor: Hi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
20 dB Unterschied.
Ansteuerung erfolgt parallel.

Ich verwende für beide D/A Wandler den gleichen Takt. Kann der Takt die 
Ursache für das Problem sein?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Hi (Gast)

>20 dB Unterschied.
>Ansteuerung erfolgt parallel.

Was für DA-Wandler sind es denn? Mit welcher Taktfreqeunz arbeitest du?

>Ich verwende für beide D/A Wandler den gleichen Takt. Kann der Takt die
>Ursache für das Problem sein?

Ja, die PLLs ind FPGAs machen meist relativ viel Jitter, die sollte man 
nicht für schnelle DACs einsetzen. Besser direkt von einem guten Quarz 
per Takttreiber den Takt beziehen.

MfG
Falk

Autor: Rick Dangerus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Neverever use FPGA generated clocks for ADC!
(Zumindest wenn Du was wichtiges messen willst.)

Rick

Autor: Rick Dangerus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh, ich seh grade, Du hast ja DACs.

Kannst Du Dir die ausgegebenen Takte mit dem Oszi anschauen?
Hast Du timing constraints für die Ausgangstakte vorgesehen?
Entstehen vielleicht setup und/oder hold time-Verletzungen bei dem einen 
DAC?
Kannst Du den Takt ggf. ohne PLL erzeugen?
Wird der Takt über ein FPGA-internes Taktnetzwerk geführt?

Vielleicht sind ja da ein paar Punkte dabei, die weiterhelfen.

Rick

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, falls zu OT, aber sind die PLLs wirklich so schlecht? Ab welcher 
Frequenz wird das ungefähr wichtig? Wie sollte man den Takt sonst 
erzeugen?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Rick Dangerus (Gast)

>Kannst Du Dir die ausgegebenen Takte mit dem Oszi anschauen?

Da brauchst du schon ein verdammt schnelles und gutes Scope, um den 
jitter zu sehen. Der liegt irgendwo bei +/-300ps.

@ Frank (Gast)

>Sorry, falls zu OT, aber sind die PLLs wirklich so schlecht? Ab welcher

Für digitales zeug reichts 8SDRAM etc.), DACs verlieren fix SFDR.

>Frequenz wird das ungefähr wichtig? Wie sollte man den Takt sonst
>erzeugen?

Hab ich oben geschrieben.

MFg
Falk

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Hab ich oben geschrieben.
Hab ich glatt übersehen :( Danke.

Autor: Hi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei dem D/A handelt es sich einen TI DAC904 mit 14 Bit.


Leider habe ich nicht alles verstanden, da ich Anfänger bin.

Was bedeutet timing constraints?
Wo kann man das in der Altera Quartus Software einstellen?

Warum der Takt das SFDR Verhalten beeinflussen?


Ich möchte eine Schaltung aufbauen, mit der man über einen Taster unter 
6 verschiedenen Takte auswählen kann. Die Taktfrequenzen sollten über 
einen PLL im FPGA erzeugt werden. Anschließend soll über ein MUX 
entschieden werden, welcher Takt die D/A Wandler versorgt.
Wie baut man so eine Schaltung am besten auf?

Danke

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Was bedeutet timing constraints?
dict.leo.org ;) Vorgaben, welche Randbedingungen das timing einhalten 
muss. Die Synthesesoftware muss sich dann darum kümmern.

>Warum der Takt das SFDR Verhalten beeinflussen?
Durch Jitter (oder Phasenrauschen, Kurzzeitstabilität) ändert sich der 
Abstand der Zeitpunkte, an denen sich Werte ändern. Damit werden sie 
nicht mehr äquidistant ausgegeben, der "richtige" Wert wird sozusagen 
zum falschen Zeitpunkt ausgegeben. Damit ist das Signal natürlich anders 
als gedacht.

>Ich möchte eine Schaltung aufbauen, mit der man über einen Taster unter
>6 verschiedenen Takte auswählen kann. Die Taktfrequenzen sollten über
>einen PLL im FPGA erzeugt werden. Anschließend soll über ein MUX
>entschieden werden, welcher Takt die D/A Wandler versorgt.
>Wie baut man so eine Schaltung am besten auf?

Erzeuge nur einen Takt und leite aus diesem mit einem Zähler die anderen 
ab. Am besten als enable weiterverwenden und nicht als derived clock. 
Wenn die internen PLLs zu schlecht sind, bleiben wohl nur externe 
Taktquellen übrig, siehe Falks Beitrag.

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.