Forum: FPGA, VHDL & Co. Programmierung von AVR und CPLD in der gleichen JTAG-Kette?


von JK (Gast)


Lesenswert?

Hi,

ich bin gerade dabei ein kleines Gerät zu bauen, in dem ein AVR 
(ATMega16) mit einem Xilinx CPLD (XC9572) zusammen arbeiten soll. Aus 
Platzgründen will ich nicht neben dem JTAG-Interface auch noch die 
ISP-Schnittstelle für den AVR einbauen.
Nach der Durchsicht unzähliger Threads zum Thema JTAG in diesem Forum 
und in den gängigen Suchmaschinen bin ich leider noch mehr verunsichert 
als vorher... :-(
Viele Threads sind einfach (zu?) alt, oder streifen das Thema der 
Mischbestückung nur am Rande.
Was mich interessieren würde, sind Erfahrungsberichte zu diesem Thema. 
Wichtig für mich ist die Programmierung von AVR und CPLD am gleichen 
JTAG-Bus. Eine Monokultur aus CPLD's oder AVR'S scheint eher keine 
Probleme zu bereiten.

Kann man beide mit der gleichen Software programmieren? Wenn ja, dann 
mit welcher? AVR Studio, ISE oder gibt es noch etwas besseres? Oder wird 
jedes Device mit der eigenen Software programmiert?
Wie sieht es mit dem Programmieradapter aus? Anscheinend bietet jede 
Firma etwas an... Sollte ich etwas Geld in Atmel oder Xilinx 
reinstecken?
Oder lieber gleich etwas selbst bauen? Reicht das JTAG Kabel vom 
Martinimann?
Ich verfüge zwar über die älteren Schnittstellen (Serial, Parallel) aber 
natürlich wäre USB zukunftssicherer. Gibt es ausser der Verfügbarkeit 
noch etwas, was für oder gegen eine der genannten PC-Schnittstellen 
sprechen würde?

Fragen über Fragen...

lg. JK

von Gast (Gast)


Lesenswert?

xilinx plds kannst du nur mit dem impact laden, ich wuesste nicht, dass 
dies ginge.

von Andreas (Gast)


Lesenswert?

Hallo JK,

Programmieren von AVR udn CPLD über eine JTAG Chain.

klar geht das, dafür wurde JTAG alias IEEE1149 entworfen und normiert.

Die Fa. JTAG und Göbel bieten z.B. kommplette Pakete an. Kosten 
allerdings im fünfstelligen Bereich. Mit deren Software wird dann 
allerdings auch gleich Boardtest gemacht...

Es gibt auch mehrere Hersteller im Low-Budget Bereich, deren 
Testmöglichkeiten nicht so ausgeprägt sind und deren Test- und 
Programmiergeschwindigkeit nicht an die der oberen Hersteller 
heranreicht, weil die mit z.B. mit dem Xilinx Downloadkabel arbeiten.

Evtl. gibt es bei denen Trialware ansonsten liegen die Kosten bei rund 
$200-$500 wenn ichs recht in Erinnerung habe.

Also die billigste und Problemloseste Lösung für den Privatmann sind 
zwei Chains: 1 * Mikrocontroller; 1 * CPLD.
Bei CPU-Debugging via JTAG kostet jedes zusätzliche Device in der Chain 
Performence beim Debugging, weil zus. Bausteine durchzutakten sind.
Dann hast Du am wenigsten Probleme zu erwarten, ist billig weil die 
Toolchain kostenlos zur Verfügung steht...

Gruss

Andreas

von Christian R. (supachris)


Lesenswert?

Naja, man könnte ein SVF erstellen und das in die Kette schieben. Aber 
ob man eine Programmiersoftware für den AVR findet, die SVF ausgeben 
kann? Hab ich noch nicht gesehen. Auf jeden Fall kann man dem AVR Studio 
verklickern, dass da noch ein anderer Baustein in der Kette ist und 
Xilinx imPact erkennt das auch. Das geht schon mal. Und beim Debuggen 
kostet es kaum Performance, denn es muss pro Chip nur eine Zelle 
durchschoben werden (Bypass-Mode).

von JK (Gast)


Lesenswert?

Zum debuggen brauche ich es nicht. Mit dem Prototyp arbeitet man ja 
ohnehin meistens noch ohne Gehäuse und auch die Platine kann großzügiger 
ausfallen wenn sie nicht in ein kleines Gehäuse passen muss. Da ist es 
dann fast schon egal wenn jeder Chip eine eigene JTAG-Schnittstelle 
bekommt.

Im fertigen Gerät wollte ich nur die Möglichkeit der Neuprogrammierung 
beider Chips bei geschlossenem Gehäuse über die gleiche Schnittstelle 
schaffen. Es ist für mich auch OK wenn jeder Chip mit der eigenen 
Software programmiert wird, nur am gleichem JTAG sollten die hängen.

Wenn ich den Christian richtig verstanden habe, dann sollte das doch 
gehen wenn man in beiden Programmen den jeweils fremden Chip in der 
Kette auf bypass schaltet?

lg. JK

von Uwe Bonnes (Gast)


Lesenswert?

Auf sourceforge habe ich unter xc3sprog meine Version von xc3sprog 
hochgeladen, die auch den XC95144XL programmieren kann. Fuer andere 
Typen gehoert das noch angepasst.

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.