Hallo, Den FX3 kann ich ja via 8, 16, 32 bit weiten dataenbus an FPGA's anbinden. Nun habe ich eine Anwendung wo mehrere FPGA boards und eine sogenanntes baseboard verwendet werden. Dazu habe ich folgende Frage: Ist es moeglich, dass man zwei FPGA's and den FX3 ranhaengen kann? Also mit jeweils 16 Datenleitungen and das GPIF II. Es muss nicht eine gleichzeitige Kommunikation stattfinden. Wenn ja, dann muss es doch auch moeglich sein 4 mit jeweils 8 Datenleitungen anzubinden. Es geht erstmal nur um prinzipiele Machbarkeit. Ob FX3 oder FX2 ist nicht so wichtig. Gruss Mark
Wenn hier jemand weiss, was mit "FX3 GPIF II" gemeint ist, wird er Dir sicher helfen. Ich kann dazu nur meinen Deutschlehrer zitieren: B. k. A. b. Ich vestehe jedenfalls nur "Bahnhof".
:
Bearbeitet durch User
Hallo Thorsten, Der FX3 ist ein USB Slave controller von Cypress. Superspeed. Der FX2 nur USB 2.0 High Speed. Das GPIF II ist das General Purpose Interface. Bei FTDI heisst das MPSSE, Multi-Protocol Syncronous Serial Engine. Ich dachte jemand, der schonmal einen FPGA ueber einen USB chip mit dem PC verbunden hat, koennte das wissen. Mark
Torsten C. schrieb: > Wenn hier jemand weiss, was mit "FX3 GPIF II" gemeint ist, wird er Dir > sicher helfen. Ich kann dazu nur meinen Deutschlehrer zitieren: > > B. k. A. b. > Ich tippe mal: Bearbeite keine Abkuerzungen! Basta! Mark
Warum sollte das nicht gehen? Du musst nur dafür sorgen dass immer nur ein FPGA auf den Bus zugreift. Dazu kannst du ja die Flags nehmen und durch den FX3 entsprechend ansteuern lassen. Der FX3 kann am GPIF II erst mal 4 Adressen, das sollte ja reichen. Da kannst du z.B. 4 solcher GPIF Threads machen, mit 4 DMA Kanälen und 4 USB Endpointa, und dann hat jeder FPGA seinen eigenen Kanal. Wenn du dann vom PC aiua die Endpoints so füllst, dass immer nur einer dran ist, wird das eine recht einfache Sache.
Mark W. schrieb: > mit jeweils 16 Datenleitungen and das GPIF II. Es muss nicht eine > gleichzeitige Kommunikation stattfinden. Hier ein Link zu deinem Vorhaben. http://www.cypress.com/?app=forum&id=167&rID=93326 If you are sending data packet from fpga whose size is less than the DMA buffer size, then it is counted as a short packet. A short packet can be committed to the USB host from GPIF end by using the PKTEND# signal in Slave Fifo state machine. The FPGA should be designed to assert the PKTEND# along with the last word of data and SLWR# pulse corresponding to the last word. The FIFOADDR lines must be held constant during the PKTEND# assertion. On assertion of PKTEND# with SLWR#, the GPIF II state machine interprets the packet to be a short packet and commits it to the USB interface. If the protocol does not require any short packets to be transferred, the PKTEND# signal may be pulled high. Refer Application note AN65974 Designing with the EZ-USB® FX3™ Slave FIFO Interface where this is explained in detail http://www.cypress.com/?rID=51581 Gruss Holger.
Holger und seine eingeworfenen Brocken wieder. :) Das hat mit den USB short packets doch überhaupt nix zu tun. Durch die 4 Hardware Threads des GPIF ist das problemlos möglich, Endpoints kann der FX3 auch mehr als genug, jetzt kann man für den Anwendungsfall das GPIF als Master für die Slave FPGAs betreiben oder als Slave für ein Multimaster System aus den FPGAs. In ersterem Fall entscheidet der FX3 über die Arbitrierung, bei zweitens müssen sich die FPGAs das selber aushandeln. Alles kein Hexenwerk. Ein FPGA an die oberen den anderen an die unteren 16 Bit wird aber nix, das GPIF kann nur entweder 16 bit oder 32 bit.
:
Bearbeitet durch User
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.