Forum: FPGA, VHDL & Co. Probleme mit JTAG-Chain


von joern (Gast)


Angehängte Dateien:

Lesenswert?

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

von Rick Dangerus (Gast)


Lesenswert?

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

von Thomas P. (pototschnig)


Lesenswert?

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

von joern (Gast)


Lesenswert?

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

von Thomas P. (pototschnig)


Lesenswert?

@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

von dvh (Gast)


Lesenswert?

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.

von joern (Gast)


Lesenswert?

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

von dvh (Gast)


Lesenswert?

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.

von Thomas P. (pototschnig)


Lesenswert?

> 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

von joern (Gast)


Lesenswert?

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

von joern (Gast)


Lesenswert?

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

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
Noch kein Account? Hier anmelden.