Hallo, mich nervt ein Problem und ich komm nicht mehr weiter. Mein Altera Cyclone EP1C3T100I7N lädt seine Konfiguration nicht aus dem EPCS1 Configuration Device. Dies ist mein erstes FPGA-Design und ich kann daher nicht einfach Altbewährtes rüberkopieren. Die Beschaltung des AS ist im File "active_serial_my_circuit" enthalten. Sie ist so auch im Sphinx Demoboard http://download.inventronik.de/Sphinx-C100/Sphinx-C100-Docu-de.pdf gelistet. Ein Vergleich mit dem Datenblatt für die seriellen Configuration Devices http://www.altera.com/literature/hb/cfg/cyc_c51014.pdf Seite 3-4 zeigt ebenfalls diese Schaltung, abzüglich des JTAG-ports. Das Verhalten ist, dass die Sequenz, die im File "initcycle_fail" gezeigt ist (verwackelt, 0.5s Belichtungszeit vor dem Logikanalyzer (Tektronix 7D02, prähistorisch)), peroidisch alle 18µs abläuft: NCS wird low aktiv, dann kommen 2x 8 Clocks, auf ADSI werden die Datenwörter 0x05 0xff übertragen. Genau wie im Altera-Datenblatt S. 3-19 beschrieben. NSTATUS geht nach '1' in diesem Zyklus (high-impedance seitens des FPGA, schön als Ladekurve erkennbar). CONF_DONE bleibt brav auf '0'. Im Vergleich dazu in "initcycle_ok" dasselbe Diagramm, aber mit meinem Demoboard "Pluto-II" aufgenommen. Hier sieht man, daß der Datenausgang "DATA" des seriellen Config Device per Default (oder durch eine frühere Aktion) '1' ist und als Status aktiv 8x '0' übertragen wird. Ich habe die beiden Config-Devices auch schon getauscht, das Pluto-II-Board lief mit dem auf meinem Board programmierten, umgekehrt läuft es auch nicht. Programmieren des Config-Device auf meinem Board klappt also. Natürlich habe ich schon auf Kurz-, Masse- oder Nebenschlüsse etc. am Board geprüft, nichts gefunden. Ich habe in die DATA Leitung einen 100R eingebaut, damit ich sehe, ob das FPGA ggf. die Leitung nach GND zieht, aber auch da sehe ich nichts, was irgendwann irgendwo auf eine '1' hindeuten würde. Das FPGA sitzt auf einer soweit irgendwie möglich geschlossenen Massefläche, an die an allen VCCio und VCCcore je ein 100nF angeschlossen ist. Siehe "fpga-groundplane". Das POF-File wurde mit Quartus 9.1SP2 erstellt, Compressed Mode ist abgeschaltet. Aber das kann es eigentlich nicht sein, dazu müßte ja wenigstens mal was eingelesen werden. Hat jemand hier irgendeine Idee was hier der Falls ein kann? Warum reagiert das Config Device nicht auf die Kontaktaufnahme seitens des FPGA, oder liegt der Fehler schon früher, weil der DATA Pin ja garnicht erst auf '1' geht? Danke fürs Lesen, und schon jetzt auch Danke für mögliche Antworten. Günter
Ich bin zwar kein Altere User, aber was mir aufgefallen ist dass in deinem Schaltplan /CS und ADSI vom Flash nicht mit dem FPGA verbunden ist. Dat goht nit.
Hallo, doch, ist. Ist nicht gezeigt weil über Signal und Signalname. Das ist ein Pin mit zwei Funkionen. Ciao, Güntre
Günter (dl4mea) schrieb: > doch, ist. Ist nicht gezeigt weil über Signal und Signalname. Das ist > ein Pin mit zwei Funkionen. Sind diese 2 Pins auf einem anderem Sheet? Würde ich trotzdem nochmal überprüfen, es gibt zwar im gezeigten Schaltbild ein Label CS0_N, es sieht aber so aus als ob dieses keinem Signal zugeordnet ist. (Mein Motto: Trau keinem Layouter, auch wenn du es selbst bist :_) ) Gruss
Hallo, ja, es ist alles verbunden, was man hier sieht ist nur ein Ausschnitt aus der Seite. Sonst wären die mit dem LA direkt am EPCS1 aufgezeichneten Signale ja garnicht vorhanden, und der fehlende DATA wird nur von diesem getrieben. Ciao, Günter
Trotzdem, bei aller Freundschaft: Die Verbindung des nCSO des FPGA zum Chipselect des EPCS ist im Schaltbild nicht zu sehen. Die Leitung vom Stecker zum EPCS gibt es, daher kannst Du den EPCS auch programmieren. Aber vom FPGA zum EPCS??? Pin 12 des FPGAs ist doch n/c! Harald
Mach mal einen Pullup an DATA und miss nochmal. Muss natürlich auch ohne gehen, aber in der Vergleichsmessung ist DATA auch High wenn der EPCS1 nicht treibt.
Lattice User schrieb: > Mach mal einen Pullup an DATA und miss nochmal. Ok, das war auch meine letzte Idee, einfach nur um zu sehen ob da was ist. Und schon hatte ich das gesuchte High... Und als ich dann mit dem Tastkopf auf den Pin 7 des FPGA draufhielt, fingen plötzlich meine LEDs an zu blinken... Ich liefer, nachdem ich mit meinem kleinen Sohn gespielt habe und ihn im Bett habe, noch ein Foto nach. Auch unter dem Mikroskop ist nicht zu sehen daß das kein Kontakt war. Danke fürs Mitdenken!!! Ciao, Günter
Hallo, hier das Bild mit dem nicht gelöteten Pin, derjenige an der mittleren Leiterbahn. Ich hatte hier schon mit dem Skalpell rumgekratzt und außerdem gehts mit der Digicam durchs Mikroskop nicht ganz so gut. Der Pin lag schön brav in eine Wanne von Lötzinn, hatte aber keinen Kontakt. Fragt man sich natürlich warum nicht vorher die Leitungen alle durchgeklingelt. Vielleicht wäre es da aufgefallen, aber vielleicht auch nicht, durch den Druck der Prüfspitze kurz Kontakt und danach wieder abgehoben. Ich wußte halt auch nicht daß der DATA im FPGA seinen Pullup angeboten bekommt, sagte ja, mein erstes Design mit einem FPGA. Wie man sonst schneller draufkommen hätte können? Ich glaub kaum schneller, da muß man durch. Danke für eure Hilfe, und vielleicht ist es ja für den einen oder anderen auch mal ein Gedankenanstoß wenn etwas nicht funktioniert. Günter (dl4mea)
Die schönsten Probleme sind die gelösten Probleme! Ein Nachsatz noch von mir. Viele Altera-User schließen das FPGA, das EPCS und den Blaster genau so an, wie du das gemacht hast. Klar, das ist ja auch so beschrieben. Aber es gibt eine zweite Möglichkeit, und die sollte man kennen. Dabei werden lediglich die JTAG-Pins des FPGAs an den Blaster-Stecker angeschlossen. Die Verbindung von EPCS und FPGA bleibt wie gehabt. nConfig, nStatus und ConfDone werden mit pull-ups versehen. Und was soll das Ganze? Nun, dadurch, dass das FPGA mit dem JTAG-Pins am Blaster hängt, kann man Funktionen wie Signal-Tap benutzen, und wenn ein NIOS im FPGA drin ist, dann wird über diese Pins auch debuggt. Die Programmierung des EPCS findet dann "durch das FPGA hindurch" statt. Altera nennt das JTAG indirect configuration, und das ist eigentlich die Methode der Wahl. Grüße, Harald
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.