Forum: FPGA, VHDL & Co. Bitte um Hilfe bei letzten Problem mit JTAG.


von Micha (Gast)


Lesenswert?

Hallo Leute,

ich habe es zwar schon zwei mal versucht mein Problem zu schildern und 
auf eine "hilfreiche" Antwort gehofft, die leider Gottes nicht kam. 
Deswegen versuche ich es eben noch ein letztes mal und hoffe auf einen 
Guten Tipp von euch Experten hier.

Nachdem ich mich in die ISE Software eingearbeitet hatte und auch die
grundlegenden Züge verstanden habe, einschließlich der Simulation, habe
ich mich mit der Programierung (iMPakt) auseinander gesetzt.

Hier habe ich mir diesen Programmierer zugelegt:

"Xilinx Adapterkabel USB nach JTAG, HW-USB, HW USB, FCPU-X platform
Kabel" (gekauft bei VHT-Impex)

und ein paar diverse Bauteile. Hoffe das diese Entscheidung richtig war.

Nun habe ich mir einen Adapter von JTAG zur PLCC44 Fassung meines
XC9572xl gebaut, wie bei "Fischl.de, Erste Schritte mit dem Xilinix 
XC9572xl" beschrieben ist, die Pinbelegung des Sockels ist dort auch 
hinterlegt.

Leider fingen nun die Probleme an, wo mir keiner so richtig helfen 
konnte.

Mein "USB JTAG" hat folgende Pinbelegung:

eine 14 polige Buchse wobei die eine (7 Pin) komplett Masse ist und die 
zweite (von links nach rechts) "2 frei, TDI, TDO, TCK, TMS, Vref" ist.

Des weiteren hat er eine 6 polige Buchse mit der Belegung TMS, TDI, TDO, 
TCK, GND, Vref.

Ich habe die 6 polige Buchse verwendet, da es sich einfacher löten lies, 
zumindest auf einer Lochrasterkarter 2,54mm Platiene, bei der anderen 
Buchse war ein Flachbandkabel mit bei, wo ich nicht ausschließen konnte, 
ob da evtl. eine "Drehung" drin ist.

Nun habe ich die Pins mit den entsprechenden Pins am Sockel verbunden,

VCC: 21, 41, 32
GND: 10, 23, 31
TCK: 17
TDI: 15
TDO: 30
TMS: 16 am Chipsockel und natürlich zu den entsprechenden Anschlüssen am 
USB Progger JTAG Anschluss.

Leider wir der Chip nach starten des iMPakt nicht erkannt. Der USB 
Progger ja, und nach 30 % bei der Chiperkennung kommt folgende Meldung:

"There are many unknown devices being detected"

Ich hatte gedacht das evtl. der Chip kaputt ist und habe einen anderen 
XC9572xl verwendet, jedoch kam hier der selbe Fehler.

Ich wäre euch sehr dankbar wenn mir jemand einen entscheidenen Tipp 
geben
könnte, denn wenn ich dieses Problem überstanden habe, kann ich mich 
ebenfals voll und ganz auf die Programierung (VHDL Entwurf) 
beschäftigen.

Wenn evtl. sogar jemand aus Berlin ist, würde ich mich über ein Treffen 
auch sehr freuen, falls mein Problem hier nicht gelöst werden kann, denn 
ich habe keine Möglichkeit zu Testen, ob evtl. der USB Progger defekt 
ist. Eine Entschädigung für den Aufwand wäre hier selbstverständlich.

Ratschläge und Problemlösungen habe ich mir von verschieden Firmen hier 
in Berlin geholt, Segor, Reichelt, contag und sogar Conrad, aber keiner 
konnte oder wollte mir so richtig helfen.

Lasst mich bitte mit meinem Problem nicht im Stich.

Vielen, Vielen Dank an Euch.

Mit freundlichen Grüßen
Micha

von Guest (Gast)


Lesenswert?

Das Problem -Programmer wird erkannt, Chip redet nicht richtig, deckt 
sich in etwa mit meinem ise Problem mit parallel Programmer.

Daß das usb Gerät kauputt ist, würde ich eher als unwahrscheinlich 
einstufen. Daß das cpld falsch eingebaut ist...eigentlich auch, denn 
sowohl du wie auch ich haben sicher mehrmals nachgeguckt.

Persönlich baue ich noch mal einen parallel progger, dann bin ich mit 
dem Latein am Ende. Hatte auch schon überlegt, einfach die knapp 100 
Euro anzulegen für das usb Teil (was haarig ist für mich), aber da 
scheint doch noch ein anderes Problem zu existieren.

Ich hoffe mal, jemand hat noch eine hilfreiche Idee.

Alles Gute und - bleib auch selber dran!

von Micha (Gast)


Lesenswert?

Das ist zwar gut zu Wissen, dass ich mit dem Problem nicht alleine bin 
aber Aufbauen tut es mich nicht wirklich.

Einen parallel Programmer kann ich mir leider nicht bauen, bzw. ich hab 
keinen Anschluss mehr am Latop.

Ich habe auch schon mehrfach geprüft, ob ich einfach einen Fehler bei 
Löten gemacht habe, aber da liegt keiner vor. Kalte Lötstelle gesucht, 
nix.

Den cpld falsch einbauen, naja, also der hat ja ne Ecke... anders 
bekommt man den ja nicht in Fassung, es sei den ich drück den mit Gewalt 
rein.

Wegen den 100 €, ja das ist viel Geld, vorallem wenn es nicht klappt, 
ich dachte mir eben ein einfaches Gerät, ohne viel Schnickschnack für 
den Anfang, da kann man nicht viel falsch machen. Denkste

Selbstverständlich bleibe ich dran, nur ist es so, ich weis nicht mehr 
weiter, hab ja schon alles versucht.

Ich hoffe es gibt uns einer einen hilfreichen Tipp.

Mit freundlichen Grüßen
Micha

von Christian R. (supachris)


Lesenswert?

Diese Fehlermeldung im Impact kommt, wenn man TDI und TDO vertauscht 
hat, oder der TDO des PLDs Kurzschluss nach Masse hat. Hast du ein 
Oszilloskop zur Verfügung?

von Micha (Gast)


Lesenswert?

Nein ich habe leider kein Ozzi zur Verfügung.

Ich werde mich gleich mal an deine Idee ran machen, aber sei mir bitte 
nicht böse, ich glaube nicht das ich das falsch gemacht habe. Trotzdem 
werd ich es testen... irren iss ja menschlich...

Melde mich gleich wieder...

von Micha (Gast)


Lesenswert?

So also ich habe deinen Rat befolgt, aber leider hat der mich nicht 
weitergebracht.

TDI auf Masse, nein TDO auf Masse, nein.
Ich habe extra noch mal bissel auf der Lochrasterkarte rumgekratz um 
wirklich alles aus zu schließen, damit es keine Verbindung gibt, die ich 
evtl. nicht sehe.

Er bringt mir diese Fehlermeldung, er erkennt Ihn ja, aber als UNKNOWN.

----------------------------------------------------------------------
'30': : Manufacturer's ID =Unknown
INFO:iMPACT:501 - '1': Added Device UNKNOWN successfully.
----------------------------------------------------------------------
----------------------------------------------------------------------
INFO:iMPACT - iMPACT quit the Identify Chain because it detects there 
are
at least 30 'UNKNOWN' type devices on the chain.
Please check the hardware settings and retry!
----------------------------------------------------------------------
----------------------------------------------------------------------
----------------------------------------------------------------------

Und nun?

Vielen Dank für Eure Hilfe.

Mit freundlichen Grüßen
Micha

von Christian R. (supachris)


Lesenswert?

Was meldet denn Impact, wenn du am Programmierkabel TDI und TDO direkt 
verbindest? Alle anderen Anschlüsse offen, bzw. VREF auf eine gültige 
Spannung? Entweder ist dein PLD kaputt oder der Programmier-Adapter.
Diese Meldung kommt definitiv nachvollziehbar, wenn der am TDO der 
JTAG-Kette nur Nullen liest, dann denkt der, es sind tausende unbekannte 
Bauteile drin.

von Micha (Gast)


Lesenswert?

Öhm, entschuldige bitte jetzt meine, wahrscheinlich sehr dumme Frage.

Das ich TDI und TDO direkt verbinde wäre ja okay und machbar. Alle 
anderen Anschlüsse weglassen auch.

Aber jetzt: " VREF auf eine gültige Spannung?"

Laut dem Verkäufer bei VHT-Impex kommt die passende Spannung aus dem USB 
Progger raus, also Vref. Eine extra Versorgung habe ich mir nämlich 
nicht gebastelt. Sprich ich habe alles 1:1 vom Progger zur PLCC44 
Fassung. Theoretisch müssten das ja 3,3 V sein.

Dein lezter Satz ist für mich nachvollziehbar, denn wenn ich das Kabel 
weglasse und nur den Progger ranhänge kommt die Selbe Meldung.

Kann das evtl. sein, dass ich hier ein Missverständnis bezüglich Vref 
habe? Das würde ja dann wahrscheinlich alles erklären...hoffe ich.

Mit freundlichen Grüßen
Micha

von Micha (Gast)


Lesenswert?

Ich werd blöde, jetzt hab ich in Google einfach mal "Vref bei JTAG 
Anschluss" eingegeben und hab folgendes gefunden.

Da steht doch tatsache unter
 Pin 04 - VREF  (Wird seltener genutzt und ist oft unbelegt. Kontrolle 
der Betriebsspannung)

Jetzt wird das doch wohl etwa nicht bei mir so sein... Das da gar keine 
Spannung anliegt? Wenn das so wäre, würde sich ja alles klären...

Nur zu dumm, dass ich hier kein Messgrät habe, gibt es einen der das 
bestätigen könnte?

Pinbelegung
Pin 01 - TCK   (Test Clock)
Pin 02 - GND   (Masse)
Pin 03 - TDO   (Test Data Output)
Pin 04 - VREF  (Wird seltener genutzt und ist oft unbelegt. Kontrolle 
der Betriebsspannung)
Pin 05 - TMS   (Test Mode Select Input)
Pin 06 - NSRST (Wird seltener genutzt und ist oft unbelegt. RESET 
Eingang des Targets.
                Ausgang zur Überwachung der RESET-Leitung des Targets)
Pin 07 - VCC   (+5V)
Pin 08 - NTRST
Pin 09 - TDI   (Test Data Input)
Pin 10 - GND   (Masse)


Mit freundlichen Grüßen
Micha

von Guest (Gast)


Lesenswert?

Kann man mit deinem usb Programmierer auch 1.8 V devices oder so 
programmieren? Dann könnts ja sein, daß da einfach dein Vref vom Board 
dran kommt damit der Programmierer weiß, welche Pegel er erzeugen soll?

Ist aber nur geraten, ausprobieren würde ich das nciht bis einer das 
bestätigt. Keine Doku bei dem Ding evtl?

von Christian R. (supachris)


Lesenswert?

VRef ist definitiv ein Eingang. Da muss die Spannung dran, die auch am 
CPLD/FPGA an den JTAG Anschlüssen benutzt wird. Ohne die kann ja der 
IO-Block im Programmer nix machen. Das ist auch zwingend erforderlich, 
schließlich bestimmt die von außen angelegte Spannung an VREF den 
Signalpegel des JTAG. Man kann schließlich von 1,2V bis 5V alles 
programmieren. Beim original Xilinx Programmer kommt da eine 
Fehlermeldung, deswegen hatte ich das ausgeschlossen. Aber scheinbar 
macht der Billig-Nachbau das nicht. Also anschließen an die Spannung, 
mit der auf dem PLD der JTAG läuft. Ist am Programmer keine LED dran, 
die dann orange oder grün leuchtet?

von Stefan (Gast)


Lesenswert?

Mir scheint, das Problem ist nicht der Programmer, der in diesem Fall 
vom USB-Bus mitversorgt wird, sondern die eigentliche Schaltung. Denn 
die wird nicht mit Spannung versorgt!

von Guest (Gast)


Lesenswert?

A pros Billig Nachbau - Sollte ich bei meiner Parallel Lösung hängen 
bleiben und mich entnervt dazu entschließen, ind er Not das Ding auch zu 
kaufen... wie kompatibel ist denn so was? Oder kann es bei ise 10.2 
passieren, daß mein Programmer nciht mehr funktioniert?

von Micha (Gast)


Lesenswert?

Ich werd echt blöde, anscheinend ist es das Problem.
Ja am Programmer ist eine LED dran, erst leuchtet die Rot und wenn der 
Rechner das Gerät gefunden hat leutet sie grün.

Aber das mit dem Vref verblüfft mich ein wenig, woher soll das den ein 
Anfänger wissen das da eine Spannung von 3,3 V in das Gerät 
reingeschickt werden soll? Eine Anleitung war nicht dabei, eigentlich 
schade.

Ich habe auch noch mal darüber nachgedacht, wenn ich den Chip weglasse 
und auslesen will, kommt genau die selbe Mitteilung wie wenn ich den 
Chip dran habe. Also wird der nicht erkannt, weil der keine Spannung von 
3,3V zum arbeiten hat.

Also um es zusammen zu fassen, ich werd jetzt 3,3 V in das Gerät 
schicken, Vref, Und den Massepol vom Netzteil mit auf GND vom Progger 
klemmen.

Na wollen wir hoffen das das dann passt.

Vielen Dank an Euch, wenn es so ist, wäre es wirklich ein echt blöder 
Fehler für einen Anfänger gewesen.

Ich meld mich später wieder wenn ich alles zusammen habe.

Mit freundlichen Grüßen
Micha

von lkmiller (Gast)


Lesenswert?

>Des weiteren hat er eine 6 polige Buchse mit der Belegung TMS, TDI, TDO,
>TCK, GND, Vref.
:
:
>Nun habe ich die Pins mit den entsprechenden Pins am Sockel verbunden,
>
>VCC: 21, 41, 32
>GND: 10, 23, 31
>TCK: 17
>TDI: 15
>TDO: 30
>TMS: 16 am Chipsockel und natürlich zu den entsprechenden Anschlüssen am
>USB Progger JTAG Anschluss.

Und jetzt schliess doch mal Vref an VCC mit an.
(hatt ich irgendwo schon mal geschrieben;-)

von lkmiller (Gast)


Lesenswert?

>Aber das mit dem Vref verblüfft mich ein wenig, woher soll das den ein
>Anfänger wissen das da eine Spannung von 3,3 V in das Gerät
>reingeschickt werden soll?

Das Parallel-Cable III (die Mutter aller Selbstbaukabel) wird sogar über 
Vref versorgt.
Da liegt es nahe, beim USB-Kabel wenigstens die Treiberspannung aus Vref 
zu erzeugen, dann passen nämlich automatisch die Programmierpegel zum 
Baustein.

BTW:
Habs gefunden, wo das geschrieben steht:
Beitrag "jtag Probleme mit ise 10.1"
>3) die Beschaltung (GND=GND, Vref=VCC, TCK=TCK, TDO=TDO, TDI=TDI...)

von Christian R. (supachris)


Lesenswert?

Naja, beim Xilinx Programmer steht das in der Anleitung. Und da wird die 
LED auch erst grün, wenn eine Spannung zwischen 1,8 und 5V da anliegt. 
Und wenn nicht, kommt im Impact eine Fehlermeldung. Da haben die 
Nachbauer einfach mal geschlampt. Die VRef muss zwingend mit der 
VCCAUX des zu programmierenden Bausteins verbunden werden. Masse muss 
natürlich auch verbunden werden. Es geht nicht darum, den PLD mit 
Spannung zu versorgen, sondern darum, dem Programmer eine IO-Spannung 
zur Verfügung zu stellen, die er für die JTAG Ausgangstreiber benutzen 
kann. Wenn der VREF Eingang offen ist, ist diese Spannung Null, es kommt 
nix raus an JTAG, da ist auch klar, warum der Fehler auch bei TDI direkt 
auf TDO kommt.

von Micha (Gast)


Lesenswert?

Na doll, also irgendwie will das nicht so wie ich... jetzt hab ich exakt 
3,3 V an Vref angelegt und auch gnd verbunden.

Nun bin ich zumindest einen Schritt weiter, den jetzt bekomme ich den 
Fehler:

ERROR:iMPACT:585 - A problem may exist in the hardware configuration.
  Check that the cable, scan chain, and power connections are intact,
  that the specified scan chain configuration matches the actual 
hardware, and
   that the power supply is adequate and delivering the correct voltage.
PROGRESS_END - End Operation.

Habe alles nochmal nachgeprüft und bin mir eigentlich keiner Schuld 
bewusst, noch was anderes falsch gemacht zu haben...

Und nun...?

Mit freundlichen Grüßen
Micha

von Christian R. (supachris)


Lesenswert?

Dieser Fehler kommt bei mir im Normalfall, wenn TDI und TDO vertauscht 
sind. Kommt der Fehler auch wenn du TDI direkt auf TDO legst? Mit 3,3V 
natürlich...

von lkmiller (Gast)


Lesenswert?

Ein Bild sagt mehr als tausend Worte.
Mal doch mal auf, was du wirklich verdrahtet hast.
Schreib ein paar Spannungen dazu, dann
mach davon ein Foto und zeig das mal her.

von Falk B. (falk)


Lesenswert?

Isses denn wirklich soo schwer? Oder fehlen da einfach ELEMENTARE 
E-Technik Kenntnisse?

Du brauchst ein 3,3V Netzteil, um deinen CPLD zu versorgen. JA, auch GND 
anschliessen. Und dein Programmer wird auch KOMPETT an den CPLD 
angeschlossen. Vref kommt wie schon mehrfach gesagt an Vcc.

MFG
Falk

von Micha (Gast)


Angehängte Dateien:

Lesenswert?

So, also wie gewünscht mal meine Verschaltung...

Aber es kann sein das ich evtl. meinen Fehler gefunden habe...

Ich werd es gleich mal probieren und hoffe trotz alle dem auf eine 
Antwort von euch....

Vielen Vielen Dank und Sorry das ich euch solche Umstände mache.

Mit freundlichen Grüßen
Micha

von Micha (Gast)


Lesenswert?

Also ich weis nicht, ich glaube langsam ich bin echt zu doof dazu das 
zusammen zu löten...

Habs jetzt nochmal komplett zerlegt und neu gemacht, ändert sich nix 
dabei...

Jetzt wird es blöd klingen, aber kann das mal jemand aufmalen so wie es 
sein muss? So ganz für Vollidioten?

Wäre echt nett... oh man langsam wird es peinlich, aber ich weis echt 
nicht was ich falsch mache...

Ich hab oben schon nen Plan mit reingehangen wie mein Progger aussieht 
und wie ich es angeschlossen habe... aber anscheinend muss das falsch 
sein...

Nun ja...

Danke für eure Hilfe, auch wenn es langsam für mich peinlich wird.

Liebe Grüße
Micha

von Micha (Gast)


Lesenswert?

Achso, etwas peinliches kann ich mir schon ersparen, ich habe die untere 
Buchse genommen, da wo auch JTAG dran steht... aber leider geht es 
trotzdem nicht...

Danke

von Christian R. (supachris)


Lesenswert?

Der Anschluss ist schon richtig so. VCCAUX hast du auch beschaltet, das 
war noch ein Verdacht von mir. Da kann eigentlich nur noch das PLD oder 
der Programmer kaputt sein. Wenn du mal TDI direkt auf TDO brücken 
würdest, und VREF anlegst, kann man sogar den PLD ausschließen. Dann 
müsste nämlich Impact eine leere JTAG-Kette finden.

Übrigens: Wieso hast du nicht den richtigen Xilinx Programmer gekauft? 
Wer billig kauft, kauft zwei mal.

von lkmiller (Gast)


Lesenswert?

Schließ also mal an das ProgKabel an:
Vref = 3v3
GND = 0V
TDO = TDI
Kommt dann im Impact ne leere Chain?

Falls ja: dein ProgKabel tut.
(Hab' ich übrigens auch schon mal liebgeäugelt mit)

Falls nein: schade.
Falls du dann einen Parallel-Port am Rechner hast,
dann bau das Kabel von fischl.de nach. Kost ja nix (ausser Zeit).

von Micha (Gast)


Lesenswert?

Pppuuhhh, da bin ich glücklich das ich das richtig gemacht habe, den ich 
war hier voll am verzweifeln weil mir keiner so richtig glauben wollte, 
denn so schwer ist das ja nich die paar drähte zusammen zu löten.

Das mit TDI = TDO hab ich auch getestet.. da kommt komischerweise der 
selbe Fehler:

ERROR:iMPACT:585 - A problem may exist in the hardware configuration.
  Check that the cable, scan chain, and power connections are intact,
  that the specified scan chain configuration matches the actual
hardware, and
   that the power supply is adequate and delivering the correct voltage.
PROGRESS_END - End Operation.

Ich denke ich komme besser wenn ich das Ding zum VHT Shop zurückschicke 
und mir den Orginalen Progger hole.

Könntet Ihr mir evtl nen Link geben wo ich das Ding gleich finde, den 
ich bin völlig entnervt, wieder geht ne Woche ins Land. Das ist 
vielleicht ein Scheiß start eh...

Naja... Irgendwie haben wir das Problem nun doch gelöst... Progger 
funktioniert nicht richtig.... doll...

Trotzdem Danke an alle...

Nun den Link noch und hoffen das dann alles glatt geht...

Liebe Grüße
Micha

von Micha (Gast)


Lesenswert?

Sollte ich mir da dieses Gerät holen?

Xilinx Spartan-3E Starter Kit, Spartan 3E

Das gibt es nämlich auch bei VHT... kostet zwar etwas mehr aber ich kann 
ja mein Gerät gegenrechnen...

Mit dem Teil hoffe ich dan meinen XC9572xl entlich Leben einhauchen zu 
können... es gibt nix schlimmeres, als eine Leiterplatte fertig zu haben 
und ein Loch in der PLCC 44 Fassung zu haben weil der Chip nich will...

Mist eh....

Vielen Danke

von Christian R. (supachris)


Lesenswert?

Was willst du mit einem Spartan Starter Board? Du brauchst doch nur den 
Programmer: Der http://www.xilinx.com/products/devkits/HW-USB-G.htm oder 
der http://www.xilinx.com/products/devkits/HW-USB-II-G.htm Ich hab 
letzten, geht einwandfrei und sau-schnell.

von Falk B. (falk)


Lesenswert?

Ist aber mit 225 Dollar auch ein STOLZER Preis!

von Micha (Gast)


Lesenswert?

Naja sagen wir mal so, zumindest wenn ich mich nicht Irre, 225 $ also 
ca. 125 € kostet der von Xilinx und das Board kostet doch aber auch ca. 
140€ also so preislich liegen die ja nun auch wieder nicht 
auseinander...

Wenn ich das Ding dann bestelle, funktioniert das auch ja? Denn ich 
möchte nicht noch mal den selben Mist durchmachen wie jetzt....

Und wenn du dir dieses schon bestellt hast, wie lange Dauerten die 
Lieferung? Ich werd meinen heute zur Post schaffen und zurückschicken, 
hoffe das er mir mein Geld wieder gibt und dann bestelle ich mir das 
"Orginale" Teil...

Würd mich noch über eine Antwort freuen.

Liebe Grüße
Micha

Und ein schönes Wochenende

von lkmiller (Gast)


Lesenswert?

Sieh dich doch mal bei Trenz-electronic um.
Da gibt es ein GOP_XC9572XL
Und wenn du noch eine Parallel-Schnitte hast ein Z-JTAG3 
Programmierkabel.

Oder besorg dir ein komplettes Eval-Kit.
Dann weißt du mal sicher, dass deine Hardware tut.

von Christian R. (supachris)


Lesenswert?

Ich hab den auf Arbeit bestellt. 158€ netto. bei Avnet Silica. Wir 
können uns nicht auf so ein Gebastel einlassen, da spielen die 20€ keine 
Rolle. Lieferung etwa eine Woche. Hast du mal ein Link zu dem Board? Ist 
da ein Programmer dabei, oder was willst du damit?

von Micha (Gast)


Lesenswert?

Sagt mal, ihr habt doch mehr Erfahrung als ich.
Wenn ich nicht exakt 3,3 V anlege, kann es da auch sein das der benannte 
Fehler von mir kommt?

Weil ich kann es immer noch nicht glauben das das TEil nicht so richtig 
klappen will...

Mich hat eben nur gewundert, das bei einem Versuch der Chip etwas warm 
wurde, aber jetzt beliebt er eben kalt...

Ich verstehe das irgendwie nicht.

Bestünde evtl. auch die Möglichkeit das ich diese Gerät einen von euch 
mal zuschicke und Ihr Testet mal, ob ich nicht vielleicht doch was 
falsch mache?

Danke an euch

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.