Sinus-Generator von FPGA an DAC analog umwandeln

Gast #1946455
Lesenswert?
• ▲
▼
Hallo,

ich habe auf einem ML505-Board von Xilinx testhalber mal einen 
Sinus-Generator in Verilog erzeugt, der mein Signal aus dem FPGA analog 
umwandeln soll. Als DAC verwende ich einen DAC5686 von TI.
Das ist ein zweikanaliger 16-Bit DAC, bei dem ich umgewandelt auf dem 
einen Kanal einen Sinus und auf dem anderen einen Cosinus erwarte.
Nun ist das aber so, dass ich aus beiden Kanälen ein und das selbe 
Signal bekomme, obwohl ich (schon gemessen) andere Zahlenwerte an den 
Biteingängen habe. In der Simulation hat es eigentlich soweit gepasst 
und auch am Eingang des DAC messe ich die richtigen Werte.
D.h. ich müsste den DAC nun auch so einstellen, dass er mir beide 
Signale die ich haben möchte auch richtig, also um 90° phasenverschoben, 
liefert. Habe schon alle erdenklichen Einstellungen probiert: 
2-Komplement ist eingestellt, DAC Coarse Gain auf Maximum usw. ich 
hoffe, dass mir jemand bei diesem Problem helfen kann.
Gast #1946551
Lesenswert?
• ▲
▼
hmm okay - dann halt in der Praxis:

- folgender Code:
module sin_gen(clk, reset, sin, cos, send_clk);
  //Variablen
   input clk, reset;
   output[15:0] sin, cos;
   output send_clk;
  reg[15:0] sin_r, cos_r;

  //Berechnung
  assign      send_clk = clk;
   assign      sin = sin_r + {cos_r[15], cos_r[15], cos_r[15], 
cos_r[15], cos_r[15], cos_r[15], cos_r[15], cos_r[15], cos_r[15:8]};
   assign      cos = cos_r - {sin[15], sin[15], sin[15], sin[15], 
sin[15], sin[15], sin[15], sin[15], sin[15:8]};


   always@(posedge clk or negedge reset)
     begin
         if (!reset) begin
             sin_r <= 0;
             cos_r <= 32752;
         end else begin
                 sin_r <= sin;
                 cos_r <= cos;
             end
     end
endmodule

- folgendes Simulationsergebnis:
Sinus: 1 ....32755 32756 32755 ... 1 0 -1 ... -32755 -32756 -32755 ... 
-1 0 1 ...

Cosinus: 32755 ... 1 0 -1 ... -32755 -32756 -32755 ... -1 0 1 ...

- folgendes real analog moduliertes Ergebnis:
siehe Bild im Anhang


Kann mir jemand verraten wie ich den Hilbert-Transformator im DAC 
abschalten kann bzw. Dual-DAC-Einstellungen vornehmen kann ohne, dass 
diese sich am Ausgang miteinander addieren bzw. der eine auf den anderen 
multipliziert wird?
Angehängte Dateien:
Gast #1948889
Lesenswert?
• ▲
▼
Danke, aber nö - Code hat gepasst!
Das Problem lag wirklich am DAC... auf dem Board waren vier 
0-Ohm-Widerstände, die NC sein hätten sollen, mit denen beide 
DAC-Ausgänge auf +3,3V kurzgeschlossen wurden, nachdem ich die 
rausgenommen habe war die Phasenverschiebung schön sichtbar.

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