Forum: FPGA, VHDL & Co. Welches Board mit FPGA für FX2?


von Peter (Gast)


Lesenswert?

Hallo,

ich will mich in den FX2 einarbeiten und suche nach einem passenden 
Board mit FPGA und FX2.

Was ich brauche:
- FX2 soll mit der Keil IDE programmierbar sein.
- FPGA onboard mit möglichst wenigen Pins und preiswert.
- IDE/Compiler (nennt man das so?) für den FPGA.
- JTAG-Adapter?

Naja, so ein Einsteiger-Sorglos-Packet eben:)

Beste Grüße Peter

von Christian R. (supachris)


Lesenswert?

Einsteiger, sorglos, FPGA und dann noch der "kranke" FX2 passt irgendwie 
nicht zusammen.
Es gibt natürlich nichtsdestoweniger solche Boards: www.cesys.com 
beispielsweise. (Wird sogar eben hier links eingebelndet, wie schlau 
doch das Internet ist). Da könntest du mit dem Spartan 3e Board 
anfangen. Aber der FX2 ist schon nicht unbedingt ein Einsteiger-Chip...

von Martin S. (strubi)


Lesenswert?

Moin,

mit dem EFM01 hab ich vor Jahren mal was gemacht. Damals war die 
Software noch irgendwie straightforward, neuere Versionen sind 
allerdings zu einem C++-Klassenmoloch angewachsen und waren für mich in 
meiner eher C-lastigen Umgebung eher bedingt brauchbar. Allerdings für 
Anfänger ein relativ gutes Paket, da man eine Menge Software bekommt, 
die sich auch unter Linux gut kompilieren lässt. Mit der FX2-Firmware 
muss man sich nicht direkt herumschlagen. Ein Problem beim EFM01 ist, 
dass gerade der Bootloader-Teil nicht offen ist, und das Programmieren 
des Flash a) nur mit der gelieferten Software tut und b) mit der neuen 
Version gar nicht wollte.
Im Hinblick auf ein kleines "Produkt" würde ich allerdings die FT2232H 
dem FX2 auf jeden Fall bevorzugen. Das Attribut "krank" zum FX2 würde 
ich auch noch unterschreiben :-)

Grüsse,

- Strubi

von Christian R. (supachris)


Lesenswert?

Martin S. schrieb:
> Im Hinblick auf ein kleines "Produkt" würde ich allerdings die FT2232H
> dem FX2 auf jeden Fall bevorzugen. Das Attribut "krank" zum FX2 würde
> ich auch noch unterschreiben :-)

Naja.....das Timing im FIFO Modus am FT2232H ist nicht zu schaffen, da 
der konstant 60MHz ausgibt, aber die Setup und Hold Zeiten dazu nicht 
passen. Ist beim FX2 ja ähnlich wenn man die 48MHz nimmt, kann man das 
vorgeschriebene Timing nicht einhalten.
Ich fahre daher mit 25MHZ externem IFCLOCK und 180° Ausgabe des Clocks 
zu den Signalen. Dann ist das komplett entspannt und bei 16 Bit immer 
noch schneller als USB 2.0 HighSpeed.
Der FX3 ist übrigens fast genauso pervers, jetzt mit ARM9 und ThreadX OS 
drauf. Herrlich. Aber wenigstens mal ein halbwegs durchdachtes SDK und 
Debugging.

von Alexander F. (alexf91)


Lesenswert?

Beim Nexys 2 ist ein FX2 mit drauf, der lässt sich nach dem durchtrennen 
einer Leiterbahn auch mit eigener Software bespielen. Bis auf das 
durchtrennen der Leiterbahn habe ich damit aber noch keine Erfahrung.

von bastler (Gast)


Lesenswert?

Hallo Zusammen,

bin gerade dabei ein FPGA Bord mit USB zu bauen und wollte eigentlich 
den FX2 einsetzten. Was ich hier lese macht mich ein bisschen stutzig. 
Was soll am FX2 nicht in Ordnung sein und wieso sollte man den FT2232H 
einsetzten?

Gruss

von Martin S. (strubi)


Lesenswert?

Aloha,

>
> bin gerade dabei ein FPGA Bord mit USB zu bauen und wollte eigentlich
> den FX2 einsetzten. Was ich hier lese macht mich ein bisschen stutzig.
> Was soll am FX2 nicht in Ordnung sein und wieso sollte man den FT2232H
> einsetzten?
>

Der FX2 ist flott und kann ne Menge, aber er kann auch zuviel. Leider 
aber nicht vernünftig debuggt werden. Allerdings gibt es eine ganz gute 
Quelle für Beispielsource (gnuradio, open-nexys, usw.)

Aber betreffend Kleinprodukt: Der Kindergarten mit USB.org dürfte 
hinreichend bekannt sein, wenn man ein Produkt in Kleinserie rausbringen 
möchte, "muss" man sich registrieren (gegen 2000 USD), um eine VID zu 
kriegen, auch wenn  man niemals 65535 verschiedene Produkte herstellt. 
Cypress stellt keine PIDs für den kleinen Mann bereit, was hingegen FTDI 
tut, relativ unbürokratisch (zumindest vor n>7 Jahren) bekam man 8 PIDs 
geschenkt, wenn man ein vernünftiges Projekt nachweisen konnte.
Zudem kriegt man bei FTDI die Treiber gleich mit. Also kein Gefuddel mit 
libusb, eigenem Protokoll oder gar Treibern nötig.
Das Timing vom FX2 fand ich recht irritierend, aber nach einer Weile 
versteht man, warum's so ist, wie es ist. Habe nur einige Wochen 
gebraucht, bis auch wirklich gar keine Daten mehr verloren gingen (das 
Problem sass allerdings zwischen meinen beiden Ohren). Beim FT2232 ging 
das alles viel schneller und simpler, allerdings war das noch kein 
HiSpeed, also die C-Version.

Mein Fazit:
Wenn man nur simples FIFO I/O machen will -> FT2232(H)
Wer USB mit allen Endpunkts-Funktionen nutzen und verstehen will und 
sich mit dem 8051 passabel auskennt -> FX2

Da USB IMHO einfach nur sinnlos verkompliziert wurde (nur Intel weiss, 
warum), tendiere ich also eher dazu, nicht allzu intelligente USB-Chips 
zu verwenden und alle Intelligenz ein Stockwerk höher zu verfrachten.

Aber ist sicher gut, wenn man sich mal an FX2 die Nase blutig gehauen 
hat, einfach vom Lerneffekt her :-)
Apropos Nexys: habe das Board zwar nicht, aber es sollte auch ohne 
Leiterbahn-Durchtrennen gehn. Habe sowas ähnliches auf dem X-Board 
(leider nicht mehr verfügbar) laufen.

Grüsse,

- Strubi

von bastler (Gast)


Lesenswert?

Vielen Dank für die ausführliche Antwort. Wir implementieren USB da wir 
ein paar Pins am FPGA frei haben, was später implementiert wird ist 
daher noch offen. Die Anforderung an den Controller ist, dass dieser die 
Enumeration selbständig macht und 480MBit schafft. Werde Morgen das 
Datenblatt des FT2232 studieren.

von Christian R. (supachris)


Lesenswert?

Die ANforderungen erfüllen beide. Was mir beim FTDI nicht so gefällt ist 
die fehlende Möglichkeit eines externen Taktes. Wie gesagt, das Timing 
ist nicht zu schaffen mit den 60MHz, das ist ja dann Glückssache. Beim 
FX2 musst du dich zwar mit Firmware rumschlagen, aber da gibts jede 
Menge Beispielcode. Außerdem sind die Treiber von FTDI mit sehr 
wechselnder Qualität, momentan sind die aber sehr stabil. Wir nutzen 
übrigens den WinUSB Treiber für den FX2, geht einwandfrei. Mann kann 
aber auch den CYUSB oder LibUSB nehmen.

von Peter (Gast)


Lesenswert?

Danke für die Hinweise, aber preiswert sind die genannten Boards für ca. 
400,- Euro (falls überhaupt momentan erhältlich) nicht gerade.

Gruß Peter

von Martin B. (martin_b35)


Lesenswert?

Alexander F. schrieb:
> Beim Nexys 2 ist ein FX2 mit drauf, der lässt sich nach dem durchtrennen
> einer Leiterbahn auch mit eigener Software bespielen

Hast du da Dokumentation zu, konnete nach Suche nichts finden :(

von Christian R. (supachris)


Lesenswert?

Man muss lediglich beim Power-Up das I2C EEPROM irgendwie lahmlegen. Am 
elegantesten an einem der Pull-Ups an SCL/SDA oder den Adressleitungen 
ein Low machen. Kaputt geht das nix, sind eh open drain am FX2, dann 
bootet der FX2 aus seinem ROM und du kannst deine eigene Firmware über 
das Cypress Control Center drauf spielen.

von Alexander F. (alexf91)


Lesenswert?

Martin B. schrieb:
> Alexander F. schrieb:
>> Beim Nexys 2 ist ein FX2 mit drauf, der lässt sich nach dem durchtrennen
>> einer Leiterbahn auch mit eigener Software bespielen
>
> Hast du da Dokumentation zu, konnete nach Suche nichts finden :(

Die Seite behandelt zwar das Nexys 1, jedoch sollte es beim Nexys 2 
ähnlich sein:
http://www.hackdaworld.org/cgi-bin/awki.cgi/NexysFPGA

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.