Hallo, kennt jemand ein Beispielprogramm, wie man einen EZ-USB FX2 im Slave-Mode betreibt? Ich will eigentlich nur Daten, die von einem z.B. Microcontroller kommen, an den PC senden ... Weiß da jemand was? Grüße Gast
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.
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
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...
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
Achso. Naja, ein bisschen Einarbeitung muss man halt schon aufbringen. Aber gut.
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
> 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
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.