Hallo Zusammen, habe zwei Taster an einem Spartan-6 ohne externe Pullup Widerstaende. Dafuer habe ich die Pullup Widerstaende im .ucf file wie folgt definiert: NET "PushButtonxABI" LOC = W4; NET "RSTxRBI" LOC = R7; NET "PushButtonxABI" PULLUP; NET "RSTxRBI" PULLUP; wenn ich nun die Spannung am Taster messe so sehe ich nur 1.5V (anstelle 3.3V) und darum springt der Input auch immer... Habe ich was falsch konfiguriert oder ist es wahrscheinlicher, dass ich irgendwo einen Kurzschluss verursacht habe? Gruss und Danke, finalcu
Was stellt sich für eine Spannung ein, wenn Du den internen Pullup weglässt und (temporär) einen externen von ähnlicher Grösse benutzt (beim Taster solltest Du rankommen, und die Powerrails sind in der Regel auch zugänglich)? Welche Spann ung stellt sich ein? Jetzt weisst Du den Strom durch den Pullup, und musst nur noch den fehlenden Teil des Astes suchen.
Ich habe einen S6 im Gebrauch (LX-Version) und benutze beide Richtungen (pullup und pulldown) erfolgreich. Hast Du gfs noch einen weiteren R dran oder nutzt eine 1,5V-Bank?
Ich werde mal versuchen einen externen Widerstand dranzuhaengen und dann die Spannung messen. Ich habe im PlanAhead Tool soeben gesehen, dass IOSTANDARD auf default(LVCMOS25) gesetzt ist... Ich bin gerade etwas verwirrt. Auf meinem FPGA Board (Raggedstone2) hat es einen Jumper um jeweils die IO Sapnnung fuer die BANK1 und BANK2 auf 3.3V resp. 2.5V zu setzen. Ich habe es auf 3.3V gesetzt. Der Taster war aber bereits auf dem Board (BANK3). Eigentlich sollte es doch ueberhaupt keine Rolle spielen welchen IOSTANDARD ich waehle, da der Pullup Widerstand doch sicherlich an der gleichen Spannung wie die BANK angeschlossen ist, d.h. wenn ich 2.5V dann zieht er auf 2.5V und bei 3.3V auf 3.3V... oder nicht? Und ich nehme mal an, dass das interne Logik-Level jeweils an den IOSTANDARD der jeweiligen Bank angepasst wird. Ich hab noch einen Screenshot vom PlanAhead Tool angehaengt.
finalcu schrieb: > Eigentlich sollte es doch ueberhaupt > keine Rolle spielen welchen IOSTANDARD ich waehle, da der Pullup > Widerstand doch sicherlich an der gleichen Spannung wie die BANK > angeschlossen ist, d.h. wenn ich 2.5V dann zieht er auf 2.5V und bei > 3.3V auf 3.3V... oder nicht? Da wäre ich vorsichtig. Der interne Pullup ist m.W. kein echter Widerstand, sondern ein FET, der als Stromquelle bzw. -senke funktioniert. Duke
Welchen R Wert ist denn am VREF pin der Bank angeschlossen. Der dort angeschloßene Wert wird auf die Pins generiert wie Duke es gesagt hat. Also anders gesagt du kanst deinen eigenen benötigten Wert mit nur einem Widerstand generieren.
Da hat es z.B. IO_L1N_VREF_3 IO_L57N_VREF_3 (NC 25T IO_L83N_VREF_3 alle an 0.75V angeschlossen und dann sehe ich noch IO_L2N_3 ueber einen Widerstand von 160 Ohm an 1.5V angeschlossen. Die meisten IO-Pins der Bank 3 gehen zu einem DDR Ram. Der Taster ist einer der wenigen anderen Pins an dieser Bank. Sieht so aus als ob der IOSTANDARD dieser Bank 1.5V ist... Kann ich nun einfach meinen IOSTANDARD fuer den Taster-Pin im .ucf file auf 1.5 setzen?
finalcu schrieb: > Sieht so aus als ob der IOSTANDARD dieser Bank 1.5V ist... Kann ich nun > einfach meinen IOSTANDARD fuer den Taster-Pin im .ucf file auf 1.5 > setzen? Nicht nur können, sondern auch müssen. Wenn da 1,5V VCCIO angeschlossen sind, kannst du nur einen IO-Standard einstellen, der 1,5V hat.
Andreas schrieb: > Welchen R Wert ist denn am VREF pin der Bank angeschlossen. Vref ist aber nur für HSTL und SSTL Eingänge relevant. finalcu schrieb: > Sieht so aus als ob der IOSTANDARD dieser Bank 1.5V ist... Kann ich nun > einfach meinen IOSTANDARD fuer den Taster-Pin im .ucf file auf 1.5 > setzen? Überflieg mal Chapter 1 vom Spartan-6 FPGA SelectIO Resources User Guide (UG381). Dort findest Du in Tabelle 1-5, welcher IO-Standard mit welchem gleichzeitig genutztwerden kann (in Abhängigkeit der Bank-Spannung). Duke
Offenbar mag die Forensoftware keine allzulangen Dateinamen. Hier nochmal der Anhang. Duke
Jetzt funktionierts: Habe den IOSTANDARD des Taster-Pins auf LVCMOS15 gesetzt. Vielen Dank fuer die Hilfe.
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.