cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

doch_3739346
Contributor

Hi,

RD_START is the START State for read command.

pastedImage_0.png

SRAM_READ_COMMAND, CyU3PGpifSMSwitch start state changed to RD_START.

pastedImage_1.png

Linux application read from endpoint 0x81.

r = cyusb_bulk_transfer(h1, 0x81, buf, 64, &transferred, timeout * 1000);

But never detect transaction over GPIF to FPGA interface. How to make it work?

0 Likes
1 Solution
SrinathS_16
Moderator
Moderator

Hello,

- Have you passed the vendor command with the request 0xBB before reading data from the FX3?

- Is there any error code returned on the cyusb_bulk_transfer() function call? If yes, please mention the same.

- Before using the cyusb_bulk_transfer() function call, have you obtained the handle to the device, checked if the kernel driver is active and claimed the interface using the cyusb_gethandle(), cyusb_kernel_driver_active() and cyusb_claim_interface() function calls respectively.

EDIT: For reading data from the FPGA over to the USB interface, the slave interface must be configured and the SLWR#, ADR[1:0], PCLK must be driven by the FPGA(master). If there is no signalling on the GPIF II interface, the FPGA code has to be checked. The cyusb_bulk_transfer() function call on the IN endpoint reads the data that is present in the FX3 FIFO buffer.

Best regards,

Srinath S

View solution in original post

0 Likes
3 Replies