brucezh
驱动老牛
驱动老牛
  • 注册日期2002-01-30
  • 最后登录2007-02-01
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1125回复:4

s5933的传输速度,急

楼主#
更多 发布于:2002-07-26 17:18
我用s5933作数据输出。在应用程序和驱动中各开辟一个缓冲区。数据从硬盘上拷贝下来。通过deviceioctl从应用态拷贝到驱动(用memcpy函数),利用总线主控dma输出(用5933的fifo方式,fifo由外设读出)。
应用态和驱动通过事件通讯。
现在无论一次拷贝多少数据,总的速度只能到2.**MBytes/s。
到底时间耗费在那里呢?
还有什么办法提高速度?

[编辑 -  7/26/02 by  brucezh]

[编辑 -  7/26/02 by  brucezh]
打一枪……换个地方……再打一枪……
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2002-07-26 19:01
你是用的BufferIO?DMA一般都用DirectIO方式的,比bufferIO快了很多。
brucezh
驱动老牛
驱动老牛
  • 注册日期2002-01-30
  • 最后登录2007-02-01
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-07-26 19:28
那要怎么做呢?我用的deviceioctl是METHOD_IN_DIRECT方式阿。
因为要用5933的总线主控,所以要开辟一个物理连续的缓冲区。
打一枪……换个地方……再打一枪……
mengzi
驱动牛犊
驱动牛犊
  • 注册日期2001-08-02
  • 最后登录2004-05-25
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-26 21:32
brucezh兄:
    不好意思,又遇到您了,我的电路设计凡是PCI所能提供的功能我基本上都使用到了,我是接受卫星来的数据并发命令给卫星,数据接收时采用DMA方式,数据传输可以达到平均80MBs/S的流量,任务切换时通过PASSTHRU方式给FPGA和DSP通过PCI/CPCI总线进行在线配置,我想知道你在那里工作,是干什么的,如果安全,我可以考虑是否将我的源代码发给你参考,一人独乐孰与人同乐。
brucezh
驱动老牛
驱动老牛
  • 注册日期2002-01-30
  • 最后登录2007-02-01
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-07-29 11:00
无限高兴,我给你发个信息,在论坛首页上的收件箱里。
打一枪……换个地方……再打一枪……
游客

返回顶部