Hallo an Alle, ich habe einen IP Core, der einfach einen Pin vom FPGA einliest und den Wert in ein Register schreibt, jedoch habe ich mit der Hardware folgendes Problem: An dem Pin habe ich einen Taster gegen Masse und einen Widerstand (4,7K) gegen 3,3V, leider liegen im Ruhezustand nur 1 Volt an dem Pin, beim gedrückten Taster liegen 0 Volt an (was ja auch richtig ist). Mit ist unerklärlich, warum bei nicht gedrücktem Taster nur 1 Volt am Pin anliegen. Ich habe den Pin auch schon mit internem PULLUP belegt, jedoch hat sich nichts geändert. Hat jemand eien Ahnung, was ich falsch mache? Lieben gruß, Christoph
Ich benutze das Xilinx Spartan 3. Die IO Spannung an der bank beträgt 3,3 Volt. Ich habe auch schon einen Ausgang definiert, der sich je nach registerinhalt ändert. Diese Richtung funktioniert ohne Probleme. Setze ich ein bit im Register auf 0 liegt keine Spannung am Pin an, setze ich es auf 1 liegen 3,3Volt am Pin an.
Muss man den Input Pin als INBUF konfigurieren um das einzeulesen? oder ist ein einfacher "in std_logic" auch okay?
> ein einfacher "in std_logic" reicht üblicherweise aus, irgendwelche handverdrahteten Buffer sind nur bei speziellen IOs (LVDS...) sinnvoll. > An dem Pin habe ich einen Taster... Welcher Pin in welcher Gehäusebauform ist das? Hat der evtl. noch andere Funktionen?
Naja das FPGA ist nen BGA676. Die Spannung messe ich natürlich nicht direkt am Pin, sondern an nem Stecker wo ich drankomme. Es ist momentan der Pin AA23 an dem ich den Taster habe. Ich habe gerade folgendes überlegt: Kann es sein, dass das EDK das komplette Signal und auch die Konfiguration des Pins wegoptimiert, wenn ich das Signal in meinem IP Core nicht benutze? Momentan ist das Signal in meinem IP Core nämlich nicht benutzt. Ich würde gerne Testen, ob es funktioniert, wenn ich das Signal intern benutze, jedoch funktioniert mein externes SDRam nicht, wenn ich das Signal in meinem IP Core benutze. Dieses Problem hatte ich in einem anderen Thread hier schon beschrieben. Ich verstehe irgendwie nicht, was ich falsch mache.
> Kann es sein, dass das EDK das komplette Signal und auch die Konfiguration > des Pins wegoptimiert, wenn ich das Signal in meinem IP Core nicht benutze? Sieh dir den Pad-Report von Place&Route an, da steht drin, welche Pins mit welcher Konfiguration wohin verdrahtet wurden. Aber es kann tatsächlich sein, dass das Signal komplett rausfliegt. Ich verdrahte solche nicht verwendete Eingangssignale z.B. mit einem OR auf ein internes Signal, das ich wieder ausgebe. Dann wird es garantiert geroutet.
Ja, sowas habe ich auch probiert, das Problem bei mir: Sobald ich das Eingangssignal in irgendeiner Art und Weise in meinem IP Core benutze funktioniert mein externer SDRam nicht mehr. Dieses Phänomen ist mir völlig unklar, vor allem, da mein IP Core zwar wie der SDRam Controller am PLB Bus hängt, die beiden Cores aber sonst nichts miteinander zu tun haben. Mein SPI Interface, was am gleichen Bus hängt funktioniert jedoch noch... Ich habe die Vermutung das irgendwas mit den Adressen nicht stimmt, obwohl alles gut aussieht, keine Überschneidungen etc.
Ich hab mir das ganze System nochmal angeguckt, es ist aber meiner Ansicht nach kein Fehler drin. Trotz all dem, sobald ich einen Eingang des FPGA's verwende komme ich nicht mehr auf mein externes SDRam, wenn irgendwer eine Idee hat, woran das liegen kann wäre ich sehr dankbar diese mir mitzuteilen. Vielen Dank schon einmal. Christoph
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.