Forum: FPGA, VHDL & Co. FPGA zieht Input Signal auf 0


von Martin (Gast)


Lesenswert?

Hallo an alle,

Ich habe ein PWM signal, das ich mit einem FPGA auswerten will. Das 
Problem aktuell liegt aktuell aber beim Input Signal.

Das PWM-Signal liegt vor (überprüft mit einem Logikanalzyer). Sobald 
aber der FPGA programmiert wird, wird das Signal auf 0 gezogen. Resete 
ich den FPGA wieder, liegt auch das Signal wieder an.

Mein Constraints im XDC File sehen für den betreffenden Pin 
folgendermaßen aus:
1
set_property PACKAGE_PIN W20 [get_ports {pw_range}]
2
set_property IOSTANDARD LVCMOS33 [get_ports {pw_range}]

Das Signal wird dann direkt auf einen Input einer Entity geroutet. Ich 
verwende einen ZYNQ FPGA am Zybo Board und beschreibe mit Vivado 2014.2.

Hat irgendjemand eine Idee, warum der FPGA das Signal nach 0 zieht?

Mit freundlichen Grüßen
Martin

: Verschoben durch Moderator
von Martin (Gast)


Lesenswert?

@Moderatorenteam: Hab aus Versehen mein Problem ins englischsprachige 
Forum geschrieben. Könnt ihr es bitte ins deutschsprachige Forum 
verschieben, oder soll ich einen neuen Thread aufmachen?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Martin schrieb:
> Das PWM-Signal liegt vor
Von woher?
Mit welchem Innenwiderstand?
Welchen Pegel (bzw. Pullup/Pulldown) ordnest du unbenutzen Pins zu?

> der FPGA
Hmmm... der Array oder das Array?

von Martin (Gast)


Lesenswert?

Lothar Miller schrieb:
> Von woher?

Aus einem Sensorinterface 
(https://www.digilentinc.com/Products/Detail.cfm?NavPath=2,719,1271&Prod=PMOD-MAXSONAR). 
Da ich noch keinen Schaltplan habe (habe bereits angefragt), kann ich 
das nicht genauer beantworten. So wie ich das sehe, dürfte am Sensor ein 
kleiner µC drauf sein, der das Signal generiert.

Lothar Miller schrieb:
> Welchen Pegel (bzw. Pullup/Pulldown) ordnest du unbenutzen Pins zu?

Unbenutzte Pins sind im Contraint-File aktuell nicht berücksichtigt. 
Warum ist das von Bedeutung?

Lothar Miller schrieb:
Hmmm... der Array oder das Array?

Ich hätte im englischen Forum mit 'the' bleiben sollen ;-)

Ich habe mal am Eingang den Pullup aktiviert
1
set_property PULLUP true [get_ports {pw_range}]

Leider führt das zum selben Verhalten.

lg Martin

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Martin schrieb:
> Unbenutzte Pins sind im Contraint-File aktuell nicht berücksichtigt.
> Warum ist das von Bedeutung?
Könnte ja sein, dass dein Design so (weg)optimiert wird, dass kein 
Eingang mehr nötig ist. Dann gilt die Defaulteinstellung, die sich beim 
Generieren des Bitstroms einstellen lässt (oder zumindest bei der ISE 
einstellen ließ, ich arbeite noch nicht mit Vivado)...

: Bearbeitet durch Moderator
von Christian R. (supachris)


Lesenswert?

Bei VIVADO gehts mit
set_property BITSTREAM.CONFIG.UNUSEDPIN PULLUP [current_design]

von Martin (Gast)


Lesenswert?

Lothar Miller schrieb:
> Könnte ja sein, dass dein Design so (weg)optimiert wird, dass kein
> Eingang mehr nötig ist.

Dürfte vielleicht wirklich so etwas in der Art sein, sehe jedoch keine 
Anzeichen dafür. Wenn ich die Default-Einstellungen für unbenützte Pins 
auf Pullups stelle, wird das PWM Signal nicht unterdrückt.

Da die Default Unused-Einstellung Pulldown ist, ist die Impedanz des 
internen Pulldowns geringer als die Ausgangsimpedanz des Sensors.

Dies kann aber nur durch 2 Fälle passieren:
1) Die Logik wird wegoptimiert
2) Ich benutze den falschen Pin

Bezgl. 1), ich habe das Schematic nach der Synthese in Vivado angesehen. 
Hier ist der Eingang sauber synthetisiert, eine IBUF Zelle wird 
verwendet.

Bezgl. 2) sehe ich jedoch auch nicht, das ich etwas falsch mache :-(
Ich verwende den Pulsweiten-Ausgang des Sensors. Dieser ist gemäß [1] 
auf Pin 4. Bei der Verwendung des PMOD JB des Zybo-Boards muss gemäß 
[2], S.25, der Pin W20 verwendet werden. Das ist auch jener Pin, den ich 
im XDC-File habe (siehe Initialpost).

Ist die Pinzuordnung korrekt?

Mit freundlichen Grüßen
Martin

[1] 
http://www.digilentinc.com/Data/Products/PMOD-MAXSONAR/PmodMAXSONAR_rm2.pdf
[2] http://www.digilentinc.com/Data/Products/ZYBO/ZYBO_RM_B_V6.pdf

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Martin schrieb:
> Bezgl. 1), ich habe das Schematic nach der Synthese in Vivado angesehen.
Die Optimierung passiert später. Sieh dir den Pinout Report an (es wird 
schon noch irgend sowas geben...)

Wenn du z.B. irgendetwas auswertest und berechnest, auf dieses 
ausgewertete Signal aber nie zugreifst, dann löst sich die ganze 
Schaltung in Nichts auf.

: Bearbeitet durch Moderator
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.