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.
Entweder hast Du einen Fehler in Deinem Code oder Du misst halt Mist! Oh man! Denk mal darüber nach: Wie soll jemand aus Deinen 933 Anschlägen umfassenden Gefasel schlau werden?
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?
Das kann nur dein DAC Hersteller, würde sich sagen, Aber was anderes: Mir scheint der Code so, als ob du beides tust: Cosinu nehmen und 90 Grad verschieben, sodaß sich das wieder aufhebt.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.