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


von Hi (Gast)


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?

von Johannes T. (johnsn)


Lesenswert?

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

von Hi (Gast)


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?

von Falk B. (falk)


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

von Rick Dangerus (Gast)


Lesenswert?

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

Rick

von Rick Dangerus (Gast)


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

von Frank (Gast)


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?

von Falk B. (falk)


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

von Frank (Gast)


Lesenswert?

>Hab ich oben geschrieben.
Hab ich glatt übersehen :( Danke.

von Hi (Gast)


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

von Frank (Gast)


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.

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.