basys 2 als programmer

OP #4126082
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
OP #4126447
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
Gast #4126478
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.
OP #4126520
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?
Gast #4126613
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.
Gast #4126838
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.
OP #4127457
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? ;)
OP #4127785
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?
Gast #4128135
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.
OP #4128255
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?
Angehängte Dateien:
Gast #4128925
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren