FX3 got CY_U3P_ERROR_INVALID_SEQUENCE error occasionally after calling CyU3PDmaMultiChannelCommitBuffer()

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

cross mob
Anonymous
Not applicable
        Hi, I am using FX3 to interface with MT9P031 image sensor. The PC is using Cypress generic driver, CyUSB.dll, to receive image data through Bulk endpoint. I notice that when running in USB3.0, everything works well in receiving 10MB of image snapshot. When I switch to USB2.0, I occasionally got an CY_U3P_ERROR_INVALID_SEQUENCE error after calling CyU3PDmaMultiChannelCommitBuffer(). On the PC side there is only 4MB of data being received, instead of 10MB. Once the error occurs, nothing will work again and I have to reboot FX3. When I try to receive smaller size image, below 4MB, everything works well both on USB3.0 and USB2.0. I just wonder whether anyone has seen similar problem. It does seem to be some buffer overflow issue. The image sensor is running 24MHz, so with USB2.0, it should be fast enough to transfer the data. Right now I am not sure whether it is a PC driver issue or a firmware issue.   
0 Likes
2 Replies
Anonymous
Not applicable

 Hi

   

Which OS are you using and what is xfersize you are setting?

   

Can you try requesting 4MB each time?

   

Also check this link out: http://msdn.microsoft.com/en-us/library/ff538112.aspx

   

You can find max bulk transfer sizes for various Windows OS.

   

 

   

Thanks

   

Nikhil

0 Likes
Anonymous
Not applicable
        Hi, I am using VS2010 on Window 7 64-bit with Cypress SDK 1.2. I was able to make it work at least partially by receiving 4MB data at a time. Occasionally it still fails on receiving the last 2Mb of data, but it works much better than before. At least FX3 will not stall and able to recover. I am not sure why it will occasionally fail on receiving the last 2Mb. Any idea? Thanks!   
0 Likes