你好,我用FX3与MT9P031图像传感器接口。PC使用CyPress通用驱动程序CyUSB.dll通过批量端点接收图像数据。我注意到,当运行在UB3.0中时,在接收10MB的图像快照时,一切都很好。当我切换到USB2.0时,在调用CYU3PDMALU
tiGCHANNEL COMPRESBUFER()之后,偶尔会遇到CyuU3PyErrRoEnguliDista序列错误。在PC端,只有4MB的数据被接收,而不是10MB。一旦出现错误,什么都不能工作,我必须重新启动FX3。当我尝试接收更小尺寸的图像,低于4MB时,无论在USB3.0还是USB2.0上都能很好地工作。我只是想知道是否有人见过类似的问题。它似乎是一些缓冲区溢出问题。图像传感器运行24MHz,因此使用USB2.0,它应该足够快来传输数据。现在我不确定它是PC驱动程序问题还是固件问题。
以上来自于百度翻译
以下为原文
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.