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