首页 理论教育 选择DSP的关键因素考虑

选择DSP的关键因素考虑

时间:2023-06-20 理论教育 版权反馈
【摘要】:一般来说,选择DSP时应考虑以下因素。1.DSP的运算速度运算速度是DSP的一个最重要的性能指标,也是选择DSP时所需要考虑的一个主要因素。选择DSP时可由系统所需要的准确度确定是采用定点运算还是浮点运算。在要求低功耗的应用场合下,选择DSP时应考虑供电电压的大小和对电源的管理功能。6.DSP的价格及售后技术服务DSP的价格也是选择DSP所需考虑的一个重要因素。

选择DSP的关键因素考虑

对不同的应用场合,DSP的选取也是不一样的。一般来说,选择DSP时应考虑以下因素。

1.DSP的运算速度

运算速度是DSP的一个最重要的性能指标,也是选择DSP时所需要考虑的一个主要因素。设计者先由输入信号的频率范围确定系统的最高采样频率,再根据算法的运算量和实时处理限定的完成时间确定DSP运算速度的下限。DSP的运算速度可以用以下几种性能指标来衡量:

1)指令周期:即执行一条指令所需的时间,通常以纳秒(ns)为单位。例如TMS320VC5402-100在主频为100MHz时的指令周期为10ns。

2)MAC时间(Multiply-AccumulatesPerSecond):即一次乘法加上一次加法(乘累加)的时间。大部分DSP可在一个指令周期内完成一次乘法和加法操作,例如TMS320VC5402-100的MAC时间就是10ns。

3)FFT执行时间:即运行一个N点FFT程序所需的时间。由于FFT运算涉及的运算在数字信号处理中很有代表性,因此FFT运算时间常作为衡量DSP运算能力的一个指标。

4)MIPS(Millions of Instructions Per Second):即每秒执行百万条指令。一般DSP为20~100MIPS,例如TMS320VC5402-100的处理能力为100MIPS。必须指出的是,这是定点DSP运算速度的衡量指标,应注意的是,厂家提供的该指标一般是峰值指标,因此系统设计时应留有一定的裕量。

5)MOPS(Millions of Operations Per Second):即每秒执行百万次操作。操作包括CPU操作、地址计算、数据访问及I/O操作等。MOPS可以对DSP的性能进行综合描述。例如TMS320C40的运算能力为275MOPS。

6)MFLOPS(Millions Floating Point Operations Per Second):即每秒执行百万次浮点操作。浮点操作包括浮点乘法、加法、减法、浮点数据的存储等操作。MFLOPS是衡量浮点DSP的重要指标。例如TMS320C31在主频为40MHz时的处理能力为40MFLOPS。应注意的是,厂家提供的该指标一般是峰值指标,因此系统设计时应留有一定的裕量。

7)MBPS(Million Bit Per Second):即每秒传输百万比特,它是对总线和I/O口数据吞吐率的度量,也就是某个总线或I/O的带宽。MBPS用于衡量DSP的数据传输能力。例如TMS320C6000的总线时钟为200MHz时,其总线数据吞吐率为800MBPS。

2.DSP的运算准确度

DSP的运算准确度取决于DSP的字长。一般情况下,浮点DSP的运算准确度要高于定点DSP的运算准确度。定点DSP的字长通常为16位。但有少数定点DSP的字长为20位、24位或32位,例如Motorola公司的定点DSP处理器MC56001字长为24位。浮点DSP的字长一般为32位。累加器一般都为32位或40位。选择DSP时可由系统所需要的准确度确定是采用定点运算还是浮点运算。

定点DSP成本低、功耗小,但运算准确度稍低,主要用于计算复杂度不高的控制、通信、语音/图像、消费电子产品等领域。但是在编程时要关注信号的动态范围,在代码中增加限制信号动态范围的定标运算。虽然可以通过改进算法来提高运算准确度,但是这样做会增加程序的复杂度和运算量。浮点DSP的成本和功耗都比定点DSP高,但是由于采用了浮点数据格式,因而运算准确度和动态范围都远高于定点DSP,浮点DSP适用于运算复杂度高、准确度要求高的应用场合。即使是一般的应用,在对浮点DSP进行编程时,也不需要考虑数据溢出和准确度不够的问题,因而编程要比定点DSP方便、容易。

3.DSP的硬件资源

不同的DSP所提供的硬件资源是不相同的,如片内RAM、ROM的数量,外部可扩展的程序和数据空间,总线接口,I/O接口等。即使是在同一系列(如TI公司的TMS320C54x系列)中,不同的DSP也具有不同的内部硬件资源,以适应不同的需要。选择DSP时应根据系统的实际需要考虑其硬件资源,例如,可根据系统数据量的大小确定所使用的片内RAM及需要扩展的RAM的大小;根据系统是作计算用还是作控制用来确定I/O端口的需求。

4.DSP的开发工具

在DSP系统的开发过程中,开发工具是必不可少的。如果没有开发工具的支持,要想开发一个复杂的DSP系统几乎是不可能的。如果有功能强大的开发工具的支持(如可支持C语言开发),则程序开发的时间就会大大缩短。所以,在选择DSP时必须注意开发工具对处理器的支持情况,包括软件和硬件的开发工具等。现在的DSP都提供了较完善的软硬件开发工具。软件开发工具主要包括C编译器、汇编器、链接器、代码库、软件模拟器和在线仿真软件等,在确定DSP算法后,编写的程序代码通过软件模拟器进行仿真运行来确定必要的性能指标。硬件开发工具包括在线硬件仿真器和系统开发板。在线硬件仿真器通常是JTAG周边扫描接口板,可以对设计的硬件进行在线调试。硬件系统完成之前,在不同功能的开发板上实时运行设计的DSP软件,可以提高开发效率。甚至在有些数量小的产品中,直接将开发板当作最终产品。(www.xing528.com)

5.DSP的功耗

一般来说,手持式设备、便携式设备和户外应用设备等对功耗有特殊要求,因此功耗也是选择DSP时应该主要考虑的一个问题。在要求低功耗的应用场合下,选择DSP时应考虑供电电压的大小和对电源的管理功能。由于越来越多的DSP被用于电池供电的低功耗产品中,致使许多DSP厂商都降低了DSP的供电电压,加强了电源管理功能。目前,有多种低电压供电的DSP可供选择,这些DSP的供电电压通常有3.3V、2.5V、1.8V、0.9V等,在同样的时钟频率下,它们的功耗将远远低于5V供电电压的DSP。加强了电源管理功能后,除了某些必需的部分之外,可以断开DSP其他部分的时钟,使DSP处于休眠模式,从而降低功耗。

6.DSP的价格及售后技术服务

DSP的价格也是选择DSP所需考虑的一个重要因素。如果采用价格昂贵的DSP,即使性能再高,其应用范围也会受到一定的限制,尤其是需要大规模推广应用的民用产品。但低价位的DSP又可能存在功能较少、片内存储器少、性能差一些的问题,这就会给编程带来一定的困难。因此需要根据实际系统的应用情况,确定一个价格适中的DSP。当然,由于DSP发展迅速,DSP的价格往往下降较快,因此在开发阶段选用某种价格稍贵的DSP,等到系统开发完毕,其价格可能已经下降一半甚至更多。另外,还要充分考虑厂家提供的售后服务等因素,良好的售后技术支持也是开发过程中的重要资源。

7.DSP的支持多处理器功能

近来各类软件在无线电产品及雷达的应用中,都需要能处理高数据率、大运算量的应用系统。单一的处理器系统已难以承担这类复杂任务,因此需要采用多个处理器并行工作。在这种情况下,各处理器之间连接和通信功能是必须要作为主要因素予以考虑的。近年来,新推出的DSP系列都提高了这方面的性能,注意增加专门的接口或DMA通道来支持多处理器的DSP运行。

8.DSP应用系统的运算量

DSP应用系统的运算量是确定选用处理能力为多大的DSP的基础。运算量小则可以选用处理能力不是很强的DSP,从而可以降低系统成本。相反,运算量大的DSP系统则必须选用处理能力强的DSP,如果单个DSP的处理能力达不到系统要求,则必须用多个DSP进行并行处理。如何确定DSP系统的运算量以选择合适的DSP,主要考虑以下两种情况。

(1)按样点处理

所谓按样点处理,就是DSP算法对每一个输入样点循环一次。数字滤波就是这种情况,在数字滤波器中,通常需要对每一个输入样点计算一次。例如,一个采用LMS算法的256抽头的自适应FIR滤波器,假定每个抽头的计算需要3个MAC周期,则256个抽头的计算需要256×3=768个MAC周期。如果采样频率为8kHz,即样点之间的间隔为125μs,DSP的MAC周期为200ns,则768个MAC周期需要768×200ns=153.6μs的时间,由于计算1个样点所需的时间153.6μs大于样点之间的间隔125μs,显然无法实时处理,需要选用速度更高的DSP。若选用DSP的MAC周期为100ns,则768个MAC周期需要768×100ns=76.8μs的时间。由于计算1个样点所需的时间76.8μs小于样点之间的间隔125μs,可实现实时处理。

(2)按帧处理

有些数字信号处理算法不是每个输入样点循环一次,而是每隔一定的时间间隔(通常称为帧)循环一次。例如,中低速语音编码算法通常以10ms或20ms为一帧,每隔10ms或20ms语音编码算法循环一次。所以,选择DSP时应该比较一帧内DSP的处理能力和DSP算法的运算量。

假设DSP的指令周期为p(ns),一帧的时间为Δτ(ns),则该DSP在一帧内所能提供的最大运算量为Δτ/p条指令。例如,TMS320VC5402-100的指令周期为10ns,设帧长为20ms,则一帧内TMS320VC5402-100所能提供的最大运算量为20ms/10ns=200万条指令。因此,理论上只要语音编码算法的运算量不超过200万条指令,就可以在TMS320VC5402-100上实时运行。当然,在实际系统中,需要留有一定的裕量,以确保程序运行的可靠性

9.其他因素

除了上述因素外,选择DSP还应考虑到封装的形式、质量标准、供货情况、生命周期等。有的DSP可能有DIP、PGA、PLCC、LQFP、BGA等多种封装形式。有些DSP系统可能最终要求的是工业级或军用级标准,在选择时就需要注意到所选的处理器是否有工业级或军用级的同类产品。如果所设计的DSP系统不仅仅是一个实验系统,而是需要批量生产并可能有几年甚至十几年的生命周期,那么需要考虑所选的DSP供货情况如何,是否也有同样甚至更长的生命周期等。

在实际的DSP系统设计中,选择DSP时不可一味地追求某些高指标,要根据应用需要和性能价格比合理地选用DSP。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈