Forum: FPGA, VHDL & Co. basys 2 als programmer


von Marc S. (marc_s86)


Lesenswert?

Hi,
ich habe mir ein Digilent Basys 2 besorgt und damit erste Schritte im 
Bereich FPGA gemacht.
leider hat das basys nich besonders viele I/Os daher wollte ich mir eins 
von den FPGA boards die es so bei aliexpress gibt besorgen, auf denen 
nur der fpga+minimalbeschaltung drauf ist.
nun ist die frage: kann ich ein solches board in die jtag chain des 
basys hängen oder brauche ich einen seperaten programmer?
Gruß,
Marc

von Sigi (Gast)


Lesenswert?

Nein, so wie das Board beschaltet ist leider nicht,
jedenfalls nicht ohne in das Layout einzugreifen.

Aber vlt. findest du ja eine Stelle auf dem Board,
wo du JTAG-TDI (oder JTAG-TD0) trennen und ein ein
eigenen FPGA/CPLD einbauen kannst.

von Marc S. (marc_s86)


Lesenswert?

Sigi schrieb:
> Nein, so wie das Board beschaltet ist leider nicht,
> jedenfalls nicht ohne in das Layout einzugreifen.
>
> Aber vlt. findest du ja eine Stelle auf dem Board,
> wo du JTAG-TDI (oder JTAG-TD0) trennen und ein ein
> eigenen FPGA/CPLD einbauen kannst.

hab als ich gerade heim kam mal einen blick in den schaltplan 
geworfen[1]
weil ich eine unbestückte stiftleiste identifizieren wollte in der 
hoffnung dass dort der jtag port aufliegt - und tatsächlich: auf 
J4(seite 3) scheint das der fall zu sein!

Dort liegt TDI des FPGA und TDO des Rom bausteins an. allerdings könnte 
ich damit ja nur ein anderes board parallel zur bestehenden JTAG chain 
hängen also wohl doch nutzlos?

[1] http://www.digilentinc.com/Data/Products/BASYS2/Basys2_sch.pdf

von Sigi (Gast)


Lesenswert?

So wie ich das auf die Schnelle sehe, ist J4 nur zum
Abgreifen der AVR-JTAG-Signale geeignet (z.B. für
LogicAnalyzer), nicht aber für's Programmieren.
Die JTAG-Kette ist:

[USB-TDO]-->[S3-TDI,S3-TDO]-->[ROM-TDI,ROM-TDO]-->[USB-TDI]

(USB==AVR!)

Aber schau dir mal R88/390 im Schaltplan an: der verbindet
TDO-USB/TDI-FPGA mit S3:TDI, d.h. wenn du den Wiederstand
entfernst und TCK/TMS abgreifst, dann hast du JTAG für dein
neues FPGA-Board.

von Marc S. (marc_s86)


Lesenswert?

genial! der R88 war mir zwar aufgefallen aber da ich zu dem Zeitpunkt 
noch mit j4 geliebäugelt hab hab ich ihn nicht weiter beachtet.
werde das dann wohl so machen, danke!

PS: wenn ein xilinx jtag programmer doch nur ein Standard beschalteter 
at90usb ist, warum bietet dann keiner billige xilinx programmer an?

von Sigi (Gast)


Lesenswert?

Nein, der at90usb ist nicht Standard im JTAG-programmer,
dort wird glaube ich ein Coolrunner verwendet. Für den
at90usb ist ausserdem Digilents Proggersoftware
notwendig.
Nachbauten des orginal Xilinx' Programmer gibt's aber
auch schon ab 25Euro.

von Christian R. (supachris)


Lesenswert?

Xilinx kann mittlerweile auch mit den FTDI basierten Digilent 
Programmern umgehen. Das klappt wunderbar und die kosten kaum was.

von Sigi (Gast)


Lesenswert?

Und auch sehr wichtig für Umbauten/Anzapfungen:
Bei einem Standalone-Progger sind die Ausgänge
idR gepuffert, beim Anzapfen nicht. Ausserdem
kann man die Prog-Spannung nicht wählen und damit
evtl. das Ziel-Device zerstören.
Also dann doch lieber einen Standalone-Progger.

von Marc S. (marc_s86)


Lesenswert?

mal angenommen man hätte digilent eine nette mail geschrieben und darauf 
eine nette antwort mit einer hex Datei und einer eep Datei bekommen. 
angenommen ich würde also eine at90usb162 grundschaltung aufbauen und 
der noch ein paar lv244 ein-/ausgangspuffer hätte ich dann einen 
funktionsfähigen xilinx programmer? ;)

von Sigi (Gast)


Lesenswert?

Digilent ist nett, aber nicht sooo nett.
Es gibt aber Nachbauten, afaik aber nur auf
Basis des Xilinx-Orginals. Such einfach mal
im Netz.

von Marc S. (marc_s86)


Lesenswert?

Sigi schrieb:
> Digilent ist nett, aber nicht sooo nett.

tatsächlich sind sie das doch :O

> Es gibt aber Nachbauten, afaik aber nur auf
> Basis des Xilinx-Orginals. Such einfach mal
> im Netz.

ja das weiß ich aber ich hoffe auf einen lowcost Programmer in der 
preisregion wie die altera Programmer ;)

also glaubt ihr das würde wie oben beschrieben funktionieren?

von Sigi (Gast)


Lesenswert?

Marc S. schrieb:
> Sigi schrieb:
>> Digilent ist nett, aber nicht sooo nett.
>
> tatsächlich sind sie das doch :O

Soweit ich weiss lässt sich der Digilent-Programmer bzw. das
Design auch für eigene Designs lizensieren.
Hast du die Bins frei erhalten, evtl. auch die Sources?

>> Es gibt aber Nachbauten, afaik aber nur auf
>> Basis des Xilinx-Orginals. Such einfach mal
>> im Netz.
>
> ja das weiß ich aber ich hoffe auf einen lowcost Programmer in der
> preisregion wie die altera Programmer ;)
>
> also glaubt ihr das würde wie oben beschrieben funktionieren?

Wenn du dich auf Spartans und glaube ich noch XL9500er beschränkst,
dann lässt sich mit der Schaltung aus den Basys2-Schematics ein
einfacher Progger bauen.
IdR sind aber bei den meisten Proggern neben dem USB-Chip noch ein
Buffer enthalten, der uA auch für die Pegelanpassung zuständig ist.
Schau mal hier im Forum nach dem Schaltplan des orginal Xilinx
Progger, da kannst du dir die Details abschauen.

von Marc S. (marc_s86)


Angehängte Dateien:

Lesenswert?

Sigi schrieb:
> Marc S. schrieb:
>> Sigi schrieb:
>>> Digilent ist nett, aber nicht sooo nett.
>>
>> tatsächlich sind sie das doch :O
>
> Soweit ich weiss lässt sich der Digilent-Programmer bzw. das
> Design auch für eigene Designs lizensieren.
> Hast du die Bins frei erhalten, evtl. auch die Sources?

hab nur die hex und eep datei bekommen mit dem hinweis, dass ich die mit 
dem digilent isp kabel oder dem diglent JTAG kabel auf nen AVR flashen 
kann, sources o.ä. leider nicht.

>>> Es gibt aber Nachbauten, afaik aber nur auf
>>> Basis des Xilinx-Orginals. Such einfach mal
>>> im Netz.
>>
>> ja das weiß ich aber ich hoffe auf einen lowcost Programmer in der
>> preisregion wie die altera Programmer ;)
>>
>> also glaubt ihr das würde wie oben beschrieben funktionieren?
>
> Wenn du dich auf Spartans und glaube ich noch XL9500er beschränkst,
> dann lässt sich mit der Schaltung aus den Basys2-Schematics ein
> einfacher Progger bauen.
> IdR sind aber bei den meisten Proggern neben dem USB-Chip noch ein
> Buffer enthalten, der uA auch für die Pegelanpassung zuständig ist.
> Schau mal hier im Forum nach dem Schaltplan des orginal Xilinx
> Progger, da kannst du dir die Details abschauen.

ich hab mal was gezeichnet, kommt das so hin?

von Sigi (Gast)


Lesenswert?

Marc S. schrieb:
> ich hab mal was gezeichnet, kommt das so hin?

Du verwendest einen 244er (invertierend!), brauchst
aber einen 245er. Damit müsste es schon mal funktionieren.

Jetzt kommen aber noch ein paar Probleme:

- dein 244er/245er Buffer ist kein Levelschifter,
  d.h. es klappt nur für Progger-Spannungen von
  3.3V bis vlt. 2.5V(?).
  Im Xilinx-Progger ist dafür ein CoolRunnerII
  zuständig. Der hat auf der USB-Seite VCCIO1=3.3V
  und auf der Device/JTAG-Seite VCCIO2 3.3V bis
  runter zu 1.5V (wie gewünscht). Nachteile sind
  der Preis von ein paar Euro und die erforderliche
  Vorprogrammierung und mind. 2 Spannungen nur
  für den IC.
  Und du musst ja bedenken, dass Levelschifting in
  beide Richtungen erfolgen muss (TDI!), d.h. du
  brauchst (und hast ja auch) zwei Buffer-ICs oder
  einen flexiblen CoolrunnerII (oder Ähnlich).

- ganz wichtig ist auch die beliebige
  PowerUp-Reihenfolge von USB-VCC und JTAG-VCC.
  Wenn die nicht beliebig sein darf, dann kann
  der Progger gen Himmel fahren. (kein Witz, im
  teueren Alter USB-Blaster wird darauf hingewiesen).
  Bei dir wird das glaube ich aber vom AVR erledigt.
  Der wird auf der USB-Seite von USB-VCC und auf
  der AVR/JTAG-Seite von JTAG-VCC versorgt. Aber
  vorsicht, besser mal im Datasheet nachschauen.
  (beim orginal Xilinx-Progger wird das vom CoolrunnerII
  erledigt)

Btw: es gibt kleine multi-bidirektionale Levelshifter
mit zwei Spannunngen VCC1 und VCC2, von denen brauchst
du nur einen Chip und keine Programmierung.

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.