Hallo... ich habe im Moment folgendes Problem: Ich will an meinem Spartan3 ein paar LEDs dranhängen. Dazu sollen ein paar I/O Pins 3,3V Pegel liefern. Bisher habe ich folgendes gemacht: - die Portpins in der *.ucf Datei als LVCMOS33 oder LVTTL konfiguriert. - OUTBUF verwendet Die Portpins zeigen mir danach das korrekte, angegebene Bitmuster (z.B. für 8 LEDs "01010101"... allerdings mit Pegeln 0V und 1,53V Was mach ich falsch???
Hast Du auch eine VCCIO Spannung von 3.3 V an diesen Bänken? Diese wird von der Leiterplatte geliefert, die SW Konfiguration muß dazu passen. Klaus
Versehtnlich die FpGA-internen PullUps/downs an den I/O aktiviert? Steht im PAD file. Oder misst du die Flussspannung über den LED's forward voltage ?
@Klaus Falser 1 Die "Softwarekonfigruartion" wird doch in dem ContraintsFile gemacht. LVCMOS33 bzw. LVTTL hab ich ausprobiert. Ebenfalls hab ich den OBUF entsprechend konfiguriert... wie in der lib.pdf beschrieben. @Klaus Falser 2 und fpgakuechele Noch hab ich gar keine LED's drangehängt... ich messe lediglich mit dem Oszi die Spannung an den Pins gegen Masse. Wie man das mit den PullUps/downs macht weiß ich ehrlich gesagt nicht... werde aber mal das PAD File checken...
Es genügt nicht, die Pins für einen bestimmten I/O Standard ( = LVCMOS33 oder LVTTL) zu konfigurieren. Jeder I/O Standard braucht auch eine bestimmte Versorgungsspannung an speziellen Versorgungspin. Jeder I/O Pin gehört zu einer bestimmten Bank, jede Bank hat gemeinsam mehrere solche Versorgungspins (VCCIO). Wenn Du deine Pins für LVCMOS33 oder LVTTL konfigurierst, müssen die Versorgungspins für die dazugehörige Bank mit 3.3 V verbunden sein. Klaus
Hi! Ich habe glaube ich das gleiche problem! Ich habe eine Ampelschaltung geschrieben. mit dem Atmega8 funktioniert die auch einwand frei. aber mit dem mega8515 gibt es ein problem: Wenn ich an den ausgängen für die verschiedenen Ampeln die Spannung messe, messe ich dort 5 VDC oder ca 0,3 VDC sobald ich aber eine LED anschließe, bricht die Spannung anscheinend zusammen, dann messe ich nur noch 1,4 VDC oder ca 0,3 VDC. Ich habe mal eine Low current LED angeschlossen, die hat ohne vorwiderstand ganz wenig geleuchtet. Woran liegt soetwas?
@ Lukas (Gast) >sobald ich aber eine LED anschließe, bricht die Spannung anscheinend >zusammen, dann messe ich nur noch 1,4 VDC oder ca 0,3 VDC. Klar, das ist die Flusspannung. >Ich habe mal eine Low current LED angeschlossen, die hat ohne >vorwiderstand ganz wenig geleuchtet. Auch Low-Current LEDs brauchen einen Vorwiderstand! 1-2kOhm ist ausreichend. Wahrscheinlich hast du die Ports nicht als Ausgang geschaltet. DDRx = 0xFF; MFg Falk
@ Lukas (Gast)
>Doch ich habe den entsprechenden Port definitiv als ausgang gesetzt.
Zeig mal deinen Quelltext, als Anhang.
MFG
Falk
@ Lukas (Gast) >ldi temp, 0xff >out DDRC, temp ;Port B ist ausgang Kleine Differenz zwischen Assembler und Kommentar ;-) Ich nehme mal an, deine LEDs hängen MIT Vorwiderstand an Port C. Wieviele LEDs hast du denn angeschlossen? Dein Programm scheint sechs LEDs zu steuern. Ist das Korrekt? Ansonsten sieht das Programm OK aus. MfG Falk
jo, ich habe das prog mal auf Port C geändert, und anscheinend vergessen das Kommentar zu ändern. Also es ist richtig, das ich damit 6 LEDs steuere. Zurzeit benutze ich LEDs mit intigrirtem Vorwiderstand. Wenn ich dort direkt 5 Volt anlege leuchten die auch.
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.