Forum: FPGA, VHDL & Co. PYNQ-Board Audio (AUD_SD Signal kommt am LP-Filter nicht an).


von Benjamin K. (speedybk)


Lesenswert?

Hallo, ich weiß nicht, ob ich hier richtig bin, aber ich habe ein 
kleines Problem mit dem PYNQ-Board, vielleicht hat ja jemand schon 
ähnliche Probleme gehabt:

Hier erstmal der Schaltplan des Board: 
https://reference.digilentinc.com/_media/reference/programmable-logic/pynq-z1/pynq-z1_sch.pdf

Ich möchte nun ein Audiosignal puls-weiten-modulieren und dies über den 
Line Out des Boards ausgeben. Nun bin ich an einem Punkt, dass ich das 
Audiosignal am Klinkenausgang des Boards superleise hören kann. Für mich 
ergab sich so der Eindruck, dass die OP-Amps des AD8592ARMZ nicht 
arbeiten. Also habe ich die anliegendes Signale an dem IC per Oszi 
geprüft. Dabei viel auf, dass an Pin 5 und 6 (AUD_SD) kein Signal 
anliegt. (Alles andere sah gut aus)

Ich habe nun zur Fehlersuche den VHDL-Code soweit vereinfacht zu:
1
AUD_SD_o <= '1';

im Constraint File steht folgendes, was relevant ist:
1
set_property -dict { PACKAGE_PIN T17   IOSTANDARD LVCMOS33 } [get_ports { AUD_SD_o }]; #IO_L20P_T3_34 Sch=aud_sd
2
set_property -dict { PACKAGE_PIN R17   IOSTANDARD LVCMOS33 } [get_ports { AUD_SD_o }]; #IO_L19N_T3_VREF_34 Sch=ck_io[11]

Pin R17 gibt 3.3V aus.

Hat jemand von euch eine Idee, warum da jetzt nichts am AD8592ARMZ 
ankommt?

von Klakx (Gast)


Lesenswert?

Musst du nicht ein Signal an AUD_PWM anlegen? Das wäre R18

K. A. was du mit CLK_IO11 auf R17 vor hast.

von Benjamin K. (speedybk)


Lesenswert?

AUD_PWM liegt auch an R18, habe ich vergessen zu schreiben, und das 
kommt auch am AD8592ARMZ an.

Das Signal an R17 war einfach nur zum Fehler suchen da der CK_IO11 
ziemlich gut zugänglich ist.

: Bearbeitet durch User
von Duke Scarring (Gast)


Lesenswert?

Benjamin K. schrieb:
> AUD_SD_o <= '1';
Lt. Datenblatt ist SD (shutdown) low active:
http://www.analog.com/media/en/technical-documentation/data-sheets/AD8591_8592_8594.pdf

Ich mache das sehr gerne im Signalnamen kenntlich:
AUD_SD_n

> im Constraint File steht folgendes, was relevant ist:
> set_property -dict { PACKAGE_PIN T17   IOSTANDARD LVCMOS33 } [get_ports
> { AUD_SD_o }]; #IO_L20P_T3_34 Sch=aud_sd
> set_property -dict { PACKAGE_PIN R17   IOSTANDARD LVCMOS33 } [get_ports
> { AUD_SD_o }]; #IO_L19N_T3_VREF_34 Sch=ck_io[11]
Hmm, da steht zweimal AUD_SD?!? Und statt R18 steht R17 da. Lt. 
Schaltplan (und lt. Kommentar) ist R17 mit CK_IO11 belegt!

Auf AUD_PWM würde ich mir für Testzwecke 1 kHz Rechteck ausgeben.
Am besten gleich per SW1 oder SW0 schaltbar machen. So ein Ton wird 
schnell unangenehm...

Duke

von Benjamin K. (Gast)


Lesenswert?

Also, es läuft jetzt. Scheinbar war das Problem wirklich, dass ich 
versuchte einen Ausgang der Top-Level Entity im Constraint-File auf 2 
Pins des FPGAs zu mappen.

Schonmal danke an alle. :)

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.