Forum: FPGA, VHDL & Co. Lattice Diamond Programmer - 150€ oder China-Klon?


von Max M. (maxmicr)


Lesenswert?

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
von ... (Gast)


Lesenswert?

Never ever ISPlever.

Damit ist alles gesagt.

von Duke Scarring (Gast)


Angehängte Dateien:

Lesenswert?

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

von Andi (Gast)


Lesenswert?

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...

von Max M. (maxmicr)


Lesenswert?

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

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

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. :-/

von Andi (Gast)


Lesenswert?

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

von Max M. (maxmicr)


Angehängte Dateien:

Lesenswert?

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
von Andi (Gast)


Lesenswert?

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.

von Duke Scarring (Gast)


Lesenswert?

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

von Duke Scarring (Gast)


Lesenswert?

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

von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

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€. ;-)

von Max M. (maxmicr)


Lesenswert?

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
von Tobias B. (Firma: www.elpra.de) (ttobsen) Benutzerseite


Lesenswert?

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.

von Andi (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.