TMS320数字信号处理器算法标准及参考构架

摘要:本文介绍了expressdsp软件的关键组件tms320 数字信号处理器算法标准。作为expressdsp软件关键组件的tms320 数字信号处理器算法标准(xdais) 定义了一系列编程准则和建议,标准化了算法和系统软件的接口,使得算法使用者的系统集成任务大为减轻,产品开发周期相应大为缩短;另一方面,由于有标准接口,算法提供商可以将自己的算法实现很好地封装起来从而保护自己的知识产权,接口标准又使得算法提供商有了更广泛的客户群。

图一 expressdsp 软件及开发工具。
 
  随着技术的发展,现今dsp的应用开发已发生了很大的改变。例如硬件技术的发展使得dsp在保持兼容性的同时使得性能不断提高,功耗不断下降,片上集成度大幅增加,并且这种趋势并没有减慢迹象;dsp应用复杂度也在大幅提高,原先几百行的汇编软件程序已被几十万行甚至百万行的c程序替代;市场的压力要求新产品的开发周期越来越短。这些因素使得开发不再是一个人而是几个人的团队合作,并要求软件的结构化,可移植性,可重用性都很强,都使得软件已成为dsp方案中最为重要的一环, 一个开发小组可能有80%的工程师是软件人员,一个项目的成败也往往由软件实现的好坏决定。

  德州仪器,作为业届领先的数字信号处理器供应商,提出了expressdsp的概念来应对这些对dsp软件的挑战。图一绘出了它的重点,expressdsp软件及开发工具。有了这些软件和开发工具,程序员将花更多的时间在革新的应用上而不是重复的开发和集成工作上。具体来讲,expressdsp包括:集成开发环境(代码 composer studio);expressdsp软件(sp/bios,tms320 dsp算法标准,参考框架);以及第三发合作伙伴网络。本文主要介绍tms320 dsp算法标准。

tms320 dsp算法标准

  tms320 dsp算法标准也称xdais,在介绍具体的算法标准之前有必要在重新检查一下图一以理解tms320 dsp算法标准/xdais (接下来的文章讲不区分两者)在expressdsp软件结构中的位置:参见图一的右边dsp目标板,可以看到直接跟硬件接口的是dsp/bios,而最上层是客户的应用程序。算法既不直接访问dsp/bios也不直接被客户应用程序调用,而是通过一个框架(在这里是参考框架reference frameworks)与它们打交道。xdais就是用于隔离框架和算法,位于它们之间。从根本上讲,标准的核心专注于将dsp资源的管理从算法本身抽象出来。这些资源包括存储器的使用和分配,并伴随着输入输出的控制比如dma通道的使用。也有可能是关键控制寄存器的使用。

  下面我们具体看一下。

具体定义:准则和建议

  tms320 dsp算法标准有一系列准则(共44条)和建议(共16条),分为以下五部分(具体准则和建议请参考文献[1]):

  1。通用编程规范,包括准则1-6和建议1-2。 该部分适用于所有dsp上任何应用的算法。

  2。算法模块规范,包括准则7-18和建议3-5。为了让不同的算法在不修改源代码的前提下可以集成到同一个应用,该部分要求充分使用面向对象和基于组件的编程思想,规范包括命名约定,统一的算法初始化方式和统一的数据存储器管理机制。该部分规范认为xdais应用的基础组件是模块,xdais算法就是那些实现了抽象接口ialg的模块。ialg将dsp存储器管理从算法中抽象出来。算法必须实现ialg接口,框架通过ialg来了解并分配算法对存储器的需求。该部分规范应用于所有xdais算法。

  3。算法性能描述规范,包括准则19-24和建议6-10。标准兼容的算法只会消耗mips和存储器。所有i/o, 外设控制, 设备管理和调度都是由应用程序完成。因此,算法有必要描述数据空间需求和最坏执行时间。另外,如果cpu处于中断禁止状态,调度不可能拿到cpu控制权,所以算法也需要尽量减少中断禁止时间,并告知最坏情形。该部分规范同样应用于所有xdais算法。

  4。特定dsp规范,包括准则25-34和建议11-15。由于算法经常会用汇编完成以充分发挥dsp的性能,这就往往意味着算法对dsp的状态会有特殊的要求,该部分规范则针对此种情况。

  • TMS320数字信号处理器算法标准及参考构架已关闭评论
    A+
发布日期:2019年07月02日  所属分类:参考设计