worldwar
驱动牛犊
驱动牛犊
  • 注册日期2003-08-04
  • 最后登录2009-11-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1323回复:2

FX2数据传输中的块之间时间间隔问题

楼主#
更多 发布于:2004-07-25 11:31
 我用的是CYPRESS的驱动ezusb.sys,但加大了每次传输的吞吐量,现在每次可以达到2MB。固件使用四缓冲,GPIF自动模式。应用程序使用多线程读写数据(块传输)。直接用示波器测d+那根线,发生了很怪异的测试结果:1.当每次传输是64KB整倍数数据的时候,比如256KB每次,数据传输时间为11ms左右,而256KB块之间的间隔也差不多是11ms,也就是说实际传输数据只占一半的时间,但很少出现间隔异常大的情况。并且加大每次传输数据相应的数据传输时间也增加,因此增加每次传输量对提高速度没什么帮助。2.当传输不是64KB整数倍的时候,比如255KB每次,数据传输时间接近11ms,而块之间的间隔明显减小,只有2ms到3ms左右,但会发生每33个左右的255KB块之间发生一次间隔异常,时间为11ms或更大。增大传输量,块之间时间间隔相应增加,比如500KB,时间间隔为5ms左右,因此加大传输量,能提高速度。
    问题:块之间的时间间隔是不是一定会出现?数据量和64KB有什么关系?块之间的时间间隔异常为什么会发生?
                                         先谢拉
  
worldwar
驱动牛犊
驱动牛犊
  • 注册日期2003-08-04
  • 最后登录2009-11-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-08-02 18:21
自己顶一下
chaoswang
驱动小牛
驱动小牛
  • 注册日期2003-10-10
  • 最后登录2005-10-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-04 08:19
老兄,我用的GPIF手动模式,请教一下你是怎么得到数据传输的时间间隔的?我现在也在写一个应用程序读取68013的数据,也要用到多线程,遇到一点问题,可以指点一二吗,能看一下你的线程函数代码吗?
  
游客

返回顶部