本人做的USB图像采集,USB固件中设置端点6FIFO自动输入slave FIFO 块传输,512字节包大小,4倍缓冲。FIFO接口时钟为外部时钟10MHz,由于固件中设置的是端点6自动输入512字节,所以TD_Poll函数中没有编写满标志处理代码。
自己编写了一个多线程块传输上位机,接收时只能接收到2048个数据,后面接收到的数据全为0了。
现有以下几个疑问:
1、设置了端点6自动输入,是否还需要在TD_Poll函数添加EP6满标志的处理程序(技术参考手册上讲好像不用)
2、数据传输设计到两个域,USB域与接口域,这两个的时钟不一样(USB域24MHz,接口域10MHz),USB采用slave FIFO模式传输,需要考虑时钟同步问题吗?
3、对于USB图像采集来讲,如果一帧图像一次要传输19000个数据,是否需要在硬件端加存储单元来缓存数据,如果不需要原因是什么?
4、出现只能如下图只能接收2048Byte字节数据可能是什么原因?
上图为上位机接收到的数据
下图为上位机的多线程代码
|