1.3.3 DSP芯片的分类 DSP芯片可以按照下列三种方式进行分类。 1.按基础特性分 这是根据DSP芯片的工作时钟和指令类型来分类的。如果在某时钟频率范围内的任何时钟频率上,DSP芯片都能正常工作,除计算速度有变化外,没有性能的下降,这类DSP芯片一般称为静态DSP芯片。例如,日本OKI 电气公司的DSP芯片、TI公司的TMS320C2XX系列芯片属于这一类。 如果有两种或两种以上的DSP芯片,它们的指令集和相应的机器代码机管脚结构相互兼容,则这类DSP芯片称为一致性DSP芯片。例如,美国TI公司的TMS320C54X就属于这一类。 2.按数据格式分 这是根据DSP芯片工作的数据格式来分类的。数据以定点格式工作的DSP芯片称为定点DSP芯片,如TI公司的TMS320C1X/C2X、TMS320C2XX/C5X、TMS320C54X/C62XX系列,AD公司的ADSP21XX系列,AT&T公司的DSP16/16A,Motolora公司的MC56000等。以浮点格式工作的称为浮点DSP芯片,如TI公司的TMS320C3X/C4X/C8X,AD公司的ADSP21XXX系列,AT&T公司的DSP32/32C,Motolora公司的MC96002等。 不同浮点DSP芯片所采用的浮点格式不完全一样,有的DSP芯片采用自定义的浮点格式,如TMS320C3X,而有的DSP芯片则采用IEEE的标准浮点格式,如Motorola公司的MC96002、FUJITSU公司的MB86232和ZORAN公司的ZR35325等。 3.按用途分 按照DSP的用途来分,可分为通用型DSP芯片和专用型DSP芯片。通用型DSP芯片适合普通的DSP应用,如TI公司的一系列DSP芯片属于通用型DSP芯片。专用DSP芯片是为特定的DSP运算而设计的,更适合特殊的运算,如数字滤波、卷积和FFT,如Motorola公司的DSP56200,Zoran公司的ZR34881,Inmos公司的IMSA100等就属于专用型DSP芯片。 本书主要讨论通用型DSP芯片。 1.3.4 DSP芯片的选择 设计DSP应用系统,选择DSP芯片是非常重要的一个环节。只有选定了DSP芯片,才能进一步设计其外围电路及系统的其他电路。总的来说,DSP芯片的选择应根据实际的应用系统需要而确定。不同的DSP应用系统由于应用场合、应用目的等不尽相同,对DSP芯片的选择也是不同的。一般来说,选择DSP芯片时应考虑到如下诸多因素。 1.DSP芯片的运算速度。 运算速度是DSP芯片的一个最重要的性能指标,也是选择DSP芯片时所需要考虑的一个主要因素。DSP芯片的运算速度可以用以下几种性能指标来衡量: (1) 指令周期:即执行一条指令所需的时间,通常以ns(纳秒)为单位。如TMS320LC549-80在主频为80MHz时的指令周期为12.5ns; (2) MAC时间:即一次乘法加上一次加法的时间。大部分DSP芯片可在一个指令周期内完成一次乘法和加法操作,如TMS320LC549-80的MAC时间就是12.5ns; (3) FFT执行时间:即运行一个N点FFT程序所需的时间。由于FFT运算涉及的运算在数字信号处理中很有代表性,因此FFT运算时间常作为衡量DSP芯片运算能力的一个指标; (4) MIPS:即每秒执行百万条指令。如TMS320LC549-80的处理能力为80 MIPS,即每秒可执行八千万条指令; (5) MOPS:即每秒执行百万次操作。如TMS320C40的运算能力为275 MOPS; (6) MFLOPS:即每秒执行百万次浮点操作。如TMS320C31在主频为40MHz时的处理能力为40 MFLOPS; (7) BOPS:即每秒执行十亿次操作。如TMS320C80的处理能力为2 BOPS。 2.DSP芯片的价格。 DSP芯片的价格也是选择DSP芯片所需考虑的一个重要因素。如果采用价格昂贵的DSP芯片,即使性能再高,其应用范围肯定会受到一定的限制,尤其是民用产品。因此根据实际系统的应用情况,需确定一个价格适中的DSP芯片。当然,由于DSP芯片发展迅速,DSP芯片的价格往往下降较快,因此在开发阶段选用某种价格稍贵的DSP芯片,等到系统开发完毕,其价格可能已经下降一半甚至更多。 3.DSP芯片的硬件资源。 不同的DSP芯片所提供的硬件资源是不相同的,如片内RAM、ROM的数量,外部可扩展的程序和数据空间,总线接口,I/O接口等。即使是同一系列的DSP芯片(如TI的TMS320C54X系列),系列中不同DSP芯片也具有不同的内部硬件资源,可以适应不同的需要。 4.DSP芯片的运算精度。 一般的定点DSP芯片的字长为16位,如TMS320系列。但有的公司的定点芯片为24位,如Motorola公司的MC56001等。浮点芯片的字长一般为32位,累加器为40位。 5.DSP芯片的开发工具。 在DSP系统的开发过程中,开发工具是必不可少的。如果没有开发工具的支持,要想开发一个复杂的DSP系统几乎是不可能的。如果有功能强大的开发工具的支持,如C语言支持,则开发的时间就会大大缩短。所以,在选择DSP芯片的同时必须注意其开发工具的支持情况,包括软件和硬件的开发工具。 6.DSP芯片的功耗。 在某些DSP应用场合,功耗也是一个需要特别注意的问题。如便携式的DSP设备、手持设备、野外应用的DSP设备等都对功耗有特殊的要求。目前,3.3V供电的低功耗高速DSP芯片已大量使用。 7.其他。 除了上述因素外,选择DSP芯片还应考虑到封装的形式、质量标准、供货情况、生命周期等。有的DSP芯片可能有DIP、PGA、PLCC、PQFP等多种封装形式。有些DSP系统可能最终要求的是工业级或军用级标准,在选择时就需要注意到所选的芯片是否有工业级或军用级的同类产品。如果所设计的DSP系统不仅仅是一个实验系统,而是需要批量生产并可能有几年甚至十几年的生命周期,那么需要考虑所选的DSP芯片供货情况如何,是否也有同样甚至更长的生命周期等。 在上述诸多因素中,一般而言,定点DSP芯片的价格较便宜,功耗较低,但运算精度稍低。而浮点DSP芯片的优点是运算精度高,且C语言编程调试方便,但价格稍贵,功耗也较大。例如TI的TMS320C2XX/C54X系列属于定点DSP芯片,低功耗和低成本是其主要的特点。而TMS320C3X/C4X/C67X属于浮点DSP芯片,运算精度高,用C语言编程方便,开发周期短,但同时其价格和功耗也相对较高。 DSP应用系统的运算量是确定选用处理能力为多大的DSP芯片的基础。运算量小则可以选用处理能力不是很强的DSP芯片,从而可以降低系统成本。相反,运算量大的DSP系统则必须选用处理能力强的DSP芯片,如果DSP芯片的处理能力达不到系统要求,则必须用多个DSP芯片并行处理。那么如何确定DSP系统的运算量以选择DSP芯片呢?下面我们来考虑两种情况。 1.按样点处理 所谓按样点处理就是DSP算法对每一个输入样点循环一次。数字滤波就是这种情况。在数字滤波器中,通常需要对每一个输入样点计算一次。例如,一个采用LMS算法的256 抽头的自适应FIR滤波器,假定每个抽头的计算需要3个MAC周期,则256抽头计算需要256?=768个MAC周期。如果采样频率为8kHz,即样点之间的间隔为125ms,DSP芯片的MAC周期为200ns,则768个MAC周期需要153.6ms的时间,显然无法实时处理,需要选用速度更高的DSP芯片。表1.3示出了两种信号带宽对三种 DSP 芯片的处理要求,三种DSP芯片的MAC周期分别为200ns、50ns和25ns。从表中可以看出,对话带的应用,后两种DSP芯片可以实时实现,对声频应用,只有第三种DSP芯片能够实时处理。当然,在这个例子中,没有考虑其他的运算量。 |