Multisocket GPIF for ADC

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

cross mob
rs2123
Level 1
Level 1
5 sign-ins First question asked Welcome!

Hello,

I'm using the CYUSB3014 GPIF feature to capture data from an ADC. I have read from a forum inquiry here that there is a tendency for data loss when using the GPIF but can be resolved by using multiple socket and thread: https://community.cypress.com/t5/USB-Superspeed-Peripherals/FX3-lose-data-from-GPIF-II-to-USB-3-0-ev...


I've also looked at the UVC example that incorporates the multiple GPIF socket but applying it to my code results in an IN transfer error every time I try getting data from the GPIF endpoint:

rs2123_0-1632101443796.png

The ADC that I'm using has a corresponding timing diagram:

rs2123_1-1632101760000.png
*ADC = master, FX3 = Slave.

The DOUTx pins are from 4 pins of the ADC outputting data in parallel. I connected the DCLK to GPIO16, DRDY to GPIO17 and the DOUTx pins to GPIO0 to 4. 

Thanks,
rs2123

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

Hello,

Error code 997 in control center is related to a timeout in data transfer. This can occur if there is no data in the DMA buffer associated with the endpoint socket.

Please share the GPIF II state machine and firmware for us to review.

Also, please let me know if the slave (FX3) needs to sample the data on the falling edge of DCLK.

Best Regards,
Jayakrishna
0 Likes