USB FX3 GPIF II an mehrere FPGA's anbinden

OP Persönliche Seite #3884367
Lesenswert?

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
#3884423
Lesenswert?

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
Lesenswert?

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
Lesenswert?

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

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