Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

USB superspeed peripherals Forum Discussions

GrCa_1363456
Level 5
Level 5
First comment on KBA First comment on blog 250 sign-ins

What is the process to use DMA to transfer data to parallel bus from a CPU on FX3?

Already tried with success:

- USB socket to CPU interfaces using MANUAL_OUT and MANUAL_IN.

- Parallel Port Socket to USB socket interfaces using MANUAL operation.

- DMA fabric on the FX3 chip to accomplish a lot of high speed USB 3.0 transfers.

- DMA fabric to ping-pong outgoing DMA traffic to a USB endpoint similar to the UVC (AN75779) example.

- Slave Fifo example (AN65974) for the Xilink Spartan 7 board with a Super Speed Explorer board.

A CPU can be used to Commit the buffer and see the DMA Flags for the socket change.

Trying to read the parallel port socket, no data appears on the bus.

Why would this work differently than if a USB socket is initiating the DMA conversation in MANUAL?

Greg

0 Likes
1 Solution
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello Greg,

Please find the attached project. This is a modification of the example project gpiftousb. Here, the dma channel is modified so that the channel is from CPU socket to P Port socket 0. The DMA buffers are filled with AAs and is sent out to the P Port. The data sent out was read by using the default example gpif to USB available in FX3 SDK. Please try using this and let us know if you have any queries on the implementation.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna

View solution in original post

1 Reply
JayakrishnaT_76
Moderator
Moderator
Moderator
First question asked 1000 replies posted 750 replies posted

Hello Greg,

Please find the attached project. This is a modification of the example project gpiftousb. Here, the dma channel is modified so that the channel is from CPU socket to P Port socket 0. The DMA buffers are filled with AAs and is sent out to the P Port. The data sent out was read by using the default example gpif to USB available in FX3 SDK. Please try using this and let us know if you have any queries on the implementation.

Best Regards,

Jayakrishna

Best Regards,
Jayakrishna