内容发布更新时间 : 2024/8/22 17:59:08星期一 下面是文章的全部内容请认真阅读。
DSP芯片介绍及其选型
DSP芯片介绍及其选型
类别:单片机/DSP
 引言  DSP芯片也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器具,其主机应用是实时快速地实现各种数字信号处理算法。根据数字信号处理的要求,DSP芯片一般具有如下主要特点:  (1)在一个指令周期内可完成一次乘法和一次加法;  (2)程序和数据空间分开,可以同时访问指令和数据;  (3)片内具有快速RAM,通常可通过独立的数据总线在两块中同时访问;  (4)具有低开销或无开销循环及跳转的硬件支持;  (5)快速的中断处理和硬件I/O支持;  (6)具有在单周期内操作的多个硬件地址产生器;  (7) 可以并行执行多个操作;  (8)支持流水线操作,使取指、译码和执行等操作可以重叠执行。  在我们设计DSP应用系统时, DSP芯片选型是非常重要的一个环节。在DSP系统硬件设计中只有选定了DSP芯片,才能进一步设计其外围电路及系统的其他电路。因此说,DSP芯片的选择应根据应用系统的实际需要而确定,做到既能满足使用要求,又不浪费资源,从而也达到成本最小化的目的。  DSP实时系统设计和开发流程如图1所示。  主要DSP芯片厂商及其产品  德州仪器公
司  众所周知,美国德州仪器(Texas Instruments,TI)是世界上最知名的DSP芯片生产厂商,其产品应用也最广泛,TI公司生产的TMS320系列DSP芯片广泛应用于各个领域。TI公司在1982年成功推出了其第一代DSP芯片TMS32010,这是DSP应用历史上的一个里程碑,从此,DSP芯片开始得到真正的广泛应用。由于TMS320系列DSP芯片具有价格低廉、简单易用、功能强大等特点,所以逐渐成为目前最有影响、最为成功的DSP系列处理器。  目前,TI公司在市场上主要有三大系列产
品:  (1)面向数字控制、运动控制的TMS320C2000系列,主要包括TMS320C24x/F24x、TMS320LC240x/LF240x、
TMS320C24xA/LF240xA、TMS320C28xx等。  (2)面向低功耗、手持设备、无线终端应用的TMS320C5000系列,主要包括TMS320C54x、TMS320C54xx、TMS320C55x等。  (3)面向高性能、多功能、复杂应用领域的TMS320C6000系列,主要包括TMS320C62xx、
TMS320C64xx、TMS320C67xx等。  美国模拟器件公
司  ADI公司在DSP芯片市场上也占有一定的份额,相继推出了一系列具有自己特点的DSP芯片,其定点DSP芯片有ADSP2101/2103/2105、ADSP2111/2115、ADSP2126/2162/2164、
ADSP2127/2181 、ADSP-BF532以及Blackfin系列,浮点DSP芯片有ADSP21000/21020、ADSP21060/21062,以及虎鲨TS101,TS201S。  Motorola公
司  Motorola 公司推出的DSP芯片比较晚。 1986年该公司推出了定点DSP 处理器MC56001;1990年,又 推出了与IEEE浮点格式兼容的的浮点DSP芯片MC96002。  还有DSP53611、16位DSP56800、24位的DSP563XX和MSC8101等产品。  杰尔公司  杰尔公司的SC1000和SC2000两大系列的嵌入式DSP内核,主要面向电信基础设施、移动通信、多媒体服务器及其它新兴应用。  DSP芯片的选型参数  根据应用场合和设计目标的不同,选择DSP芯片的侧重点也各不相同,其主要参数包括以下几个方面:  (1)运算速度:首先我们要确定数字信号处理的算法,算法确定以后其运算量和完成时间也就大体确定了,根据运算量及其时间要求就可以估算DSP芯片运算速度的下限。在选择DSP芯片时,各个芯片运算速度的衡量标准主要
有:  MIPS(Millions of Instructions Per Second),百万条指令/秒,一般DSP为20~100MIPS,使用超长指令字的TMS320B2XX为2400MIPS。必须指出的是这是定点DSP芯片运算速度的衡量指标,应注意的是,厂家提供的该指标一般是指峰值指标,因此,系统设计时应留有一定的裕量。  MOPS(Millions of Operations Per Second),每秒执行百万操作。这个指标的问题是什么是一次操作,通常操作包括CPU操作外,还包括地址计算、DMA访问数据传输、I/O操作等。一般说MOPS越高意味着乘积-累加和运算速度越快。MOPS可以对DSP芯片的性能进行综合描
述。  MFLOPS(Million Floating Point Operations Per Second),百万次浮点操作/秒,这是衡量浮点DSP芯片的重要指标。例如TMS320C31在主频为40MHz时,处理能力为40MFLOPS,TMS320C6701在指令周期为6ns时,单精度运算可达1GFLOPS。浮点操作包括浮点乘法、加法、减法、存储等操作。应注意的是,厂家提供的该指标一般是指峰值指标,因此,系统设计时应注意留有一定的裕量。  MBPS(Million Bit Per Second),它是对总线和I/O口数据吞吐率的度量,也就是某个总线或I/O的带宽。例如对TMS320C6XXX、200MHz时钟、32bit总线时,总线数据吞吐率则为800Mbyte/s或6400MBPS。  ACS(Multiply-Accumulates Per Second),例如TMS320C6XXX乘加速度达
300MMACS~600MMACS。  指令周期,即执行一条指令所需的时间,通常以ns(纳秒)为单位,如TMS320LC549-80在主频为80MHz是的指令周期为12.5ns。  MAC时间,执行一次乘法和加法运算所花费的时间:大多数DSP芯片可以在一个指令周期内完成一次MAC运算。  FFT/FIR执行时间,运行一个N点FFT或N点FIR程序的运算时间。由于FFT运算/FIR运算是数字信号处理的一个典型算法,因此,该指标可以作为衡量芯片性能的综合指标。  表1是基于上述某些参数对一些DSP芯片所作的比
较。  (2)运算精度: 一般情况下,浮点DSP芯片的运算精度要高于定点DSP芯片的运算精度,但是功耗和价格也随之上升。一般定点DSP芯片的字长为16位、24位或者32位,浮点芯片
的字长为32位。累加器一般都为32位或40位。 定点DSP的特点是主频高、速度快、成本低、功耗小,主要用于计算复杂度不高的控制、通信、语音/图像、消费电子产品等领域。通常可以用定点器件解决的问题,尽量用定点器件,因为它经济、速度快、成本低,功耗小。但是在编程时要关注信号的动态范围,在代码中增加限制信号动态范围的定标运算,虽然我们可以通过改进算法来提高运算精度,但是这样做会相应增加程序的复杂度和运算量。浮点DSP的速度一般比定点DSP处理速度低,其成本和功耗都比定点DSP高,但是由于其采用了浮点数据格式,因而处理精度,动态范围都远高于定点DSP,适合于运算复杂度高,精度要求高的应用场合;即使是一般的应用,在对浮点DSP进行编程时,不必考虑数据溢出和精度不够的问题,因而编程要比定点DSP方便、容易。因此说,运算精度要求是一个折衷的问题,需要根据经验等来确定一个最佳的结合点。  (3)字长的选择:一般浮点DSP芯片都用32位的数据字,大多数定点DSP芯片是16位数据字。而Motorola公司定点芯片用24位数据字,以便在定点和浮点精度之间取得折衷。字长大小是影响成本的重要因素,它影响芯片的大小、引脚数以及存储器的大小,设计时在满足性能指标的条件下,尽可能选用最小的数据字。 (4)存储器等片内硬件资源安排:包括存储器的大小,片内存储器的数量,总线寻址空间等。片内存储器的大小决定了芯片运行速度和成本,例如TI公司同一系列的DSP芯片,不同种类芯片存储器的配置等硬件资源各不相同。通过对算法程序和应用目标的仔细分析可以大体判定对DSP芯片片内资源的要求。几个重要的考虑因素是片内RAM和ROM的数量、可否外扩存储器、总线接口/中断/串行口等是否够用、是否具有A/D转换等。  (5)开发调试工具:完善、方便的的开发工具和相关支持软件是开发大型、复杂DSP系统的必备条件,对缩短产品的开发周期有很重要的作用。开发工具包括软件和硬件两部分。软件开发工具主要包括:C编译器、汇编器、链接器、程序库、软件仿真器等,在确定DSP算法后,编写的程序代码通过软件仿真器进行仿真运行,来确定必要的性能指标。硬件开发工具包括在线硬件仿真器和系统开发板。在线硬件仿真器通常是JTAG周边扫描接口板,可以对设计的硬件进行在线调试;在硬件系统完成之前,不同功能的开发板上实时运行设计的DSP软件,可以提高开发效率。甚至在有的数量小的产品中,直接将开发板当作最终产品。  (6)功耗与电源管理:一般来说个人数字产品、便携设备和户外设备等对功耗有特殊要求,因此这也是一个该考虑的问题。它通常包括供电电压的选择和电源的管理功能。供电电压一般取得比较低,实施芯片的低电压供电,通常有3.3V、2.5V,1.8V,0.9V等,在同样的时钟频率下,它们的功耗将远远低于5V供电电压的芯片。加强了对电源的管理后,通常用休眠、等待模式等方式节省功率消耗。例如TI公司提供了详细的、功能随指令类型和处理器配置而改变的应用说明。  (7)价格及厂家的售后服务因素:价格包括DSP芯片的价格和开发工具的价格。如果采用昂贵的DSP芯片,即使性能再高,其应用范围也肯定受到一定的限制。但低价位的芯片必然是功能较少、片内存储器少、性能上差一些的,这就带给编程一定的困难。因此,要根据实际系统的应用情况,确定一个价格适中的DSP芯片。还要充分考虑厂家提供的的售后服务等因素,良好的售后技术支持也是开发过程中重要资源。  (8)其他因素:包括DSP芯片的封装形式、环境要求、供货周期、生命周期等。  DSP应