Send data from USB via FX3 to FPGA

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

cross mob
Anonymous
Not applicable

Hello,

   

I want to send some data from USB (Isochronous OUT Endpoint) via FX3 to FPGA.

   

First I tried with manual DMA Channel, but it didn't work, although the commit of the buffer reported success. But it only commits once, though filling the buffer continuously. So I changed to Multi DMA Channels (many to one). Now I get a "ERROR_INVALID_SEQUENCE" when the buffer is committing.

   

Have anyone experience with sending data from USB to FX3? Are there some advice to pay attention to? Exist an example, which don't discard or immediately send back the data?

   

Would be great to get some suggestions.

   

Thanks,

   

Janina

0 Likes
1 Solution
Anonymous
Not applicable

Hi, Have you check the AN65974? It implements a 2 way communication over bulk endpoint. You can test this, and then modify it to make the endpoints as ISOC. I see that you have changed the DMA to multi type, but it depends on the application. If you are having one USB EP and one GPIF socket, then you should use normal DMA channel. The invalid sequence error may come, when you are using a multi channel DMA and you are not filling the PROD socket in round-robin fashion (which is required in Multi channels). Best way I would suggest is to start with the slave fifo applcaiton note using the bulk endpoint and then change to ISOC. You can also create a tech support case if further assistance is required.

View solution in original post

0 Likes
1 Reply
Anonymous
Not applicable

Hi, Have you check the AN65974? It implements a 2 way communication over bulk endpoint. You can test this, and then modify it to make the endpoints as ISOC. I see that you have changed the DMA to multi type, but it depends on the application. If you are having one USB EP and one GPIF socket, then you should use normal DMA channel. The invalid sequence error may come, when you are using a multi channel DMA and you are not filling the PROD socket in round-robin fashion (which is required in Multi channels). Best way I would suggest is to start with the slave fifo applcaiton note using the bulk endpoint and then change to ISOC. You can also create a tech support case if further assistance is required.

0 Likes