阅读:1168回复:0
奇怪:DSP发送一次数据,应用程序收到两次
现在跟人一起做一块DSP开发板,其中的USB部分用SLAVE FIFO实现,USB控制芯片使用68013,固件用CYPRESS提供的例子,EP2468都开,BULK传输,每个端点都是512×2,DSP里面只对EP26进行操作,从EP2里面读取1024bytes的数据写到EP6.固件里面设置AUTOIN=1,EP6AUTOINLENH = 0x04; EP6AUTOINLENL = 0x00;.调试通过。
现在想把设备做成HID的,开端点EP26,INT传输,两端点都是1024×2,DSP程序没有做改动,固件里面依然设置AUTOIN=1,EP6AUTOINLENH = 0x04; EP6AUTOINLENL = 0x00;.但是却出现了一个很奇怪的问题,从应用程序往EP2发送1024字节的数据,DSP读到后写到EP6,再从应用程序通过EP6读回来的时候总能读到两次。通过BUSHOUND观察发送的过程没有错,确实每次发送的时候只发了一次,但是接收的确实也有两个1024字节。 DSP程序应该是没有问题的,硬件应该也是没有问题的,但是在固件里面设置的是AUTOIN模式,所以8051核应该不会参与数据的传输,另外在固件里面对INT传输和BULK传输的设置也差不多,而且我之前也成功的用过INT传输,但是问题到底出在哪里呢? 请大家帮忙看看,不胜感激! |
|