Forum: FPGA, VHDL & Co. Geschwindigkeit von JTAG an paralleler Schnittst.


von Jörg (Gast)


Lesenswert?

Hallo,

wie kann ich auf meinem PC die Geschwindigkeit der parallelel JTAG
Schnittstelle ändern? Oder sucht sich das Tool (bei mir: Xilinx Impact)
die optimale/maximale Geschwindigkeit selbst raus?

Habe mal was von 200KHz als Standard gelesen, 2MHz sollen aber auch
möglich sein.

Gruss

Jörg


P.S. kleine Frage noch nebenbei: habe mir gerade noch ein Xilinx
kompatibles Parallel-Cable-III gebaut, aber aus Bauteilemangel auf
die Schmitt-Trigger verzichtet, d.h. nur die Treiber verwendet. Da
alles ohne Probleme klappt, frage ich mich und euch, ob die
Schmitt-Trigger wirklich notwendig sind?

von Falk B. (falk)


Lesenswert?

@ Jörg (Gast)

>wie kann ich auf meinem PC die Geschwindigkeit der parallelel JTAG
>Schnittstelle ändern?

Beim alten Parallel-III ist man auch ca. 200kHz begrenzt, mehr geht 
nicht, denn das macht nur Bit-Banging.
Beim neueren Parallel-IV Kabel kann man es in den Optionen von IMPACT 
einstellen.

>alles ohne Probleme klappt, frage ich mich und euch, ob die
>Schmitt-Trigger wirklich notwendig sind?

Nein. Ich hatte schon ein originales Parallel-III Kabel, welches in 
einer verseuchten Umgebung nicht stabil lief. Ein Eigenbau mit 
Schmitt-Trigger lief anstandslos.

MFG
Falk

von Jörg (Gast)


Lesenswert?

Ah, danke. Kauf mir dann doch besser noch ein 74HC14 dazu, an 30 Cent
soll's ja nicht liegen.

Das aber ein orignal Xilinx-Kabel nicht stabil läuft, ist schon arm.
Wenn man für 30 Cent stabile und scharfe Signale garantiert bekommt....

Gruss

Jörg

von Christian R. (supachris)


Lesenswert?

Jörg wrote:
> Ah, danke. Kauf mir dann doch besser noch ein 74HC14 dazu, an 30 Cent
> soll's ja nicht liegen.
>
> Das aber ein orignal Xilinx-Kabel nicht stabil läuft, ist schon arm.
> Wenn man für 30 Cent stabile und scharfe Signale garantiert bekommt....

Freu dich nicht zu früh. Die Parallel-kabel von xilinx sind alles andere 
als stabil, trotz "scharfer" Signale. Wenn man dann noch die Flying 
Leads nimmt, wirds noch schlimmer. Virtex IV Bootprom über Parallel 
Cable IV programmieren oder gar den PPC deguggen nervt total. Trotz 
kurzem ordentlichen Flachbandkabel öfters Fehler und Debug-Abbrüche.
Wir haben dann auf die Platform Cable USB II (die roten) umgerüstet, die 
funktionieren einwandfrei und sehr schnell.

von Jörg (Gast)


Lesenswert?

@Christian R.,

jetzt kriege ich aber doch ein wenig Kopfschmerzen. Meine jetzige
Schaltung läuft problemlos an einem Spartan3E Starter Kit, wollte
mir aber ein Virtex5 Kit bestellen. Kannst du vieleicht mal kurz
beschreiben, wie sich die Probleme äussern, nur damit ich vorbereitet
bin. 180 Euro für ein USB II Kabel sind mir dann doch (privat!)zu
teuer, also möchte ich es erstmal mit Parallel III probieren.

Gruss

Jörg

von Christian R. (supachris)


Lesenswert?

Hab ich doch geschrieben: Das Flashen des BootProms bricht ab und zu ab, 
was bei der lahmen Verbindung nervt. Debuggen ist instabil, besonders 
beim Übertragen des Programms in den PPC, also zum Start des Debuggens. 
Nervt. Mit dem USB ist das bisher nicht aufgetreten. Geht das Cable III 
überhaupt für die Virtex 5?

von Jörg (Gast)


Lesenswert?

Das Virtex5-Board läuft sowohl mit Parallel-IV als auch mit
USB/USB-II. Das Board selbst kann aber zwischen Parallel IV und
III nicht unterscheiden, hängt nur von Xilinx-Impact ab.
Werd's aber einfach mal probieren, falls es doch nicht läuft
werden ich mir dann doch noch ein USB Kabel kaufen.

Gruss und vielen Dank für eure Hilfe,

Jörg

von Bernd (Gast)


Angehängte Dateien:

Lesenswert?

Dieses Problem hatte ich auch. Hab mir ein Programmierkabel 
zusammengelötet und es hat nicht richtig funktioniert. Ich hab 
allerdings keine Treiber oder Schmittrigger verwendet, nur Widerstände 
mit 56 Ohm. Das Kabel hat erst funktioniert, als ich die 100pF von den 
Signalen auf Masse gelötet habe, und das möglichst dicht am Schaltkreis.

Wahrscheinliche Ursache:
Die Daten, welche über MISO rauskommen, haben sehr steile Flanken. Das 
bewirkt ein Übersprechen z.B. auf den CLK, wodurch der Baustein diesen 
Spike als Takt interpretiert. Mit den 100pF wird die Flankensteilheit 
soweit reduziert, bis das Übersprechen verschwindet. Das Problem kann 
schon auftreten, wenn zwischen einem USB Programmier-Adapter und dem 
Schaltkreis ein 20 cm langes Flachkabel verwendet wird. Werden 
freihängende Adern mit Abstand zueinander verwendet, werden die Fehler 
weniger. Eine Masseleitung zwischen jedem Signal könnte auch 
funktionieren.

Gruss, Bernd

von Falk B. (falk)


Lesenswert?

@  Bernd (Gast)

>mit 56 Ohm. Das Kabel hat erst funktioniert, als ich die 100pF von den
>Signalen auf Masse gelötet habe, und das möglichst dicht am Schaltkreis.

Aua. Wir basteln uns Schwingkreise und EMV Dreck. Wenn dann bitte ein 
RC-Glied.

>Spike als Takt interpretiert. Mit den 100pF wird die Flankensteilheit
>soweit reduziert, bis das Übersprechen verschwindet. Das Problem kann

Und dafür schöne Stromimpulse generiert.

MfG
Falk

von Bernd (Gast)


Lesenswert?

@Falk
Die ideale Lösung ist natürlich ein USB-Dongle, welcher direkt neben dem 
zu programmierenden Chip in den Programmier-Anschluss gesteckt wird.
Bernd

von Christian R. (supachris)


Lesenswert?

Jo, der USB Programmer ist ideal. Kurzes Flachbandkabel dran und dann 
klappts. Mit den Par-Port-Dingern macht das Debuggen des PPC keinen 
Spaß.

von Benedikt K. (benedikt)


Lesenswert?

Die Parallelportkabel sind wirklich sehr kritisch. Ist genauso wie bei 
den AVRs und Ponyprog. Um mal 1-2 CPLDs im Monat zu programmieren reicht 
das, aber wenn man es täglich nimmt, sollte man unbedingt auf USB 
umsteigen, alleine schon wegen der Geschwindigkeit.

Ich bin mittlerweile bei Version 3 der Hardware, die jetzt einigermaßen 
stabil läuft: Kurzes Kabel zwischen PC und Adapter (ca. 0,5-1m), dann 
die Schaltung mit dem Schmittrigger und den RC Glieder und dann nochmal 
etwa 10-20cm Kabel zur Schaltung. Beim Programmieren gibts damit sehr 
selten Fehler.
Problematisch wird es nur, wenn die Schaltung nicht so nahe am PC steht. 
Dafür habe ich mir ein Kabel gebastelt, das aus einem normalen 
Flachbandkabel besteht und immer abwechselnd Signal Masse Signal Masse 
usw. besteht.
Das funktioniert fast so gut wie mit dem kurzen Kabel.
Ohne die Masse dazwischen hatte ich in etwa 80-90% aller 
Programmiervorgänge Fehler beim Verify.

Da ich das ganze eher selten brauche, kann ich damit leben. Eine USB 
Lösung wäre mir aber lieber, aber bisher konnte ich noch keine Lösung 
finden die sich für wenig Geld nachbauen lässt, und auch eine fertige 
Software vorhanden ist, die viele CPLDs und FPGAs unterstützt.

von Falk B. (falk)


Lesenswert?

@ Benedikt K. (benedikt)

>stabil läuft: Kurzes Kabel zwischen PC und Adapter (ca. 0,5-1m), dann
>die Schaltung mit dem Schmittrigger und den RC Glieder und dann nochmal
>etwa 10-20cm Kabel zur Schaltung. Beim Programmieren gibts damit sehr
>selten Fehler.

>Das funktioniert fast so gut wie mit dem kurzen Kabel.
>Ohne die Masse dazwischen hatte ich in etwa 80-90% aller
>Programmiervorgänge Fehler beim Verify.

http://www.geocities.com/Jacquesmartini/digital/schematic/Parallel_Cable_III.png

Funktioniert auch mit 2m Kabel und ggf. länger problemlos. Einfaches 
Steuerkabel reicht.

MfG
Falk

von Jörg (Gast)


Lesenswert?

@Benedikt K.,

weisst du vieleicht, ob USBProg v3.0 zum Programmieren von
Xilinx-Bausteinen geeignet ist?

Was mit noch zu deinen Bemerkungen einfällt: Die Treiber bzw.
Schmitt-Trigger sind am Ende des Parallelkabels (kurz vor der
JTAG-Schnittstelle), würde vieleicht ein Treiber für TDO am
Anfang (d.h. direkt am/im PC-Stecker) das Problem beseitigen
bzw. die Fehlerrate verringern?


Gruss

Jörg

von Jörg (Gast)


Lesenswert?

@Falk Brunner,

das ist bis auf die Schmitt-Trigger Stufe genau die Schaltung,
die ich auf meinem Breadboard verwende. Den Link dazu habe ich
schon auf mehreren Seiten gefunden und nirgends wurde über
Probleme (beim Programmieren) geschrieben.


Gruss

Jörg

von Benedikt K. (benedikt)


Lesenswert?

Falk Brunner wrote:
http://www.geocities.com/Jacquesmartini/digital/schematic/Parallel_Cable_III.png
>
> Funktioniert auch mit 2m Kabel und ggf. länger problemlos. Einfaches
> Steuerkabel reicht.

Bei mir leider nicht. Wenn ich 2m Kabel zwischen PC und der Schaltung 
dran mache, dann gibt es Probleme, zumindest bei manchen 
Betriebsspannungen. Die Version mit den Schmitttrigern ist zwar besser 
als die ohne, aber immer noch nicht ganz perfekt.
An meinem alten PC läuft die Schaltung dagegen problemlos. An einem 
anderen aber garnicht...

Jörg wrote:
> weisst du vieleicht, ob USBProg v3.0 zum Programmieren von
> Xilinx-Bausteinen geeignet ist?

Den habe ich noch nicht ausprobiert. Der Beschreibung auf der Homepage 
nach sieht das aber so aus, wie die meisten anderen Schaltungen: Schön 
angefangen zu entwickeln, erstmal für eine Zielhardware, viele andere 
geplant aber dann doch nie umgesetzt, da kein Eigenbedarf besteht.
Ich habe eine Schaltung mit einem FT2232 mit dem ich Spartan3 FPGAs 
programmieren und andere einfache sachen machen kann. Das wars dann aber 
auch, spätestens wenns ans PROM geht, fangen die Probleme an, denn das 
unterstützt die Software noch nicht.

von Falk B. (falk)


Lesenswert?

@ Benedikt K. (benedikt)

>dran mache, dann gibt es Probleme, zumindest bei manchen
>Betriebsspannungen.

MOMENT! Das Ding ist nur für 5V und 3,3V ausgelegt. Darunter geht 
nichts! Da braucht man richtige Pegelwandler.

>auch, spätestens wenns ans PROM geht, fangen die Probleme an, denn das
>unterstützt die Software noch nicht.

Gibts da keinen universellen SVF-Player?

MFG
Falk

von Benedikt K. (benedikt)


Lesenswert?

Falk Brunner wrote:

> Gibts da keinen universellen SVF-Player?

Ich habe zumindest noch keinen für den FT2232 gefunden.
OK, ich habe schon welche gefunden aber die funktionieren nur mit der 
orginal Hardware (z.B. von http://www.amontec.com)

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.