Guten Abend, ich hatte vor einiger Zeit schonmal versucht, ein FPGA von Lattice (MachXO2) mit einem FT232H zu programmieren, was leider nicht funktioniert hat. Mein Wunsch-FPGA ist nun ein ICE40LP. Lattice stellt auf seiner Homepage (https://www.latticesemi.com/Products/DevelopmentBoardsAndKits/ProgrammingCablesforPCs) den HW-USBN-2B als passendes Programmiergerät vor. Neuerung zum "HW-USBN-2A" sind angeblich: - performance improvements - I2C support - improved iCE programming support Allgemein: - The HW-USBN-2B supports programming of Lattice devices with a core voltage up to 3.3V - Programming of devices with a core 5V requires the HW-USBN-2A or HW-DLN-3C Per EBay bin ich nun auf das Modell (https://www.ebay.de/itm/USB-Download-Cable-Jtag-SPI-Programmer-for-LATTICE-FPGA-CPLD-HW-USBN-2A/173667679929) gestoßen, dass scheint ein Klon des älteren Modells "HW-USBN-2A" zu sein. Im Gegensatz zum Original kostet es nicht 150€ auf Mouser sondern 17€ auf Ebay. Leider steht in der Beschreibung nix von ICE40 bzw. SPI-Programming (so werden diese FPGAs nämlich programmiert, eine JTAG-Schnittstelle haben die nicht, siehe auch Manual (https://www.latticesemi.com/view_document?document_id=46502)). Der "HW-USBN-2B" (Doku: http://www.latticesemi.com/dynamic/view_document.cfm?document_id=143) hat auch wesentlich mehr Pins als das China-Modell. Zudem gibt es auf Ebay noch diesen (https://www.ebay.de/itm/272923405425), der kostet 28€, unterstützt aber laut Beschreibung SPI und die ICE40 FPGAs. Allerdings hat der genauso viele Pins wie das 10€ günstigere Modell. Ich würde vermuten, dass der für 17€ auch alles kann, was ich brauche. Nur ganz sicher bin ich mir nicht - hat damit jemand Erfahrung, lohnt es sich, die 28€ oder gar 150€ auszugeben? Prinzipiell wäre es natürlich möglich, den FPGA per SPI über einen uC oder so zu programmieren, das möchte ich mir allerdings ersparen.
:
Bearbeitet durch User
Max M. schrieb: > ich hatte vor einiger Zeit schonmal versucht, ein FPGA von Lattice > (MachXO2) mit einem FT232H zu programmieren, was leider nicht > funktioniert hat. Da würde ich mal näher untersuchen, warum das nicht geklappt hat. Auf dem MachXO2-Breakoutboard wird ein FT2232H verwendet. Der hat zwei Kanäle. Kanal A wird für JTAG verwendet und auf Kanal B kann man z.B. die UART nutzen (wenn man R14 und R15 noch bestückt). Viel mehr als der FTDI-Chip kann in dem China-Clone auch nicht drin sein. Duke
Max M. schrieb: > Mein Wunsch-FPGA ist nun ein ICE40LP. Die ICE40 Evalboards haben auch einen FT2232H drauf, von dem aber nur der erste Port benutzt wird im SPI Modus. Auf dem Upduino 2 ist ein FT232H drauf, um einen ICE40UP zu programmieren, das EEPROM dazu ist völlig leer (unprogrammiert). Das sollte also klappen, wenn du die richtigen Pins verbindest. Einfach mal das Schema zum Upduino2 studieren. ... schrieb: > Never ever ISPlever. > > Damit ist alles gesagt. Dann wird es dich sicher freuen, dass ISPlever schon lange durch Diamond abgelöst wurde, und die ICE40 Serie sowieso nie damit programmiert werden konnten. Da brauchst du IceCube oder die OpenSource Toolchain Icestorm. Und nun viel Vergnügen darauf einen Reim zu finden...
Andi schrieb: > Auf dem Upduino 2 ist ein FT232H drauf, um einen ICE40UP zu > programmieren, das EEPROM dazu ist völlig leer (unprogrammiert). Ich hab damals so lange rumgetan und am Ende habe ich gedacht, dass mein selbst designtes Board falsch ist. Aber was kann man schon viel falsch machen an ein paar Abblockkondensatoren, einem 3.3V Regler und den Pins für JTAG? Außerdem erinnere ich mich, dass die Software zum Flashen des FT2232H seltsamerweise nur auf einem Windows 7 Laptop funktioniert hat und ich mir nicht sicher war, ob ich nun die richtige Config hatte. Ich hab allgemein mit FTDI Lösungen keine gute Erfahrung gemacht. Ich bin nun in dem Zustand, wo ich einfach was funktionierendes haben will und mich nicht mehr mit FTDI Configs und veralteter Software von FTDI rumschlagen möchte :( Schlimmstenfalls sind es halt 150€. Ich dachte nur, jemand hat Erfahrung mit den Chinamodellen
Lattice gibt die FTDI Firmware auf deren Webseite zum Downlaod frei. Daher sollten die China Klone eigentlich auch wirkliche Klone sein. Ich hatte bisher keine Probleme, ich verwende ein 3 in 1 Programmer, der Lattice, Altera/Intel und Xilinx kann. Funktioniert soweit wie es soll, allerdings hab ich den fuer Lattice glaube ich noch garnicht verwendet, zumindest kann ich mich gerade nicht daran erinnern. :-/
Ich hatte so einen billigen China Clone rumliegen, aber noch nie angeschlossen - bis jetzt. Da ich den Lattice Treiber schon installiert hatte von den diversen Breakoutboards, ging das reibungslos. Cable Detect funktionierte, und auch einen Upduino 1 mit ICE40UP5k konnte ich mit dem Diamond Programmer programmieren, nachdem ich die richtige Verdrahtung gefunden hatte. Ist alles im Programmer Manual aufgeführt, auch dass ein HW-USBN-2A die ICE40 programmieren kann, und wie man sie anschliessen muss. Andi
Andi schrieb: > Ich hatte so einen billigen China Clone rumliegen Du hast das Modell für 17€? @all Schande über mich, ich hatte das falsch in Erinnerung. Ich hab natürlich keinen FT232H sondern einen FT232HQ! Der hat glaub ich nur einen FIFO-Port, weswegen dass damals so ein Stress mit der Config und allem war. Edit: So sah der Schaltplan aus (siehe Anhang).
:
Bearbeitet durch User
Max M. schrieb: > Du hast das Modell für 17€? Ja, eine ältere Version davon. Bei mir ist der Aufdruck nur schwarz, und das zweite, farbige Flachbandkabel hab ich nicht dabei. Sollte aber intern der gleiche Print sein und das Gehäuse sieht auch gleich aus.
Max M. schrieb: > Edit: So sah der Schaltplan aus (siehe Anhang). Das ist ja nur der FPGA-Teil und nicht der FTDI-Teil. Mir fallen da nur die fehlenden Pullups an TMS, TDI und TDO auf. Bei dem MachXO2 wird noch TCK mit 2k2 auf GND gezogen. Die 5V am JTAG-Stecker kommen mir etwas viel vor. Es gibt Programmer die messen die IO-Spannung und stellen ihre Ausgangspegel entsprechend ein. Max M. schrieb: > sondern einen FT232HQ Der letzte Buchstabe gibt nur das Package an. Wichtig ist die MPSSE (Multi-Protocol Synchronous Serial Engines) und die ist drin (die gab es m.E. bei älteren FT232xx noch nicht). USB to JTAG ist als Applikation explizit im Datenblatt erwähnt: https://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232H.pdf Duke
Tobias B. schrieb: > ich verwende ein 3 in 1 Programmer, der > Lattice, Altera/Intel und Xilinx kann Kannst Du da mal bitte einen Link angeben? Ich finde nur sowas: https://www.aliexpress.com/item/New-1-5-5-5V-USB2-0-XILINX-ALTERA-LATTICE-3IN1-Download-Cable-CPLD-FPGA/32957196093.html Das ist aber deutlich teuerer als 17€. Duke
Duke Scarring schrieb: > Kannst Du da mal bitte einen Link angeben? > > Ich finde nur sowas: > https://www.aliexpress.com/item/New-1-5-5-5V-USB2-0-XILINX-ALTERA-LATTICE-3IN1-Download-Cable-CPLD-FPGA/32957196093.html > > Das ist aber deutlich teuerer als 17€. > > Duke https://www.ebay.de/itm/3IN1-CPLD-FPGA-USB2-0-XILINX-ALTERA-LATTICE-Download-Cable/201586308451?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2060353.m1438.l2649 Kostet auch 54€, sollte also auf das Gleiche rauskommen. Aber lieber habe ich ein Geraet fuer 54€ rumliegen, als 3 fuer 17€. ;-)
Tobias B. schrieb: > allerdings hab ich den fuer Lattice glaube ich noch garnicht verwendet, > zumindest kann ich mich gerade nicht daran erinnern. :-/ Ich mach mir halt grad Sorgen, ob das Ding sowohl per SPI als auch per JTAG programmieren kann bzw. ob es überhaupt von den Lattice Softwaretools erkannt wird. Duke Scarring schrieb: > Die 5V am JTAG-Stecker kommen mir etwas viel vor. Die waren damals als Spannungsversorgung für das gesamte Board gedacht. Der Pin war nicht Teil des JTAGs Verbundes, der an den FT232HQ gegangen ist.
:
Bearbeitet durch User
Max M. schrieb: > Tobias B. schrieb: >> allerdings hab ich den fuer Lattice glaube ich noch garnicht verwendet, >> zumindest kann ich mich gerade nicht daran erinnern. :-/ > > Ich mach mir halt grad Sorgen, ob das Ding sowohl per SPI als auch per > JTAG programmieren kann bzw. ob es überhaupt von den Lattice > Softwaretools erkannt wird. SPI geht definitiv, das habe ich schon erfolgreich ausprobiert. JTAG sollte auch klappen, ich meine bei einem MachXO2 Board habe ich das schon erfolgreich zum laufen bekommen. Hauptsaechlich nutze ich die Crosslinks und die haben kein Hardware JTAG, deshalb kann ich leider nur vermuten.
Max M. schrieb: > Ich mach mir halt grad Sorgen, ob das Ding sowohl per SPI als auch per > JTAG programmieren kann bzw. ob es überhaupt von den Lattice > Softwaretools erkannt wird. Ja es wird erkannt, auch im Gerätemanager erscheint Lattice für das USB Gerät, wohl wegen der originalen VID/PID. Und die ICE40UP, die ich probiert habe, werden auch über SPI programmiert, wie alle ICE40 Typen. Dass das unterstützt wird steht auch im Usermanual von Lattice. Du kannst natürlich selber entscheiden, ob du mir glaubst, und das extrem hohe Risiko von 17€ eingehen willst. Andi
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.