USB FX2 im Slave Mode

#1113487
Lesenswert?

Da sind doch genügend Beispiele im Entwicklungspaket von Cypress dabei. 
Unsere Quellcode kann ich dir leider nicht rausgeben, aber der Slave 
FIFO Modus ist das einfachste der Interfaces da. Allerdings könnte das 
mit einem µC etwas schwierig werden, denn der Takt muss min. 5MHz sein 
und immer durchlaufen. Lade dir einfach das Komplettpaket runter und 
installier es, da sind geüngend Beispiele. Bei Konkreten Fragen helfe 
ich gerne. Eine generische Lösung gibts da eh kaum, denn der FX2 lässt 
unzählige Konfigurationen zu.
Gast #1113760
Lesenswert?

Hallo Christian,

ganz so einfach ist es nicht. Es gibt in dem Dev-Kit zwar 
Beispielprogramme, aber nichts, was passend ist. Die 
Endpoint-Loop-Samples ist das Einzige, das etwas in die richtige 
Richtung geht.

Wenn ich das Richtig verstanden hab, dann brauch ich ein 8051er 
Programm, dass mir die Register im FX2 initialisiert, damit ich dann von 
außen den Slave-Mode aktivieren kann und Zugriff auf die Fifos habe?

D.h. ich könnte ein solches Loop-Programm in den FX2 laden und direkt 
dann den Slave-Mode verwenden?

Wenn ich das FIFO dann beschreibe, wird dann direkt ein Bulk-Transfer 
gemacht, oder muss ich noch was anderes machen?

Sorry, für die vielen Fragen ... Hab gestern einen ganzen Tag gegoogelt 
und nichts brauchbares gefunden. Der FX2 ist auf dem Nuhorizon 
Spartan3-Dev-Board für $99 drauf und die Softwareausstattung des Boards 
ist eine absolute Unverschämtheit ... Mal davon abgesehen, dass ein 
essenzielles Tool zum Uploaden der FPGA Firmware den Dienst komplett 
verweigert ... So ein Schrott ...

Grüße
Gast
#1114030
Lesenswert?

Naja, du solltest dir das Technical Reference Manual anschauen. Um den 
Slave FIFO Modus zu aktivieren muss, ich glaube das IFCONFIG Register 
passend beschrieben werden, da war meines Wissens eine 0x03 rein, und 
dann hast du Slave FIFO. Natürlich musst du die entsprechenden Endpoints 
erst mal in der Assembler-Datei für die Descriptoren eingeben, und beim 
Start der Firmware auch im C-File aktivieren und einstellen, also 
Buffer-Größe usw. Dann wollen die FIFOINPOLAR oder sowas Register auch 
noch alle eingestellt werden. Am besten schaust du im Technical 
Reference Manual das Kapitel mit dem Slave FIFOs an, und da stehen alle 
Register und Beispiel-Programm-Schnipsel drin, die zu verwenden sind. 
Ich musste da auch eine Weile probieren und viel viel im TRM lesen, bis 
ich das raus hatte...
Gast #1114274
Lesenswert?

Ich glaub soviel Zeit hab ich nicht. Ich werd dann lieber eine 
ARM7-Lösung mit Fullspeed-USB an den FPGA flanschen. Das System ist mir 
bekannt und macht vermutlich weniger Stress. Einfach einen FIFO vom FPGA 
auslesen und 512Byte-weise die Daten an den PC senden.

Aber danke für deine Hilfe!

Grüße
Gast
Gast #1114632
Lesenswert?

Ja Christian, da geb ich dir normalerweise recht.

Aber weißt du ... Ich muss auch immer Nutzen und Kosten abwägen und ich 
erreiche mit einem ARM7 innerhalb von 2h ein brauchbares und 
funktionsfähiges Ergebnis. Ich brauch die High-Speed nicht, da meine 
Datenrate bei 1,5MB/sec liegt.

Im übrigen würde ich einen FX2 sowiso nicht auf eine Platine bauen, die 
ich selbst designe ... Zumal der Typ, der da verbaut ist, schon 
abgekündigt ist.

Hatte halt gehofft, es würde etwas geben, damit man es mal schnell 
ausprobieren kann.

Grüße
Gast
Gast #1114666
Lesenswert?

> Ich brauch die High-Speed nicht, da meine
> Datenrate bei 1,5MB/sec liegt.
Dann ist deine Frage nach Slave Mode Beispielen aber völlig daneben.
Eine einfache Bulk Anwendung ist in einer Stunde aus den Beispielen
extrahiert und angepasst.

Thomas
#1114730
Lesenswert?

Naja, bei 1,5MB/s braucht man wirklich nicht den Slave FIFO Modus. Der 
ist für Datenraten jenseits von 30MB/s interessant. Das hättest du ganz 
am Anfang dazu schreiben können, dann hätten wir dir gleich davon 
abraten können. Der Slave FIFO Modus des FX2 ist eigentlich nur sinnvoll 
mit einem schnellen FPGA nutzbar, denn der FPGA muss dann ja den 
FIFO-Master spielen, sich noch um das Packet-End kümmern usw. Also mal 
eben schnell ist da sowieso nicht. Schnelle Ergenisse für µC usw. 
erreicht man mit dem GPIF und dem GPIF-Designer, es gibt auch 
quasi-fertige Anwendungen: 
http://www.braintechnology.de/braintechnology/ Aber das ist meiner 
Meinung nach ziemlich zurecht gefrickelt da.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren