Forum: FPGA, VHDL & Co. [MachXO2] HW-Programmierung


von Jens (Gast)


Lesenswert?

Hallo Zusammen,

gerne würde ich mich etwas mit FPGAs beschäftigen. Ein klein wenig 
Erfahrung habe ich bereits mit dem Cyclone III von Altera.

Privat würde ich mir gerne ein eigenes Board mit dem MachXO2 erstellen, 
nur habe ich hiermit wenig Erfahrung. Beonsders bei dem Beschreiben des 
internen Flashs tue ich mich schwer.

Ich dachte mit dem Referenzboard MachXO2 Breakout-Board ( 
http://www.latticesemi.com/documents/EB68.pdf ) bekomme ich das schon 
hin. Allerdings verstehe ich nicht, wie denn nun der FPGA eigentlich 
programmiert wird.

Im Schaltplan des Breakout-Boards wird der FPGA über ein USB-Interface 
Programmiert - hier hängt ein FTDI-Chip (FT2232H) an dem FPGA, welcher 
wohl die Programmierung übernimmt. Dieser wandelt die USB-Daten in ein 
passendes "JTAG-Signal" um.
Ich finde diesen FTDI Chip jedoch sehr "mächtig", da ich nur die 
"einfachen" USB<-> seriell Wandler kenne. Gibt es hier eine einfachere 
Möglichkeit, diese Chips (also die FPGAs) zu programmieren? Ich würde 
mich auch nicht vor einem externen Programmieradapter fürchten - im 
Gegenteil.

Viele Grüße, Jens

von Bernd G. (Gast)


Lesenswert?

> Ich würde mich auch nicht vor einem externen Programmieradapter fürchten - > im 
Gegenteil.

Widerstände R5 - R8 entfernen, dann kannst du dich mit einem externen 
Programmer (HW-USBN2A oder so)über den Stecker J1 (muss wohl noch 
bestückt werden) an den JTAG-Port des MachXO2 anstöpseln.
Das ist aber eine Kostenfrage - das Programmierkabel kostet um die 70 
oder 150 €  (Parallelport- das war gestern oder USB).
Der vorhandene USB-Adapter dürfte die billigste Lösung sein.

von Jens (Gast)


Lesenswert?

Hey,

vielen Dank für die Antwort. So viel hatte ich für einen Programmierer 
dann leider doch nicht eingeplant :/

Was mich am vorhandenem Schaltplan ebenfalls etwas verwirrt ist das an 
dem FTDI-Chip angeschlossene EEPROM. Wozu wird dieses denn benötigt? Es 
einfach nicht einzuplanen ist vermutlich nicht die optimale Lösung.
Das Programm, mit welchem man den FPGA beschreiben soll, wird doch in 
den internen Flash des MachXO2 geladen - und nicht etwa in ein ext. 
EEPROM?

Viele Grüße, Jens

von FPGA-Takt (Gast)


Lesenswert?

Hi,

das Ding wird über Usb programmiert, ich hatte keine Treiberprobleme, im 
Programierdialog kann man dann irgendwo Usbprogger ein einstellen.
Insgesamt macht es spaß mit dem Ding zu spielen für den Einstieg hat es 
mir gefallen.

von Jens (Gast)


Lesenswert?

Hey,

das hört sich ja schon gut an :)

Auf das Board selbst wollte ich jedoch gerne verzichten, wie bereits 
erwähnt würde ich mir hierzu gern selbst ein kleines Board Layouten - 
als kleine Herausforderung ;)

Viele Grüße, Jens

von Pat A. (patamat)


Lesenswert?

Jens schrieb:
> Was mich am vorhandenem Schaltplan ebenfalls etwas verwirrt ist das an
> dem FTDI-Chip angeschlossene EEPROM. Wozu wird dieses denn benötigt?

Das EEPROM am FTDI-Chip dient dessen Konfiguration und nicht des 
MachXO2. Dort werden z.B. die VID und der Betriebsmodus des FTDIs 
abgelegt.

Ob man es für diesen Fall weglassen kann, kann ich nicht beurteilen. 
Dafür würde sprechen, dass Lattice in den Treibern keine eigene VID 
benutzt, sondern die Default-VID von FTDI.

von Lattice User (Gast)


Lesenswert?

Jens schrieb:
> Was mich am vorhandenem Schaltplan ebenfalls etwas verwirrt ist das an
> dem FTDI-Chip angeschlossene EEPROM. Wozu wird dieses denn benötigt?

Das dient zur Konfiguration des FTDI Chips selbst, u.A. USB 
Seriennummer, USB Devicename, welche Features der FTDI Treiber 
unterstützen soll, etc. Mit dem MachXO2 hat das nichts zu tun.

Ein FTDI Onboard ist die billigste Lösung für die Programmierung über 
JTAG, vor allen bei Einzelstücken.

von Pat A. (patamat)


Lesenswert?

Lattice User schrieb:
> Ein FTDI Onboard ist die billigste Lösung für die Programmierung über
> JTAG, vor allen bei Einzelstücken.

Und wenn man dann noch ein paar Jumper und eine Stiftleiste vorsieht, 
hat man auch gleich noch einen Programmieradapter für einige andere FPGA 
und µC.

von Kritzel K. (kritzelkratzel)


Angehängte Dateien:

Lesenswert?

Vielleicht für jemanden von Interesse:

Ich bin gerade von Spartan-3A auf MachXO2 umgestiegen, natürlich auch 
die IDE gewechselt von ISE nach Diamond. Für Diskussionen und Austausch 
vermisse ich immer noch ein deutsches Forum mit entsprechender 
Aktivität, die Foren bei Lattice werden leider bald abgeschaltet und 
haben nicht so eine Popularität wie die Foren von Xilinx.

Mein Hintergrund oder mein Ziel: Ich entwickele eine kleine 
3D-FPV-Kamera für Modellflugzeuge oder Multikopter, welche ein natives 
Side-by-Side 3D-Videosignal (analog) ausgibt, das mit verschiedenen 
3D-Brillen (Cinemizer Plus/OLED, u.a.) angesehen werden kann. FPV = 
First Person View, man sieht also in der Brille die Perspektive aus dem 
Fluggerät. In 2D ist diese Technik sehr gut etabliert, in 3D steckt sie 
scheinbar noch in den Kinderschuhen.

Ich habe vor gut zwei Jahren damit bei null begonnen, weil es scheinbar 
solch ein Produkt noch nicht zu kaufen gibt. Gefunden habe ich keins, 
jedenfalls keins, das kompatibel mit den genannten 3D-Brillen ist. Meine 
bisherigen Aktivitäten sind in meinem Blog unter http://3dfpv.fpvc.de 
nachzulesen. Mit der EMV-Prüfung bin ich mit dem Vorläufermodell leider 
voll auf die Nase gefallen, daher die Neuentwicklung und auch die Wahl 
des MachXO2.

Also, wer Lust hat, sich über den MachXO2 auszutauschen - nur zu. Ich 
konnte schon so einige Erfahrungen machen, die für den einen oder 
anderen von Interesse sein könnten.

Gruß,
Michael

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Mit der EMV-Prüfung bin ich mit dem Vorläufermodell leider voll auf die Nase 
gefallen
Welche Prüfung? Störquelle oder Störsenke?

von Kritzel K. (kritzelkratzel)


Lesenswert?

Störaussendung nach EN 55022 (nur gestrahlt, nicht leitungsgeführt) 
zwischen 30MHz und 1GHz, da höchster Takt 54MHz ist. Näheres dazu hier:

http://fpv-community.de/entry.php?968-Wer-nicht-h%F6ren-will-muss-f%FChlen-(mit-Update-1)

Ein Problem war auch, dass das kleine XuLA-200 FPGA Board 
(http://xess.com/prods/prod048.php) von sich aus schon eine Menge 
Störstrahlung liefert. Das hat mich auch dazu bewogen, auf gekaufte 
Aufsteckplatinen zu verzichten.

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.