Forum: FPGA, VHDL & Co. MachXO2 USB-Programmieradapter - Billige Alternative oder unbrauchbar?


von Kritzel K. (kritzelkratzel)


Lesenswert?

Frage an das Forum zum Thema Übertragen von Konfigurationsdaten 
(*.bit,...) von Lattice Diamond IDE an einen MachXO2:

Ich nutze zur Zeit das MachXO2 Breakout Board 
(www.latticesemi.com/documents/EB68.pdf‎, Seite 19) bei dem ein FT2232 
chip die Kommunikation zwischen PC und FPGA übernimmt.

Jetzt habe ich das UM232H-B Modul 
(http://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_UM232H-B.pdf, 
Seite 9) von FutureTechnologies entdeckt, dass scheinbar den gleichen 
Funktionsumfang hat, wie die FT2232 Hardware auf dem MachXO2 Breakout 
Board. Es kostet nur ca. 13 EUR + MWSt.

Jetzt die Frage: Kann man mit so einem einfachen Modul sich die 
Anschaffung eines richtigen Programmieradapters von Lattice 
(http://www.digikey.de/scripts/dksearch/dksus.dll?vendor=0&keywords=HW-USBN-2A) 
sparen? Hat schon jemand einmal ausprobiert, ob die Programmierung mit 
dem kleinen Modul funktioniert?


Danke und Gruß,
Michael

von Ale (Gast)


Lesenswert?

Und warum nicht die Breakout Board als Programmierer nutzen ? die hast 
du schon...

von Kritzel K. (kritzelkratzel)


Lesenswert?

Richtig. Das bezieht sich auf die Entwicklungsphase, da kann ich mit dem 
MachXO2 Breakout-Board flashen wie ich will und ohne extra Adapter 
auskommen.

Aber auf dem Produkt *), an dem ich gerade arbeite, möchte ich aus 
Platz- und Kostengründen auf den FT232 + Außenbeschaltung verzichten. 
Nicht jeder Nutzer will und muss die Firmware selbst flashen können.

Wenn es statt dessen einen alternativen Prgrammieradapter gibt für 
schmales Geld, dann muss ich ihn a) nicht selbst entwickeln und kann b) 
einfach auf ihn verweisen. Das hat schon seinen Reiz.


*) vgl. http://3dfpv.fpvc.de

von Ale (Gast)


Lesenswert?

Du muss wahrscheinlich die gleiche EEPROM-Daten haben, denke ich

von Kritzel K. (kritzelkratzel)


Angehängte Dateien:

Lesenswert?

Ich habe mir eben das Programmier-Tool FT_prog 
(http://www.ftdichip.com/Support/Utilities.htm#FT_Prog) einmal angesehen 
und den EEPROM vom FT2232 auf dem MachXO2 Breakout Board ausgelesen. 
Geht problemlos.

Aus den Konfigurationsdaten kann man auch erkennen, in welchem Modus der 
Chip laufen muss (245 FIFO, BUS powered), damit die JTAG Schiene 
funktioniert (vgl. Foto im Anhang).

Also mal ehrlich, damit hat man doch alles in der Hand, um das UM232H-B 
Modul umzuprogrammieren. Ich werde jetzt die Tage ohnehin eine 
Bestellung bei Digikey lostreten und mir mal 1-2 Module zulegen und es 
ausprobieren. Ein kleiner Programmieradapter für 15 EUR, das wäre doch 
echt der Hammer...


PS: Mir ist beim lesen des Datenblatts vom UM232H-B aufgefallen, dass es 
die Dinger scheinbar erst seit dem 30.10.2012 gibt. Wahrscheinlich ein 
Grund, warum sie bisher noch keine weitere Beachtung gefunden haben.

von Kritzel K. (kritzelkratzel)


Lesenswert?

Hmm, ich sehe gerade, dass es die Dinger auch bei Reichelt zu kaufen 
gibt. EUR 22,50 inkl. MWSt. Klingt noch fair. Nur die Bilder stimmen 
nicht, vgl. Datenblatt 
(http://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_UM232H-B.pdf)

UM232H-B    ... mit Buchsenleiste angelötet
UM232H-B-NC ... ohne Buchsenleiste, nackte Landeflächen
UM232H-B-WE ... ohne Buchsenleiste, dafür aber mit angelöteten Kabeln

von Kritzel K. (kritzelkratzel)


Angehängte Dateien:

Lesenswert?

Ich habe heute die UM232H-B Adapter mit der Post bekommen und mir die 
Konfiguration mit dem FT_Prog Dienstprogramm angesehen. Fest steht, dass 
man vor dem möglichen Einsatz als Programmieradapter für den MachXO2 den 
EEPROM umprogrammieren muss.

Ich habe dazu die Werks-Einstellungen vom MachXO2 Breakout Board und den 
UM232H-B Adapter im Originalzustand mit FT_Prog ausgelesen und 
miteinander verglichen. Der Plan ist, den UM232H-B so umzuprogrammieren, 
dass Lattice Diamond denkt, es liegt eine originale Lattice Hardware 
vor. Dazu habe ich folgende Änderungen vornehmen müssen (mit FT_Prog):



USB Config Descriptor
---------------------
Max Bus Power: von 90 mA auf 500 mA setzen
USB Remote Wakeup: von AN auf AUS setzen

USB String Descriptor
---------------------
Manufacturer: von "FTDI" auf "Lattice" setzen
Product Description: von "UM232H-B" auf "Lattice FTUSB Interface Cable" 
setzen
Serial Number Enables: von AN auf AUS

Hardware Specific/Port A
------------------------
Hardware: Von "RS232 UART" auf "245 FIFO" setzen
Driver: von "Virtual COM Port" auf "D2XX Direct" setzen



Das Flashen ging problemlos, nach ab- und wieder anstöpseln des Adapters 
wurden die neuen Konfigurationsdaten automatisch eingestellt.

Für den Test am MachXO2 Breakout Board muss ich noch 4 
Nullohm-Widerstände ablöten, um den onboard FT2232 vom FPGA zu trennen 
und direkt auf die JTAG Pins zugreifen zu können. Das werde ich dann 
morgen machen.

von Kritzel K. (kritzelkratzel)


Lesenswert?

Heute einmal die Kabelage gemacht und die Widerstände am Breakout Board 
entfernt. Der erste Versuch war leider negativ, der Lattice Diamond 
Programmer erkennt das Teil nicht.

Ich habe sogar die USB Product ID auf genau den gleichen Wert gesetzt, 
den der originale Chip auf dem Board liefert, keine Änderung.

Da kam bei mir die Frage auf - vielleicht ist der FT232H von dem kleinen 
Modul gar nicht unterstützt vom Lattice Programmer, sondern nur der 
große Bruder FT2232H? Diese Frage habe ich dann dem Lattice Support 
gestellt und bin gespannt, was die sagen werden.

von Ralph (Gast)


Lesenswert?

Danke für den Tipp mit der Config. Mit dem FT232H geht es bei mir auch 
nicht. Aber ich hatte noch das hier:

http://www.elv.de/elv-highspeed-mini-usb-modul-um-ft2232h-komplettbausatz.html

Damit geht es nach Ändern des EEProms. Der Lattice Programmer erkennt 
damit ein Programmierkabel und dann auch z.B. einen ECP3-17, den man 
dranhängt.

von Kritzel K. (kritzelkratzel)


Lesenswert?

Haha, was für ein Zufall. Genau dieses Teil habe ich mir bei ELV heute 
Mittag auch bestellt. Gut zu wissen, das es damit geht. Scheinbar hat 
Lattice keine Unterstützung des FT232H. Vom Support habe ich bis auf die 
Eingangsbestätigung noch keine Info bekommen.

Es gibt direkt von FT auch ein FT2232h breakout board als Alternative 
zum Teil von ELV, kostet aber etwas mehr.

von Kritzel K. (kritzelkratzel)


Lesenswert?

Ich glaube der hier könnte auch gehen:

Beitrag "Amontec Jtagkey-Tiny"

Ist auch FT2232 basierend. Bei Versandkosten von 25€ macht's aber keinen 
Sinn, es sei denn, man wohnt in der Schweiz.

von Kritzel K. (kritzelkratzel)


Angehängte Dateien:

Lesenswert?

Freunde der preiswerten FPGA-Konfiguration,

es gibt gute Nachrichten. Die Lösung mit dem UM-FT2232H Modul von ELV 
funktioniert hervorragend (vgl. Anhang).

Das Modul kommt unkonfiguriert und muss erst in den richtigen FIFO-Modus 
versetzt werden. Kurz gesagt muss man nicht einmal die Benennung des 
Geräts ändern, sondern nur 3 Dinge korrigieren:

1. USB Config Descriptor -> Max Bus Power auf "500mA"
2. Hardware Specific -> Port A -> Hardware auf "245 FIFO"
3. Hardware Specific -> Port A -> Driver auf "D2XX Direct"

Die Vorlage zum Programmieren ist im Anhang von diesem Eintrag.

Dann noch entsprechend den ELV-Bausatz zusammenfügen (Jumper rein für 
bus-powered), die vier Kabel TDI/TCK/TDO/TMS ran und ggf. die 5V 
Stromversorgung für die FPGA-Platine abgreifen und das war's dann schon.

In der Summe finde ich das eine super Sache für knapp 15 Euronen + 
Versand. Warum die Lattice Diamond SW mit dem kleinen Bruder FT232H 
allerdings nicht geht, kann ich leider auch nicht sagen. Der Support von 
Lattice hatte sich bei mir zwar gemeldet, aber genaueres wissen die auch 
nicht. Es heißt, dass nur der FT2232H getestet wurde und nicht der 
FT232H. Offensichtlich ist für den letztgenannten die Programmierung der 
MPSSE irgendwie anders.

von Duke Scarring (Gast)


Lesenswert?

Kritzel Kratzel schrieb:
> FT232H. Offensichtlich ist für den letztgenannten die Programmierung der
> MPSSE irgendwie anders.
Das ist auch erst relativ neu, das der FT232xx die MPSSE mit drin hat.
Die Vorgänger FT232Bx und FT232Rx hatten das Feature noch nicht.

Duke

von Alex (Gast)


Lesenswert?

In der MachXO2 breackout-Platine gibts ein 3.3V RS-232 verbindung 
zwischen die FPGA und den FT2232, kann man diese verbindung nutzen und 
Daten von der FPGA und ein PC nutzen ?

von Kritzel K. (kritzelkratzel)


Lesenswert?

Heute die Antwort vom Lattice Support erhalten:

"It's unfortunate to know that all your efforts went in vain in getting 
FT232H work with our software. At this point of time, it is very hard 
for us to give any solution on this issue, as it neither tried, nor 
tested/verified on our Eval-boards and software. We regret for that.

However, I have passed your suggestion to our Marketing team to include 
FT232H on our future boards. They will prioritize it and consider the 
option of including FT232H on our newer Eval-Boards, and the software 
shall be also tweaked to support FT232H."

Also, der FT232H wird zur Zeit noch nicht unterstützt. Ich werde nochmal 
Antworten mit dem Hinweis dass ein SW Update wichtiger wäre als neue 
Eval-Boards mit dem FR232H.

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.