摘要:本文介绍了eXpressDSP软件的关键组件TMS320 数字信号处理器算法标准。作为eXpressDSP软
件关键组件的TMS320 数字信号处理器算法标准(XDAIS) 定义了一系列编程准则和建议,标准化了算法和系统软件的接口,使得算法使用者的系统集成任务大为减轻,产品开发周期相应大为缩短;另一方面,由于有标准接口,算法提供商可以将自己的算法实现很好地封装起来从而保护自己的知识产权,接口标准又使得算法提供商有了更广泛的客户群。
Abstract: The paper introduces the two key components of eXpressDSP: TMS320 DSP a Standard & Reference Frameworks。 With a family of rules and guidelines, TMS320 DSP algorithm Standard, a。k。a。 XDAIS, decreases dramatically system integration pressure, shorten system R& D period, also provides algorithm vendors more secure encapsulation and more widely potential deployment。
图一 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的状态会有特殊的要求,该部分规范则针对此种情况。
5。DMA资源使用规范,包括IDMA准则1-6和IDMA建议1。该部分规范是针对准则6关于DMA的应用。由于算法被要求为单纯的数据转换器,没有权力访问和使用片上外设包括DMA,而是由框架来控制DMA的运行。为了让算法可以间接使用DMA资源,XDAIS将算法对DMA的管理需求也抽像成一个接口IDMA,类似与IALG。框架通过调用IDMA接口函数来了解算法对DMA资源的需求;另一方面,算法如果需要知道DMA运行情况,也可以调用框架实现的ACPY。
对谁需要
XDAIS通过一系列编程准则和建议,标准化了算法和系统框架软件的接口,使得算法使用者的系统集成任务大为减轻,产品开发周期相应大为缩短;另一方面,由于有标准接口,算法提供商可以将自己的算法实现很好地封装起来
从而保护自己的知识产权,接口标准又使得算法提供商有了更广泛的客户群。同时,XDAIS贯穿着结构化编程的思想,提高了程序的重复利用性,对算法的开发者和使用者都有益处。实际上,TI在开始制定XDAIS时充分征询了客户和第三方算法开发者的意见并贯彻到规范中去,这也使得标准跟符合DSP软件开发的需求。
这些已从第三方算法开发商的热烈支持可以看出,到目前为止已有超过90家第三方600多个算法经过了XDAIS的认证,可以在他们的产品中使用图二这个标识。
图二 eXpressDSP 认证标志
如何开始
一个是使用CCS中的TMS320 DSP Algorithm Standard Developers Kit。这个套件里包含所有开发标准算法或使用标准算法需要的内容,对系统集成人员,应用程序编写者或算法生产者都有用。它包含一系列文档,例子。
另一个是参考框架,一个完备的基于DSP/BIOS 和XDAIS的实例程序。
参考文献
[1] TMS320 DSP Algorithm Standard Rules and Guidelines, spru352.pdf