USB FX3 GPIF II an mehrere FPGA's anbinden

OP Persönliche Seite #3884367
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
OP Persönliche Seite #3884393
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
#3884423
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.
Gast #3890583
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.
#3890672
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.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.