This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320C6713如何处理大量数据

最近在做一个项目,目前遇到的问题是需要TMS320C6713处理外部输入的大量数据,一次可能4-5万个数据,或者30-40万个数据,想到的问题是:


1.这么多数据放在哪?我觉得C6713片上的L2RAM可能不够,因为还得处理数据(比如fft),而C6713片上没有flash。

2.片外有SDRAM,可是如果把数据放到SDRAM里,是不是在处理过程中还得搬数据?

3.如果我把这些数据放到一个单独的段里,然后把这个段放到外部存储器如SDRAM里,只是修改cmd文件,这种方法是否可行(程序能否正常运行?)

之前在网上好像看到有人用6713处理图像的,我对这方面并不了解,但我感觉一幅图像的数据点数应该比较多,那么6713是如何处理的?是不是可以给个思路借鉴一下。

恳请各位指点迷津!

  • Huaze Sun 说:
    2.片外有SDRAM,可是如果把数据放到SDRAM里,是不是在处理过程中还得搬数据?

    片上内存放不下,就只有放SDRAM了.至于是否在处理过程中要搬数据,那要看处理算法的情况了,不能一概而论。直接在SDRAM上处理也可以。

    Huaze Sun 说:
    3.如果我把这些数据放到一个单独的段里,然后把这个段放到外部存储器如SDRAM里,只是修改cmd文件,这种方法是否可行(程序能否正常运行?)

    可以。

  • 如果是新项目的话,建议使用性能更高的DSP芯片做数据处理,有支持DDR3接口的,c6713太老了。

  • 谢谢您的建议,不过我这个是从别人手里接过来的,暂时不能换,如果以后有机会,会考虑的
  • 感谢您的回复,我自己尝试了一下。我并没有重新定义段,我的数据在程序中存的是全局变量,然后我把.far放到了SDRAM上,可以正常运行。也就是在我这个算法下是可以直接在SDRAM上运行,那请问哪种算法需要搬数据呢?能给个例子吗?
    还有,有没有官方文档或是其他帖子详尽的解释了cmd文件中的各个段的含义?
  • Huaze Sun 说:
    还有,有没有官方文档或是其他帖子详尽的解释了cmd文件中的各个段的含义?

    Huaze Sun 说:
    那请问哪种算法需要搬数据呢?

    片外内存相对于片上内存只是访问速度慢一些。对于一次处理的数据量不是太大的,可以考虑用EDMA将数据先搬到片上内存再运算,以提高运算时对数据的访问速度。

  • 我按照自己的方法尝试了一下(把.far放到SDRAM里),发现程序还是有问题,即相同的输入,每次运行输出的结果都不一样。我配置的dsp核频率是195M,EMIF接口的频率是39M,我在运行中查看某些变量的值发现近似于0,所以我猜测是频率不匹配导致数据无法正常写入到SDRAM中,这个数据还没写入下一个数据又来了。然后为了验证,我将dsp核的频率分别将到39M,13M,发现前面提到的问题依然存在。我猜测是不是因为时序的问题?应该如何解决?
  • 先撇开算法处理,DSP能正确读写SDRAM吗?
  • 不好意思今天才回复。我试了一下,SDRAM的读写确实问题。SDRAM在写入所有数据时都是低4位可以正常写入,是正确的,但高4位写入确实出错。可能是板子的问题,我再检查一下。请问在SDRAM读写正常的情况下,需要降低dsp核的频率来适应SDRAM接口的频率吗?(就是dsp核的频率一定要等于,或者低于SDRAM接口的频率吗)

  • EMIF口时钟最大频率是100MHz,SDRAM的读写时序没法和EMIF口SDCTL寄存器的配置匹配吗?
  • 个人感觉不是,因为我SDRAM的配置文件在同一块板子的另一个工程下是好使的,那个工程是测试SDRAM模块能否正确进行读写,但是那个工程运行时也遇到同样的问题,就是高4位写的时候有些出错,有些是正确的,低4位是正确的。所以我怀疑是板子的问题,我先验证一下板子,如果板子好使了,但是SDRAM还有问题,我再重新发个帖子