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应用选型举例
面向数字控制、运动控制的DSP 系统开发的DSP芯片选型
面向数字控制、运动控制主要有磁盘驱动控制、引擎控制、激光打印机控制、喷绘机控制、马达控制、电力系统控制、机器人控制、高精度伺服系统控制、数控机床等。当然这些主要是针对数字运动控制系统设计的应用,在这些系统的控制中,不仅要求有专门用于数字控制系统的外设电路,而且要求芯片具有数字信号处理器的一般特征。
例如在控制直流无刷电动机的DSP控制系统中,直流无刷电机运行过程要进行两种控制,一种是转速控制,也即控制提供给定子线圈的电流;另一种是换相控制,在转子到达指定位置改变定子导通相,实现定子磁场改变,这种控制实际上实现了物理电刷的机制。因此这种电机需要有位置反馈机制,比如霍尔元件、光电码盘,或者利用梯形反电动势特点进行反电动势过零检测等。电机速度控制也是根据位置反馈信号,计算出转子速度,再利用PI或PID等控制方法,实时调整PWM占空比等来实现定子电流调节。因此,控制芯片要进行较多的计算过程。当然也有专门的直流无刷电机控制芯片;但一般来说,在大多数应用中,除了电机控制,总还需要做一些其他的控制和通信等事情,所以,选用带PWM,同时又有较强数**算功能的芯片也是一种很好的选择。
Motorola的数字信号处理器DSP568xx系列整合了通用数字信号处理器快速运算功能和单片机外围丰富的特点,使得该系列特别适合于那些要求有较强的数据处理能力,同时又要有较多控制功能的应用中,对直流无刷电机的控制就是这一系列DSP的典型应用之一。
除此之外,数字运动控领域还有TI公司的TMS320C24x系列,TMS320Lx240xx系列,特别是TMS320LF2407A在控制方面得到了非常广泛的应用,TMS320LF2407A作为一款专门面向数字控制系统进行优化的通用可编程微处理器,不仅具有低功耗和代码保密的特点,而且它集成了极强的数字信号处理能力,又集成了数字控制系统所必需的输入、输出、A/D转换、事件捕捉等外设,其时钟频率为40MHz,指令周期小于50ns,采用改进的哈佛结构和流水线技术,在一个指令周期内可以执行几条指令。
从运行速度,精度角度来讲上述两款芯片相差无几,但是TMS320LF2407A的调试开发环境(CCS)更加成熟,可参考的资料也更丰富,这样无疑会减少开发周期。 面向低功耗、手持设备、无线终 端应用的DSP芯片选型
C54X、C54XX、C55X 相比其它系列的主要特点是低功耗,所以最适合个人与便携式上网以及无线通信应用,如手机、PDA、GPS等应用。处理速度在80~400MIPS之间。C54XX和C55XX 一般只具有McBSP同步串口、HPI并行接口、定时器、DMA等外设。值得注意的是C55XX提供了EMIF外部存储器扩展接口,可以直接使用SDRAM,而C54XX则不能直接使用。
未来DSP发展趋势
在相当长的时期内,无线应用仍将是可编程DSP市场的驱动引擎。DSP技术仍将是能够访问窄带、宽带或是无线互联网的主要手段,它还是新兴的分组(IP)电话市场的关键技术,DSP仍将是整个半导体工业的技术驱动力。
在产品应用上,目前重要的DSP应用产品,如移动电话、调制解调器、HDD等个人计算机与通讯领域应用产品。但种种迹象表明,数字革命促进了高性能DSP的广泛应用,如数码相机、VoIP电话和手持电子设备等。中国在消费电子产品上的发展更为引人注目,许多消费类电子产品需要更低成本、更易使用的DSP产品,如音响设备、DVR、机顶盒等。整体来看,DSP应用在通讯领域、数字影音的产品将越来越普及。
|