Forum: FPGA, VHDL & Co. xc9500xl's mit 5v programmierbar?


von ALeX K. (alx)


Lesenswert?

Moin,

ich plane einen xc9572xl über einen AVR zu programmieren.
Und da stellt sich mir die frage: sind nur die freien I/O pins 5V 
tolerant oder können die JTAG-I/O's auch 5V ab? Ich habe lange gesucht 
aber nirgendwo eine passende Antwort gefunden.

Ja, eine Lösung wäre es den AVR mit 3.3V zu betreiben, dann habe ich 
aber das Problem das der nicht mehr mit den 5V Signalen von einer 
anderen Quelle zurechtkommt.

Wahrscheinlich könnte ich auch einfach einen Widerstand in die drei 
JTAG-Eingänge einbauen, aber welche? (dass der JTAG output nur 3.3V 
liefert ist kein problem, denn das ist ja 5V kompatibel Richtung AVR.)

Ciao, ALeX.

Zusatzinfo 1:
Die CPLD's ohne xl (= pur 5V) gibts bei reichelt nicht mehr.

Zusatzinfo 2:
Der AVR soll ein AT90USB162 werden und mit opendous-jtag 
(https://code.google.com/p/opendous-jtag/) als JTAG-programmer 
eingesetzt werden - damit kann dann "jeder" den CPLD per USB 
programmieren.

von Duke Scarring (Gast)


Lesenswert?

ALeX K. schrieb:
> Wahrscheinlich könnte ich auch einfach einen Widerstand in die drei
> JTAG-Eingänge einbauen, aber welche?
Klingt nach Murks.

Was spricht gegen einen Pegelwandler?
Z.B. TI, TXB0104 http://www.ti.com/product/txb0104

Duke

von ALeX K. (alx)


Lesenswert?

> Was spricht gegen einen Pegelwandler?

Na, wenn der 5v abkönnte wäre der überflüssig.

Da auf der Platine auch so schon Platznot herrscht ist um so kleiner um 
so besser zudem bevorzuge ich etwas, was man bei reichelt bestellen 
kann. (Und 3 bit unidirektional wuerde auch total reichen).

von Sigi (Gast)


Lesenswert?

Alle IOs der XLs sind 5V-tolerant, aber über die JTAG-Pins wird in
den Manuals (z.B. ds054.pdf) nichts gesagt.
Frag am Besten im Xilinx-Forum nach, da antworten sehr kompetente
Xilinx-Mitarbeiter.

von Duke Scarring (Gast)


Lesenswert?

ALeX K. schrieb:
> Na, wenn der 5v abkönnte wäre der überflüssig.
Zumindest im DS058 steht nicht drin, das die JTAG Pins andes sind, als 
die anderen IO-Pins.
Ich würde ein paar Angstwiderstände (200Ohm - 1kOhm) reinmachen.

Duke

von Christoph Z. (christophz)


Lesenswert?

Duke Scarring schrieb:
> ALeX K. schrieb:
>> Wahrscheinlich könnte ich auch einfach einen Widerstand in die drei
>> JTAG-Eingänge einbauen, aber welche?
> Klingt nach Murks.

Nicht ganz, muss aber wissen was man tut (die internen Clamping-Dioden 
müssen vor Überlast geschützt werden). Das Problem besteht beim Spartan3 
z. B. auch, da sind die JTAG Pins an 2,5 V möchte aber oft 3,3 V 
tolerant sein.

Xilinx erklärt das auch ausführlich:
http://www.xilinx.com/support/answers/20477.htm

von Frank K. (fchk)


Lesenswert?

ALeX K. schrieb:
> Moin,
>
> ich plane einen xc9572xl über einen AVR zu programmieren.
> Und da stellt sich mir die frage: sind nur die freien I/O pins 5V
> tolerant oder können die JTAG-I/O's auch 5V ab? Ich habe lange gesucht
> aber nirgendwo eine passende Antwort gefunden.
>
> Ja, eine Lösung wäre es den AVR mit 3.3V zu betreiben, dann habe ich
> aber das Problem das der nicht mehr mit den 5V Signalen von einer
> anderen Quelle zurechtkommt.

welche Quelle?

> Zusatzinfo 2:
> Der AVR soll ein AT90USB162 werden und mit opendous-jtag
> (https://code.google.com/p/opendous-jtag/) als JTAG-programmer
> eingesetzt werden - damit kann dann "jeder" den CPLD per USB
> programmieren.

Du könntest auch einen FT2232D nehmen, dafür gibts auch einen 
Programmer.

fchk

von ALeX K. (alx)


Lesenswert?

> welche Quelle?

im Datenblatt zum at90usb162 steht dass er max. vcc+0.5v kann.
Bei vcc von 3.3v sind das mit 3.8v deutlich unter 5v.

> Du könntest auch einen FT2232D nehmen, dafür gibts auch einen
> Programmer.

Jaa, aber der avr ist auch noch für andere aufgaben im Einsatz, das 
programmieren des cpld ist nur eine. Und ich fände es super wenn ich 
alles mit einem chip erschlagen kann.

von W.S. (Gast)


Lesenswert?

Typisch Atmel-Fan.

Warum bleibst du nich ganz einfach bei Impact und erledigst das Ganze 
mit nem billigen Nachbau von irgendeinem Adapter, den Impact kennt?

Im allerpopligsten Fall ein Parallelkabel#4 oder so. Damit wäre dann die 
Spannungsanpassung gleich mit erledigt.

Allein bloß das Jedec-File ist doch nicht mal die halbe Miete, du 
müßtest noch die ganzen JTAG-Kommandosequenzen nachprogrammieren, die du 
per Impact frei haus mitgeliefert bekommen würdest.

Und das Rumgepfriemel mit Angstwiderständen und so ist Bastelpfusch.

W.S.

von ALeX K. (alx)


Lesenswert?

> Im allerpopligsten Fall ein Parallelkabel#4 oder so. Damit wäre dann die
> Spannungsanpassung gleich mit erledigt.

der einzige Rechner mit parallelport den ich habe ist ein Amiga 1200.

> Allein bloß das Jedec-File ist doch nicht mal die halbe Miete, du
> müßtest noch die ganzen JTAG-Kommandosequenzen nachprogrammieren, die du
> per Impact frei haus mitgeliefert bekommen würdest.

das hat alles schon jemand programmiert (s. link im 1. Beitrag).

von W.S. (Gast)


Lesenswert?

Geh mal nicht von DIR aus. Für den PC gibt es stabil seit vielen Jahren 
billige Einsteck-Karten mit den klassischen Schnittstellen - und diese 
werden trotz anderer physischer Adressen (wegen PCI) vom Impact auch 
heutzutage noch einwandfrei erkannt.

ALeX K. schrieb:
> das hat alles schon jemand programmiert

Ah ja. Es geht also definitiv NICHT darum, so ein CPLD zu programmieren, 
sondern aus Sport das Impact NICHT zu benutzen, sondern es eben 
irgendwie anders, aber mit nem Atmel zu machen. Na denn viel Vergnügen.

W.S.

von Marius S. (lupin) Benutzerseite


Lesenswert?

Gehen tut das, habe die früher über parallelport und 5V Versorgung (!) 
programmiert :-)

von ALeX K. (alx)


Lesenswert?

Ich hab übrigens auch kein Windows!

Aber darum geht es hier ja auch überhaupt nicht. Die Frage ist: Kann der 
xc9500xl 5v an den jtag pins ab?

von W.S. (Gast)


Lesenswert?

Ja, er geht davon normalerweise NICHT kaputt, aber es hebt ihm seine VCC 
aus.
Sachlich in Ordnung ist das jedenfalls nicht, sondern man sollte zum 
Programmieren eben ein Parallelkabel#4 oder so davorklemmen.
Mal im Klartext: Das ist nicht irgendein Tampen aus Drähten, sondern ein 
Bustreiber, der mit der VCC des zu programmierenden Devices gespeist 
wird und damit seinerseits die Pegelwandlung bewerkstelligt.

W.S.

von Frank K. (fchk)


Lesenswert?

Heutzutage vermeidet man besser 5V-Devices. Was ist da noch drauf, das 
unbedingt und nicht änderbar 5V braucht?

fchk

von W.S. (Gast)


Lesenswert?

Na, das ist aber ein schöner Spruch aus der Praxis.

Also, ich hab genug Geräte, wo was mit FET's geschaltet werden muß und 
selbst die sog. Logik-FET's brauchen zum richtigen Einschalten mehr als 
bloß 3.3V. Da kommen 5V grad richtig.

Es gibt noch massenweise Anwendungsfälle, wo man mit 5 Volt zu tun 
hat. Abgesehen davon scheint mir der Ansatz des TO ganz generell einfach 
falsch zu sein. Wenn er ein CPLD brennen will, soll er sich nicht einen 
ungeeigneten, sondern einen geeigneten Brenner bauen.

W.S.

von Stefan H. (stefan_h16)


Lesenswert?

W.S. schrieb:

> ALeX K. schrieb:
>> das hat alles schon jemand programmiert
>
> Ah ja. Es geht also definitiv NICHT darum, so ein CPLD zu programmieren,
> sondern aus Sport das Impact NICHT zu benutzen, sondern es eben
> irgendwie anders, aber mit nem Atmel zu machen. Na denn viel Vergnügen.
>
> W.S.

Ich bin nicht der TO, aber ich finde die Diskussion geht völlig fehl. Es 
gibt genug Gründe warum man den CPLD über einen AT90USB162 programmieren 
will:
Man hat ein Board auf dem uC / CPLD sowieso drauf sollen damit sie 
produktiv zusammenarbeiten, und
      - man entwickelt an einem Laptop aus diesem Jahrhundert
      - der PC hat kein Platz (mehr) für PCI/PCI-E Steckkarten
      - man möchte die Firmware im Feld updaten können
      - findet USB besser als Parallelport
      - lässt sich gerne hier im Forum schwach von der Seite anreden
Welche Gründe der TO auch hat, es spielt keine Rolle, er will es so und 
man kann ihm helfen oder einfach schweigen.

Zum Thema: Spannungsteiler in den JTAG-Signalen uC->CPLD, sollte doch 
gehen. Die Signale mW unidirektional und man ist definitiv auf der 
sicheren Seite.

: Bearbeitet durch User
von Frank K. (fchk)


Lesenswert?

Stefan H. schrieb:

> Ich bin nicht der TO, aber ich finde die Diskussion geht völlig fehl. Es
> gibt genug Gründe warum man den CPLD über einen AT90USB162 programmieren
> will:

Und wenn er den Schaltplan posten würde, könnte man ihm besser helfen.

> Zum Thema: Spannungsteiler in den JTAG-Signalen uC->CPLD, sollte doch
> gehen. Die Signale mW unidirektional und man ist definitiv auf der
> sicheren Seite.

Das ist Pfusch. Du betrachtest nur den Gleichstromfall und vergisst die 
kapazitiven und induktiven Anteile. Bei einigen 100 kHz sollte man das 
nicht tun. Der korrekte Weg wäre ein 74LVC..., zB 74LVC08.

fchk

von W.S. (Gast)


Lesenswert?

Stefan H. schrieb:
> - man entwickelt an einem Laptop aus diesem Jahrhundert
>       - der PC hat kein Platz (mehr) für PCI/PCI-E Steckkarten
>       - man möchte die Firmware im Feld updaten können
>       - findet USB besser als Parallelport
>       - lässt sich gerne hier im Forum schwach von der Seite anreden
> Welche Gründe der TO auch hat, es spielt keine Rolle, er will es so und
> man kann ihm helfen oder einfach schweigen.

So nicht, mein Lieber.

Helfen kann man jemandem nur, indem man ihn von seinem Irrweg abbringt 
und zum wirklichen Nachdenken bringt. Und nicht, indem man ihm den 
Irrweg ebnet.

Ich hab auch was dagegen, wenn jemand wie DU das Spiel gezielter 
Mißverständnisse betreibst. Wer keinen Pegelwandler aka Parallelkabel#4 
einsetzen will (das ist ein BUSTREIBER!!), dem sollte man das nahelegen.

Wer heutzutage keinen Parallelport mehr hat und auch nicht haben will, 
der nehme eben einen anderen Brenner, der von Impact verstanden wird. Es 
gibt da ne Menge, selbst via Ethernet. Soviel zu allen deinen 
Einlassungen.

Wenn jemand schreibt
"ich plane einen xc9572xl über einen AVR zu programmieren."
dann fragt ich mich inzwischen, ob das Ziel der Übung nun ein 
programmierter IC ist oder eher das Basteln mit einem AVR.

An CPLD's programmiert man nicht alle Nase lang herum, deren 
Programmierzyklen sind begrenzt. Normalerweise werden sie 1x oder in der 
Entwicklung ein paarmal programmiert und bleiben das, solange das 
betreffende Gerät existiert. Das Argument einer gelegentlichen 
Umprogrammierung zur Laufzeit durch den Steuercontroller wäre 
fehlgedacht, falls es überhaupt vom TO so angedacht sein sollte.

Fazit: Das fertige Brennprogramm vom Hersteller gibt es kostenlos, die 
zugehörige HW auf dem Zielboard besteht aus ein paar Steckpfosten und an 
Brennadaptern gibt es alles von quietschbillig bis teuer. Also gibt es 
nicht den allergeringsten Grund, dies alle mutwillig auszuschlagen - 
außer einem EVENTUELLEN hier (noch) nicht diskutierten falschen 
Systementwurf.

W.S.

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.