Hallo! Ich bin gerade dabei meine ersten Gehversuche mit einem FPGA auf dem Nexys3 Board von Digilent (http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,400,897&Prod=NEXYS3) zu machen. An die Pins des VHCDI Connectors habe ich ein paar LEDs angeschlossen die ich Multiplexen möchte, was auch schon gut funktioniert. Ich hab nur das Problem, das während des Programmierens durch Impact alle Ausgänge auf HIGH sind und somit alle LEDs (ungepulst) aufleuchten, was ich natürlich nicht haben will. Wie kann ich das am einfachsten abstellen? Grüße Tobias
Hallo, Du schreibst im ersten Absatz, dass du die LEDs multiplexen willst. Wenn dann alle Ausgangs-Pins während Reset auf High sind, dann dürfte aber keine einzige LED der LED-Matrix leuchten! Hast du vielleicht im Moment noch die LEDs mit Anode an den Pin und alle Kathoden an GND angeschlossen? Dann würde dein zweite Absatz Sinn machen. Um das abzustellen, könntest du die Kathoden der LEDs an die Ausgangs-Pin hängen und alle Anoden an VCC anschließen. Während Reset hast du dann auf beiden Seiten der LED High-Pegel und es leuchtet nichts mehr. Zum Ansteuern der LED musst du dann das Signal invers ausgeben. Mit Multiplexen hast mein vorheriger Absatz allerdings wenig zu tun... Gruß, Thomas
Hallo Thomas! Die LEDs hängen nicht direkt daran sondern übern N-MOSFETs und P-MOSFET mit Inverter. Um also eine bestimmte LED anzuschalten, geben ich auf die jeweilige Spalte und Zeile HIGH und der Rest ist LOW. Die Idee war dabei, dass wenn alles LOW oder auf Eingang steht, dass dann kein Strom fließt. Grüße Tobias
Hallo, sollte deine Schaltung schon fertig sein, dann lässt sich evtl. mit Pulldown-Widerständen etwas machen, da die Pins während der Konfiguration hochohmig sind (<== Vermutung, hängt bei Spartan 6 unter anderem von einem externen Pin (HSWAPEN) ab). Die Widerstände würden dann die Pegel entsprechend runter ziehen. Generell würde ich aber genau die inverse Funktion wählen: Reihe und Spalte mittels Low-Pegel durchschalten (und dann evtl. externe Pull-Ups verwenden). Gruß, Thomas
Hi Das mit HSWAPEN war ein guter Tipp. Auf meinem Board ist der auf GND gelegt und damit haben wohl alle Pins eine Pull-Up während der Konfiguration. Meine Schaltung ist noch lange nicht fertig und ich kann daher noch (fast) alles ändern. Warum ist es besser mittels Low-Pegel zu schalten? Ich dachte, das die Version mit High-Pegel zu schalten den Vorteil hat, das ich gerade nicht ziemlich viele Pull-Ups brauche :) Grüße Tobias
Mit Low hat hier den Vorteil, dass man eben gerade während der Config des FPGA über die internen Pull-Ups per HSWAPEN einen inaktiven Pegel erzeugen kann, und somit die externen Pull-Ups sparen kann. Interne Pull-Downs kann man erst nach der Config aktivieren.
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.