欢迎来到天天文库
浏览记录
ID:34416280
大小:32.50 KB
页数:4页
时间:2019-03-05
《dsp算法标准及其应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、摘 要:介绍了TIDSP算法标准及其相关背景,重点阐述了算法标准中对于处理多线程、多任务时算法编写的相关规定,并从多线程、多任务的角度论述了这些规定的必要性,最后介绍了笔者的算法开发环境并论述了在该环境中如何从算法标准的角度做的整体设计,描述了在实际的软件开发中如何应用这些规定。 关键词:DSP;算法标准;占先式内核;可重入性1 引 言 DSP[1](DigitalSignalProcessor)自从诞生以来,由于其在数字信号处理方面专用的结构和硬件逻辑,比如,处理器使用不同于普通处理器的哈佛结构,独特的桶型移位器等,使其在某些特定的
2、领域的应用得到了飞速的发展。DSP在某些功能上与普通的嵌入式处理器相似,因而通常以传统嵌入式处理器编程的方法来编程,即,使用C语言和汇编语言混合编程,直接访问硬件外设,并且由于性能的原因,总是很少使用标准操作系统的支持。这样,像传统的微处理器一样,几乎没有零售的DSP中间件可用。然而,DSP又不同于通用的嵌入式处理器,他是用来运行复杂的信号处理算法的。这些成熟的算法通常是多年的博士研究的成果。 由于DSP算法缺乏统一的标准,算法从一个系统移植到另外一个系统时,或一种算法要应用于多个系统中时,通常要做很大的改动。算法的继承性和重用性都很
3、差,因此基于DSP的产品上市时间往往以年,而不是以月来计算。对一个产品开发商来说,不可能仅从一个算法开发商那里购买全部所需的DSP算法;另一方面不同算法开发商的算法产品由于实现风格不同,相互不兼容。因此,常常出现这样的情况,系统集成商不得不选择能提供他们所需的大部分算法的算法开发商,并与他们谈判来开发所需的其他算法。 为改变这种状况,TI公司推出了一套编写和使用DSP算法的标准,让系统集成商可以快速集成和使用已有的商用DSP算法软件,可以大大减少基于DSP产品的上市时间。2 DSP算法标准的相关背景和概念2.1 通用算法的特征 由于
4、DSP应用十分广泛,支持数字信号处理器的平台或操作系统又很多,这些复杂的平台对于算法标准就提出了很高的要求。一个算法要真正实现“即插即用”或应用于多种操作系统,他必须具备几个基本的特征。 (1)算法对于应用程序透明,相同的算法可以用于任何应用程序。 (2)算法既能用于静态系统,又能用于动态系统。 (3)算法必须能用二进制形式分发,即能以目标文件发行。 (4)算法既能用于单任务,也能用于多任务,即 (5)算法的使用不需要重新编译,但可以重新连接和配置。 (6)算法是C语言可调用的。 (7)算法独立于任何特殊的I/O设备。 算法要
5、具有上述特征,在编码上就必须遵循一定的规范,在处理器资源的使用上,也必须作一些限制,这些规范和限制就是算法标准。有关算法标准的详细规定,可参阅文献[1]。2.2 算法标准的分级 在算法标准出来之前,DSP算法开发商已开发了大量的算法,有些算法在一定程度上遵循了标准;有些算法由于应用领域的不同,移植(指相同DSP,不同软件平台)时的限制不同,这就提出了算法标准的等级问题。通常算法标准分为4级,每一级标准对算法编写的要求和限制不同,级数越高,限制越严格,其中第4级是具体到各种特殊行业的。比如,语音编码器有语音编码器的行业标准和特征;电机控
6、制算法有电机控制方面的特殊要求等等,如此细致的规定不可能上升为通用的标准,所以通用的算法只要遵循前三级即可。下面是各等级分别包含的范围: 第1级 包含适用于各种DSP结构,而不管应用领域的各种算法的编程准则。几乎所有近来开发的软件模块都已经遵循了这些准则,所以该级别只是将他们规范化。 第2级 包含可使所有算法和谐运行于单一系统的编程规则和准则。例如,约定用于数据内存算法和外部标示的统一命名等。此外,还规定了算法如何封装的规范。 第3级 包含具体DSP系列的算法编程准则。如C54XX,C6X等。现在关于处理器资源的使用还没有统一的准
7、则。由于不同的DSP结构不同,因而总有偏离准则的情况,标准要求算法提供商必须清楚地在相关头文件和文档中标注这种偏差。2.3 基于DSP算法标准的通用软件结构和相关概念 算法标准如何在实际中应用,TI公司给出了一个通用的软件编程思路。将一个基于DSP的软件分成了若干模块,每一个模块都有严格的定义,使得模块之间有明确的界线。图1是一个基于主机-目标机的软件结构图(图中主机端没有画出)。从中可以清楚地看到通用的DSP程序分为4个部分:FrameWork,ALG,CoreruntimeSupport,CMDandStatus。 FRAMEW
8、ORK为应用程序框架,是一些支持DSP运行的平台或操作系统,例如pSos,vxworks,UC-OS-II等;ALG为独立于处理器的DSP算法;Coreruntimesupport为运行支持内核,例如rts
此文档下载收益归作者所有