Moin,
ich habe ein Board mit einem Spartan 3-200 und einen Seriellen
Konfigurationsflash aufgebaut. Heute habe ich es in Betrieb genommen und
nun findet er das FPGA nur als UNKNOWN-DEVICE, das Flash hingegen
erkennt er richtig. Drollig dabei ist, dass dies immer die gleiche ID
sendet, die schlicht falsch ist (aber eben keine Nullen oder FFs sondern
verschiedene Werte).
Nun betreibe ich die Bank mit den Dual-Purpose-Pins mit 3,3V, den JTAG
mit 2,5V. Anbei mal die genaue Beschaltung, ich bitte das
handschriftliche zu entschuldigen, nach einem Tag ergebnislosen Testens
fehlte mir die Ruhe, es am PC zu zeichnen.
Erkennt vielleicht jemand meinen Fehler? Damit wäre mir sehr geholfen.
Auf Kurzschlüsse habe ich das Board bereits mehrfach duruchgemessen.
Gruß, jörn
Kannst Du den Flash aus der Kette testweise rausnehmen? Laeuft die Kette
mit verschiedenen Spannungen? Hast Du Dir die Signale mal auf dem Oszi
angeschaut?
Rick
Ich hab die Zeichnung mit meinen Schaltplänen verglichen, aber es
scheint alles zu passen.
Was ist das für ein JTAG-Adapter, der noch auf 2,5V richtig läuft?
Mfg
Thomas Pototschnig
Danke für die Hilfe soweit. Dass meine Beschaltung so richtig sein
könnte, beruhight mich schonmal.
Der Adapter ist ein selbstgebater der Uni, der aber mit allen anderen
Boards und auch mit dem Flash problemlos funktioniert.
Den heutigen Tag habe ich dann zu weiteren Tests genutzt, die vor allem
mehr Verwirrung gestiftet haben:
Bei der JTAG-Chain werden die Registergrößen (6 fürs FPGA und 8 für das
Flash) richtig erkannt. Auch erkennt er zwei Devices, was, so wie ich
den Erkennungsprozess verstanden habe, dafür spricht, dass Testpatterns
unverändert durch die Chain laufen und zurückgelesen werden können.
Lötet man nun das Flash aus, kann auch vom FPGA die falsche ID nicht
mehr gelesen werden.
Auf dem Oszilloskop betrachtet nimmt der TDO-Pin des FPGAs drei Zustände
ein, 0V, 1,8V und 2,5V. (Was nun wirklich ganz komisch ist.)
Ein daraufhin neu aufgebautes Board mit dem FPGA und der minimal
notwendigen Beschaltung verhält sich identisch.
Hat irgendjemand vielleicht mal ähnlichen Spaß mit FPGAs gehabt? Kann
eine falsche Beschaltung der übrigen dedicated Pins (M0-2 sind zum
Beispiel alle auf GND) irgendeinen Einfluss auf die JTAG-Chain haben?
Gruß, Jörn
@Joerg:
Wenn es dir hilft, kannst du deinen Schaltplan mit dem von meiner
Webseite vergleichen:
http://www.pcb-dev.com/showsite.php?open=32f2f65273191d0752b2d2d758b961c6
In meinem Schaltplan gibts eine übertriebene Pegel-Anpassung für einen
5V-Programmer (wusste nicht, ob er auch mit 3,3V oder weniger arbeitet).
Das mit den 0V, 1,8V und 2,5V hört sich merkwürdig an ich würde da auf
einen Schluss mit irgendwas anderem tippen.
Mfg
Thomas Pototschnig
Ich hatte vor einger Zeit das gleiche Problem mit einem xc3s200 und
einem Parallelkabel III. Das Problem lag bei mir eindeutig am fallenden
Ende des TCK Pulses. Ein zu langsamer Abfall erzeugt einen überzähligen
Clock puls. Der xc95 und die Platform flashes sehen den nicht. Lösung
war mit durchschlagendem Erfolg zwei 74ac14 (inv. Schmitt) in Serie auf
dem TCK Läuft noch gut und ausreichend schnell bei 2.5 Volt.
Ich nehme an, dass es ein Nachbau des selben Kabels ist.
Wie genau sah Dein Problem aus? Wurde auch eine falsche ID gelesen, aber
ein vorhandenes Device erkannt?
Wie schnell muss die Clock denn abfallen, damit keine Probleme
auftreten?
Da es um Geschwindigkeit geht, ist einem mit einem HCT-Typen
wahrscheinlich nicht so recht geholfen, oder? An AC-Typen komme ich
leider nur über einen Versand.
Das Kabel ist echt eine Idee, ansonsten bin ich echt mit meinen Ideen am
Ende, der Schaltplan scheint keinen Fehler herzugeben.
Gruß, Jörn
Ich habe drei verschiedene Kabel benutzt darunter den Nachbau des Xilinx
Originals. Eines von ebay (stepmotor speziell fuer 2.5V): alle unknown
Device mit vielen Nullen in der ID und version 15. Ich habe einen AC
verwendet aber HC mag auch noch gehen.Sonst eventuell auf 3.3V umstellen
mit den Strombegrenzungswiderständen. Das Vorhandensein des überzähligen
clockpulses kann man auf dem Scope auf TDO beim Abfall von TCK als Spike
erkennen.
> Da es um Geschwindigkeit geht, ist einem mit einem HCT-Typen> wahrscheinlich nicht so recht geholfen, oder?
Der HCT kann doch auch garnicht auf 2,5V Betrieben werden. Die HC können
das. Vielleicht ist das dein Problem. HCT = HC, aber TTL-Pegel
Kompatibel für Vcc=5V. Die HC gehen bis 2V.
Mfg
Thomas Pototschnig
Danke, ja, das hört nach meinem Problem aus.
Auch Spikes sah man auf dem Ossziloskop, wenngleich ich nicht überprüft
habe, ob sie auf der fallenden Clock-Flanke kamen.
Stimmt, der HCT ist eher ungeeignet zumal auch langsamer als der HC.
Führt wohl doch kein Weg am Bestellen vorbei, mein
Lieblingselektronikwarenhaus in der Umgebung scheint nur den HCT zu
führen.
Wie ists dann eigentlich mit den Laufzeiten? Die Verzögerung der Clock
ist bei den Frequenzen des JTAGs wahrscheinlich immer unkritisch oder?
Werde es nächste Woche mal testen und berichten.
Danke so weit, das lässt mich wirklich hoffen, dass ich den Spaß doch
noch zum Laufen bekomme.
Gruss, Jörn
Habe es heute mit dem work-around für das Programierkabel getested und
nun geht es tatsächlich (In Ermangelung eines 74AC14 habe ich einen HC
genommen). Die Chain wird problemlos erkannt und lässt sich auch
programmieren.
Vielen Dank nochmal, allein wäre ich an diesem Problem sicherlich
verzweifelt!
Gruß, Jörn