USB superspeed peripherals Forum Discussions
I use 'slave-fifo' and 'bulkout-auto' mode to transfer data between pc and FPGA.
This is the final problem, i find it during a painful debugging:
1、I send a 512bytes bulk to 68013
2、68013 get this bulk, then the EP2PF=1, FLAGB=1
3、FPGA let the FIFOADR=10,
4、After 2 period, SLOE=1,ready to read data from 68013
5、After a period,SLRD=1,read data
6、read 512bytes,SLOE\SLED=0,stop reading
It shoud work properly,but sometimes one or two bytes are losing like this:
A right transmission is:
0x00 0x01 0x02 0x03 0x04 0x05......................0xff --ep2empty=1
fpga recieved 512 bytes
but sometimes it likes this:
0x00 0x01 0x03 0x04 0x05 0x06........................0xff --ep2empty=1
fpga recived 511 bytes
I have changed three chips, the problem has always been...
Regards,
Sky.
Show LessHi, I have read through the document of the application note AN87216 - Designing a GPIF™ II Master Interface, but I still cannot figure out the purpose of the GPIF data counter and address counter. They are set as 2048 for data counter and 256 for address counter. I am guessing the counter values are based on DMA buffer configurations, but what is the connection between these configurations? In the master GPIF state machine, what is the purpose of WR_DATA_WAIT and RD_DATA_WAIT states?
Regards,
C.H. Chen
Show Less1. I get USBBulkLoopAuto.img by compiling the example project.
2. I download it to RAM using Contro Center. The device disappears and never enumerates again.
3. but when downloading "C:\Cypress\EZ-USB FX3 SDK\1.1\bin\CyBootProgrammer.img" to RAM, It works good.
4. I use a custom board, so how can I fix the problem.
Show Less
My system is composed with FPGA and FX3.
The PKTEND# single was inserted along with the last word of data, and the sizeof of every FX3 buffer was set 16KB.
I don't know why that PC received nothing, when i sent multiple of 1KB data ,but smaller than 16KB, from fpga to FX3.
Can somebody tell me how can i send multiple of 1KB data ,but smaller than 16KB,when the sizeof of every FX3 buffer is set
16KB.
Thanks
Show LessI have the following code in a vendor command handler:
log_debug ( "gRdwrCmd buffer: %d\n" , gRdwrCmd.ep_buffer_size );
status = CyU3PUsbGetEP0Data(wLength, (uint8_t *) &(gRdwrCmd.header), &debug_datasize);
if (!gRdwrCmd.ep_buffer_size) {
log_error ( "gRdwrCmd buffer: %d wLength %d data read: %d\n" , gRdwrCmd.ep_buffer_size, wLength, debug_datasize );
}