Announcements
IMPORTANT: Cypress Developer Community currently doesn’t allow sign-in to prepare for the upcoming transition. To learn more, check out our announcement.
cancel
Showing results for 
Search instead for 
Did you mean: 

USB Superspeed Peripherals

Anonymous
Not applicable

Hello,

We are trying to our development environment with FX3+Spartan6, but we got a problem with received data. We followed AN65974, and the example 0xa5 * 1024 worked well. But if we sent random data, the received data got bits errors. We tried other repeated data, 0xff * 1024, 0x37 * 1024, etc, they were worked. Yet, random data was not.

So, what could the problem be? Can you help us?

0 Likes
7 Replies
KandlaguntaR_36
Moderator
Moderator

Can you share the screen shot of random data that you have sent and received data?

Also let us know the size of the data you have sent over OUT End point and size of data you requested to received on IN Endpoint?

0 Likes
Anonymous
Not applicable

Here is the data. They were all 1024 Bytes.

This following one is one of the results working at 100MHz.

ScreenShot20170927165427.png

This second one is the result working at 10MHz.

ScreenShot20170927165705.png

0 Likes
KandlaguntaR_36
Moderator
Moderator

Can you probe the data lines over the GPIF Interface and check whether the FPGA is Looping back the data correctly?

What it is send to FPGA and what FPGA is looped back?

You can also do copying the 1024 packet that is send over BULK OUT EP to local buffer and print it over the UART Interface. For this, we have to use DMA manual channel,

and copy the DMA Buffer to a local buffer in the DMA PRODUCER Event Call back (CY_U3P_DMA_CB_PROD_EVENT).

Do the same for the buffer received on GPIF Side and print it over the UART.

This helps in understanding where it is going wrong either in FX3 or FPGA.

0 Likes
Anonymous
Not applicable

We checked the procedures and got this data. We send 512Bytes data by 7 MHz this time.

01 start of send.png02 end of send.png

We found FX3 was sending correct data until the last 1 block(4Bytes), It sent the second last block instead.

03 start of receive.png04 end of receive.png

Then the FPGA loop-back data lost the first 1 block(4Bytes), and unknown data on the last 1 block.

0 Likes
KandlaguntaR_36
Moderator
Moderator

Is the same happening at 100 MHz too?

Can you share the schematic of FX3 part?

Please check whether you have followed Hard ware guidelines provided in the AN70707 App Note.

Especially, GPIF Part

0 Likes
Anonymous
Not applicable

We followed the schematic in AN65974

连接参考.png

and connected all following pin(highlighted by red) with jumpers

连接引脚1.png

连接引脚2.png

连接引脚3.png

In 100MHz, the received data got 6-15 bit-error at random positions.

0 Likes
Anonymous
Not applicable

We also found that the data was correct at 50MHz and 60MHz, while the average speed is 15MB/s approximately.

0 Likes