打印

关于68013FIFO IN端点速度问题,求教

[复制链接]
4087|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
阿毛|  楼主 | 2011-2-17 10:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在用的是68013,驱动使用的是cyusb.sys,32KB的那个,68013与设备的接口是27MB/S左右,slaveFIFO IN方式,在PC端通过同步或异步方式进行读取,现在速度始终只能保持在16MB/S,在提问之前我也看了论坛里的帖子,之前有大侠使用的这种方式刚开始大概也是这个速度,后来有些是通过修改PC端接收缓冲区大小实现了20+MB/S的,我自己的程序中缓冲区已经做了很多的修改,但是目前来看好像没有什么作用,希望碰到过类似问题的大侠能给指定一下,谢谢!

相关帖子

沙发
darthing| | 2011-2-18 19:49 | 只看该作者
1# 阿毛 我昨天也来论坛看了下,看到了你的问题,期待高手的解答呢,结果今天我自己搞定了。我的开始也是16M,示波器看fx2lp有很长时间是空闲的,知道瓶颈在PC端。问题在驱动哪里,你可以好好看下Cypress Suite USB 3.4.4 安装目录里的cyusb.pdf,那里有个驱动的接口函数可以设置PC端接收缓冲区的大小,把cyioctl.h加到上位机工程里,调用驱动接口函数就可设置缓冲区大小,手册里写的很清楚,copy过去改一下就行。。。貌似缓冲区默认值只有0x1000 4k那么大,后来我改到0x40000 256k,实时传输速率已经达到43MB/s了,我很满意,呵呵,对了上位机里每次读取的数据长度也要改,我也改成256k了,貌似原来是512...总之就是要就是缓冲区太小的缘故,对了我用的autoin 16bit 512 x 4 ep6 48MHz clk   FPGA 48MB/s -> fx2lp

使用特权

评论回复
板凳
阿毛|  楼主 | 2011-2-18 20:06 | 只看该作者
谢谢你!我去试试看

使用特权

评论回复
地板
阿毛|  楼主 | 2011-2-18 22:38 | 只看该作者
本帖最后由 阿毛 于 2011-2-18 23:35 编辑

头文件我已经加入到Cpp文件里面了,但是为什么我加入编译的时候还是提示我说: yusbodlg.cpp(603): error C2065: “FILE_DEVICE_UNKNOWN” : 未声明的标识符?

我用的是早期的cyusb.sys,不过我看了,里面的cyusb.chm跟3.4.4版内容差不多,也有这个函数

使用特权

评论回复
5
阿毛|  楼主 | 2011-2-19 10:05 | 只看该作者
2# darthing
终于搞定了,我的工程用的是最初使用ezusb.sys驱动时的头文件,虽然名字一样,但是很明显是不同的,还有原来我对createiocontrol的理解也有偏差,换了头文件,重新编译了以后搞定,现在的速度是26.9MB/S,比外部的主机频率稍微小点,不过我看了下数据,应该是可用的了,谢谢darthing!

使用特权

评论回复
6
阿毛|  楼主 | 2011-2-19 10:06 | 只看该作者
结贴了,希望我的这个遭遇对其他人有帮助

使用特权

评论回复
7
solode| | 2011-3-26 19:00 | 只看该作者
请问楼主这个项目是用来数据采集的吗?

使用特权

评论回复
8
lwq030736| | 2011-6-28 13:20 | 只看该作者
楼主还在吗?我想问下楼主FPGA这端对于PKTEND这个信号你们是怎么处理的?
为什么我先在上位机打开读线程再发数据上位机就可以收到。
但是我先把数据发到FIFO把FIFO写满了,上位机再去打开读线程却读不到数据呢?

使用特权

评论回复
9
icecut| | 2011-6-28 15:07 | 只看该作者
ls,某个公司的ipcore也有这种问题.估计设计硬件的很**

使用特权

评论回复
10
lwq030736| | 2011-6-28 20:23 | 只看该作者
ls,某个公司的ipcore也有这种问题.估计设计硬件的很**
icecut 发表于 2011-6-28 15:07

我用的就是自己设计的IP。。。。。。我果然很**:(

使用特权

评论回复
11
lwq030736| | 2011-6-29 14:31 | 只看该作者
原来是驱动的问题,换个新驱动就行了。
看来我还不是很**

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

27

帖子

1

粉丝