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
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.
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
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.
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?
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.
Xilinx kann mittlerweile auch mit den FTDI basierten Digilent Programmern umgehen. Das klappt wunderbar und die kosten kaum was.
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.
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? ;)
Digilent ist nett, aber nicht sooo nett. Es gibt aber Nachbauten, afaik aber nur auf Basis des Xilinx-Orginals. Such einfach mal im Netz.
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?
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.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.