阅读:3005回复:3
请教68013的读取DSP数据速度慢的问题
我用DSP做了一个采集系统,一次采集8k的数据,并通过68013发送到计算机。但是发送的速度很慢,只有2k/s,应该是软件设计的原因。通信的流程大概如下:
1、DSP采集完8k数据就会以512字节为块,发送到68013。每发送512字节,DSP首先查询68013缓冲区是否满,如果满,则等待;如果没满,则发送中断,通知68013有新数据,68013就会通过gpif读取DSP的一块数据。 2、计算机一直在查询68013的缓冲区是否有数据,如果有数据,则读取;如果没有数据,则等待。 流程大概如上所述,想不出这样的传输过程有什么缺陷,也想不出有更好的传输方法。但这种方法传输得出的结果是传输速度只有2k/s,十分烦恼,请达人指点迷津。 |
|
沙发#
发布于:2007-05-26 22:42
我建议不要直接用DSP进行读写,去年我做毕设时也用DSP从68013读数据,发现速度只有10kb/s左右吧,因为DSP的读写速度相对于68013的96MB/sFIFO速度还是太慢。后来我在68013后连了个FPGA用来作为FIFO空满判断,DSP做控制器,同时并在FPGA中开了个FIFO,起缓冲作用,因为FPGA的硬件延迟较小。
|
|
板凳#
发布于:2007-06-05 16:31
68013 ep6可配置为1024*4的buffer, gpif的buffer最大也为4K,可以按4k大小来传输,应该能快不少
其实68013开发包里有一个long transfer的例子,你这种情况,一旦采集到8k数据产生中断,68013直接用gpif读取8K的包并同时传给pc就可以了,不用拆成512的 |
|
地板#
发布于:2010-12-20 20:16
楼主,请教一下,你怎么实现的读取68013的内容?用VC做个界面吗?如何实现呢?用C#可以不?
|
|