Cypress技术william hill官网
直播中

五斤麻辣油

8年用户 1261经验值
擅长:电源/新能源
私信 关注

CYUSB3014在Bulk IN时总报错Error Code: 997是什么原因呢?


在如图架构中, fireware用的是cypress提供的SlaveFifoSync.img,把cypress的control center工具略作修改,在PC机上不断进行BULK IN 传输测试,总是报BULK IN transfer failed with Error Code:997. 然后再也收不到任何数据,CYUSB3014的FLAG标志FLAGA=0、FLAGB=1。

易发生错误时的情况是:
     1、当FPGA里fifo变空时必报;
     2、上电后,FPGA里fifo有数据,刚开始BULKL IN测试偶尔报,
     3、当出错是,示波器观察发现总是BULK IN 3次后停止,但PC机未收到任何成功的数据

文档AN65974里说添加CyU3PUsbLPMDisable()函数,但SlaveFifoSync固件工程里已经添加这个函数了。
文档FX3_SDK_TroubleShooting_Guide.pdf的2.3的II建议添加CyU3PDmaChannelResume (chHandle, CyFalse, CyTrue)和
CyU3PDmaChannelSetSuspend (chHandle,CY_U3P_DMA_SCK_SUSP_NONE, CY_U3P_DMA_SCK_SUSP_EOP),添加后也没有效果,不知添加的位置是否正确。

请问这是什么原因呢?Error Code的含义是什么?在哪里能查到?谢谢
附件是SlaveFifoSync工程。
                                                                                                                                                                                                                                                                                                                                                                                                

回帖(1)

张俊

2024-2-29 14:59:59
在c#中,host在每次BULK IN时调用 XferData(ref buffer, ref bytes)后,都会修改bytes值,导致bytes值可能小于512。所以在调用XferData(ref buffer, ref bytes)之前,先让bytes=512就解决了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分