mastervon
驱动牛犊
驱动牛犊
  • 注册日期2005-07-15
  • 最后登录2007-03-22
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:3005回复:3

请教68013的读取DSP数据速度慢的问题

楼主#
更多 发布于:2007-05-26 00:55
我用DSP做了一个采集系统,一次采集8k的数据,并通过68013发送到计算机。但是发送的速度很慢,只有2k/s,应该是软件设计的原因。通信的流程大概如下:

1、DSP采集完8k数据就会以512字节为块,发送到68013。每发送512字节,DSP首先查询68013缓冲区是否满,如果满,则等待;如果没满,则发送中断,通知68013有新数据,68013就会通过gpif读取DSP的一块数据。

2、计算机一直在查询68013的缓冲区是否有数据,如果有数据,则读取;如果没有数据,则等待。

流程大概如上所述,想不出这样的传输过程有什么缺陷,也想不出有更好的传输方法。但这种方法传输得出的结果是传输速度只有2k/s,十分烦恼,请达人指点迷津。
onizuka2070
驱动牛犊
驱动牛犊
  • 注册日期2006-10-18
  • 最后登录2007-08-07
  • 粉丝0
  • 关注0
  • 积分430分
  • 威望44点
  • 贡献值0点
  • 好评度43点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-05-26 22:42
我建议不要直接用DSP进行读写,去年我做毕设时也用DSP从68013读数据,发现速度只有10kb/s左右吧,因为DSP的读写速度相对于68013的96MB/sFIFO速度还是太慢。后来我在68013后连了个FPGA用来作为FIFO空满判断,DSP做控制器,同时并在FPGA中开了个FIFO,起缓冲作用,因为FPGA的硬件延迟较小。
alberty1982
驱动牛犊
驱动牛犊
  • 注册日期2007-06-05
  • 最后登录2007-06-05
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望5点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-06-05 16:31
68013 ep6可配置为1024*4的buffer, gpif的buffer最大也为4K,可以按4k大小来传输,应该能快不少

其实68013开发包里有一个long transfer的例子,你这种情况,一旦采集到8k数据产生中断,68013直接用gpif读取8K的包并同时传给pc就可以了,不用拆成512的
yigeren0405
驱动牛犊
驱动牛犊
  • 注册日期2010-05-15
  • 最后登录2010-12-28
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望11点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-12-20 20:16
楼主,请教一下,你怎么实现的读取68013的内容?用VC做个界面吗?如何实现呢?用C#可以不?
游客

返回顶部