DSP芯片也称数字信号处理器,是一种特别适合于进行数字信号处理运算的微处理器具,其主机应用是实时快速地实现各种数字信号处理算法. 在DSP系统硬件设计中只有选定了DSP芯片(DSP技术),才能进一步设计其外围电路及系统的其他电路.所以说,在设计DSP应用系统时,DSP芯片的选用是非常重要的一个环节。
那么,DSP芯片的选用原则及考虑因素有哪些呢?(嵌入式处理器)在选用DSP芯片是应根据应用系统的实际需要而确定,做到既能满足使用要求,又不浪费资源,从而也达到成本最小化的目的。小编通过搜集整理资料,根据应用场合和设计目标的不同及选择DSP芯片的侧重点的不同,对DSP芯片的选用参数作了以下几个方面的归纳总结:
一、DSP芯片的选用考虑因素
(1) 运算精度:一般情况下,浮点DSP芯片的运算精度要高于定点DSP芯片的运算精度,但是功耗和价格也随之上升.一般定点DSP芯片的字长为16位,24位或者32位,浮点芯片的字长为32位.累加器一般都为32位或40位.定点DSP的特点是主频高,速度快,成本低,功耗小,主要用于计算复杂度不高的控制,通信,语音/图像,消费电子产品等领域.通常可以用定点器件解决的问题,尽量用定点器件,因为它经济,速度快,成本低,功耗小.但是在编程时要关注信号的动态范围,在代码中增加限制信号动态范围的定标运算,虽然我们可以通过改进算法来提高运算精度,但是这样做会相应增加程序的复杂度和运算量.浮点DSP的速度一般比定点DSP处理速度低,其成本和功耗都比定点DSP高,但是由于其采用了浮点数据格式,因而处理精度,动态范围都远高于定点DSP,适合于运算复杂度高,精度要求高的应用场合;即使是一般的应用,在对浮点DSP进行编程时,不必考虑数据溢出和精度不够的问题,因而编程要比定点DSP方便,容易.因此说,运算精度要求是一个折衷的问题,需要根据经验等来确定一个最佳的结合点.
(2) 运算速度:首先我们要确定数字信号处理的算法,算法确定以后其运算量和完成时间也就大体确定了,根据运算量及其时间要求就可以估算DSP芯片运算速度的下限.在选择DSP芯片时,各个芯片运算速度的衡量标准主要有:
MIPS (MillionsofInstructionsPerSecond),百万条指令/秒,一般DSP为20~100MIPS,使用超长指令字的TMS320B2XX为2400MIPS.必须指出的是这是定点DSP芯片运算速度的衡量指标,应注意的是,厂家提供的该指标一般是指峰值指标,因此,系统设计时应留有一定的裕量
MOPS(MillionsofOperationsPerSecond),每秒执行百万操作.这个指标的问题是什么是一次操作,通常操作包括CPU操作外,还包括地址计算,DMA访问数据传输,I/O操作等.一般说MOPS越高意味着乘积-累加和运算速度越快.MOPS可以对DSP芯片的性能进行综合描述。
MFLOPS(MillionFloatingPointOperationsPerSecond),百万次浮点操作/秒,这是衡量浮点DSP芯片的重要指标.例如TMS320C31在主频为40MHz时,处理能力为40MFLOPS,TMS320C6701在指令周期为6ns时,单精度运算可达1GFLOPS.浮点操作包括浮点乘法,加法,减法,存储等操作.应注意的是,厂家提供的该指标一般是指峰值指标,因此,系统设计时应注意留有一定的裕量.
MBPS(MillionBitPerSecond),它是对总线和I/O口数据吞吐率的度量,也就是某个总线或I/O的带宽.
MAC时间,执行一次乘法和加法运算所花费的时间:大多数DSP芯片可以在一个指令周期内完成一次MAC运算.FFT/FIR执行时间,运行一个N点FFT或N点FIR程序的运算时间.由于FFT运算/FIR运算是数字信号处理的一个典型算法,因此,该指标可以作为衡量芯片性能的综合指标.
(3) 寻址空间:不同系列DSP程序、数据、I/O空间大小不一,与普通MCU不同,DSP在一个指令周期内能完成多个操作,所以DSP的指令效率很高,程序空间一般不会有问题,关键是数据空间是否满足。数据空间的大小可以通过DMA的帮助,借助程序空间扩大。
(4)存储器等片内硬件资源安排:包括存储器的大小,片内存储器的数量,总线寻址空间等.片内存储器的大小决定了芯片运行速度和成本,例如TI公司同一系列的DSP芯片,不同种类芯片存储器的配置等硬件资源各不相同.通过对算法程序和应用目标的仔细分析可以大体判定对DSP芯片片内资源的要求.几个重要的考虑因素是片内RAM和ROM的数量,可否外扩存储器,总线接口/中断/串行口等是否够用,是否具有A/D转换等.
(5)开发调试工具:完善,方便的的开发工具和相关支持软件是开发大型,复杂DSP系统的必备条件,对缩短产品的开发周期有很重要的作用.开发工具包括软件和硬件两部分.软件开发工具主要包括:C编译器,汇编器,链接器,程序库,软件仿真器等,在确定DSP算法后,编写的程序代码通过软件仿真器进行仿真运行,来确定必要的性能指标.硬件开发工具包括在线硬件仿真器和系统开发板.在线硬件仿真器通常是JTAG周边扫描接口板,可以对设计的硬件进行在线调试;在硬件系统完成之前,不同功能的开发板上实时运行设计的DSP软件,可以提高开发效率.甚至在有的数量小的产品中,直接将开发板当作最终产品.
(6) 字长的选择:一般浮点DSP芯片都用32位的数据字,大多数定点DSP芯片是16位数据字.而Motorola公司定点芯片用24位数据字,以便在定点和浮点精度之间取得折衷.字长大小是影响成本的重要因素,它影响芯片的大小,引脚数以及存储器的大小,设计时在满足性能指标的条件下,尽可能选用最小的数据字.
(7) 功耗与电源管理:一般来说个人数字产品,便携设备和户外设备等对功耗有特殊要求,因此这也是一个该考虑的问题.它通常包括供电电压的选择和电源的管理功能.供电电压一般取得比较低,实施芯片的低电压供电,通常有3.3V,2.5V,1.8V,0.9V等,在同样的时钟频率下,它们的功耗将远远低于5V供电电压的芯片.加强了对电源的管理后,通常用休眠,等待模式等方式节省功率消耗.例如TI公司提供了详细的,功能随指令类型和处理器配置而改变的应用说明.
(8)价格及厂家的售后服务因素:价格包括DSP芯片的价格和开发工具的价格.如果采用昂贵的DSP芯片,即使性能再高,其应用范围也肯定受到一定的限制.但低价位的芯片必然是功能较少,片内存储器少,性能上差一些的,这就带给编程一定的困难.因此,要根据实际系统的应用情况,确定一个价格适中的DSP芯片.还要充分考虑厂家提供的的售后服务等因素,良好的售后技术支持也是开发过程中重要资源. 一般定点DSP的成本会比浮点DSP的要低,速度也较快。要获得低成本的DSP系统,尽量用定点算法,用定点DSP。
(9)实现方便:浮点DSP的结构实现DSP系统较容易,不用考虑寻址空间的问题,指令对C语言支持的效率也较高。
(10)内部部件:根据应用要求,选择具有特殊部件的DSP。如:C2000适合于电机控制;OMAP适合于多媒体等。
(11)其他因素: 选择DSP芯片还应考虑到封装的形式(DIP、PGA、PLCC、PQFP)、质量标准、供货情况、生命周期、DSP芯片的硬件资源(片内RAM,ROM,外扩空间,I/O接口)、DSP芯片的开发工具、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则不能直接使用.