1.3 DSP系统

1.3.1 DSP系统的构成

通常,一个典型的DSP系统应包括抗混叠滤波器、数据采集A/D转换器、数字信号处理器DSP、D/A转换器和低通滤波器等,其组成框图如图1.3.1所示。

图1.3.1 典型的DSP系统组成框图

系统的输入信号x(t)有各种各样的形式,可以是语音信号、传真信号,也可以是视频信号,还可以是来自电话线的已调数据信号。

DSP系统的处理过程:

① 将输入信号 x(t)进行抗混叠滤波,滤掉高于折叠频率的分量,以防止信号频谱的混叠;

② 经采样和A/D转换器,将滤波后的信号转换为数字信号x(n);

③ 数字信号处理器对x(n)进行处理,得数字信号y(n);

④ 经D/A转换器,将y(n)转换成模拟信号;

⑤ 经低通滤波器,滤除高频分量,得到平滑的模拟信号y(t)。

需要指出的是DSP系统可以由一个DSP芯片和外围电路组成,也可以由多个DSP芯片及外围电路组成,这完全取决于对信号处理的要求。另外,并不是所有的DSP系统都必须包含框图中所有的部分。例如,语音识别系统的输出并不是连续变化的波形,而是识别的结果,如数字、文字等。

1.3.2 DSP系统的特点

数字信号处理系统是以数字信号处理为基础,因此具有数字处理的全部优点。

(1)接口方便

DSP系统提供了灵活的接口,可以与其他以现代数字技术为基础的系统或设备相互兼容,这样系统接口所实现的某种功能要比模拟系统与这些系统接口容易得多。

(2)编程方便

DSP系统中的可编程DSP芯片可使设计人员在开发过程中灵活方便地对软件进行修改和升级,可以将C语言与汇编语言结合使用。

(3)具有高速性

DSP系统的运行速度较高,最新的DSP芯片运行速度高达10GMIPS以上。

(4)稳定性好

DSP系统以数字处理为基础,受环境温度及噪声的影响较小,可靠性高,无器件老化现象。

(5)精度高

16位数字系统可以达到10-5的精度。

(6)可重复性好

模拟系统的性能受元器件参数性能影响比较大,而数字系统基本不受影响,因此数字系统便于测试、调试和大规模生产。

(7)集成方便

DSP系统中的数字部件有高度的规范性,便于大规模集成。

当然,数字信号处理也存在一定的缺点。例如,对于简单的信号处理任务,如与模拟交换线的电话接口,若采用DSP则使成本增加。DSP系统中的高速时钟可能带来高频干扰和电磁泄漏等问题,而且DSP系统消耗的功率也较大。此外,DSP技术更新的速度快,对数学知识要求高,开发和调试工具还不尽完善。

虽然DSP系统存在着一些缺点,但其突出的优点已经使其在通信、语音、图像、雷达、生物医学、工业控制、仪器仪表等许多领域得到越来越广泛的应用。

1.3.3 DSP系统的设计过程

对于一个DSP应用系统,其设计的过程如图1.3.2所示。依据设计过程,其设计步骤可以分为如下几个阶段。

图1.3.2 DSP应用系统设计流程图

(1)明确设计任务,确定设计目标

在进行DSP应用系统设计之前,首先要明确设计任务,写出设计任务书。在设计任务书中,应根据设计题目和要求,准确、清楚地描述系统的功能和完成的任务,描述的方式可以用人工语言描述,也可以是流程图或算法描述。然后根据任务书来选择设计方案,确定设计目标。

(2)算法模拟,确定性能指标

此阶段主要是根据设计任务和设计目标,确定系统的性能指标。首先应根据系统的要求进行算法仿真和高级语言(如 MATLAB)模拟实现,以确定最佳算法,然后根据算法初步确定相应的参数。

(3)选择DSP芯片和外围芯片

根据算法的要求(如运算速度、运算精度和存储器的需求等)来选择DSP芯片和外围芯片。

(4)设计实时的DSP应用系统

这个阶段主要完成系统的硬件设计和软件设计。首先,应根据选定的算法和DSP芯片,对系统的各项功能是用软件实现还是硬件实现进行初步的分工。然后根据系统的要求进行硬件和软件设计。硬件设计主要根据设计要求,完成DSP芯片外围电路和其他电路(如转换、控制、存储、输出、输入等电路)的设计。而软件设计主要根据系统的要求和所设计的硬件电路,编写相应的DSP汇编程序,也可以采用C语言编程或C语言与汇编语言混合编程。

(5)硬件和软件调试

硬件和软件调试可借助开发工具完成。硬件调试一般采用硬件仿真器进行,而软件调试一般借助DSP开发工具进行,如软件模拟器、DSP开发系统或仿真器等。软件调试时,可在DSP上执行实时程序和模拟程序,通过比较运行的结果来判断软件设计是否正确。

(6)系统集成和测试

当完成系统的软、硬件设计和调试后,将进入系统的集成和调试阶段。所谓系统的集成是将软硬件结合组装成一台样机,并在实际系统中运行,以评估样机是否达到所要求的性能指标。若系统测试结果符合指标,则样机的设计完成。在实际的测试过程中,由于软、硬件调试阶段的环境是模拟的,所以在系统测试中往往会出现一些精度不够、稳定性不好等问题。对于这种情况,一般通过修改软件的方法来解决。如果仍无法解决,则必须调整硬件,此时的问题就比较严重了。

1.3.4 DSP芯片的选择

在进行DSP系统设计时,选择合适的DSP芯片是非常重要的一个环节。通常依据系统的运算速度、运算精度和存储器的需求等来选择DSP芯片。只有选定了DSP芯片,才能进一步设计其外围电路及系统的其他电路。总的来说,DSP芯片的选择应根据实际应用系统的需要而定。不同的DSP应用系统由于应用场合、应用目的等不尽相同,对DSP芯片的选择也不同。一般来说,选择DSP芯片时应考虑如下一些因素。

1.DSP芯片的运算速度

DSP芯片的运算速度是一个最重要的性能指标,也是选择DSP芯片时所要考虑的一个主要因素。DSP芯片的运算速度可以用以下几种性能指标来衡量。

① 指令周期:即执行一条指令所需的时间,通常以ns(纳秒)为单位。如果DSP芯片平均在一个周期内可以完成一条指令,则该周期等于DSP主频的倒数。如 TMS320VC5402-100芯片在主频为100MHz时的指令周期为10ns。

② MAC时间:即完成一次乘法-累加运算所需要的时间。大部分DSP芯片可在一个指令周期内完成一次乘法和一次加法操作,如TMS320VC5402-100的MAC时间为10ns。

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

④ MIPS:即每秒执行百万条指令。如TMS320VC5402-100的处理能力为100MIPS,即每秒可执行1亿条指令。

⑤ MOPS:即每秒执行百万次操作。如TMS320C40的运算能力为275 MOPS。

⑥ MFLOPS:即每秒执行百万次浮点操作。如TMS320C31在主频为40MHz 时的处理能力为40 MFLOPS。

⑦ BOPS:即每秒执行十亿次操作。如TMS320C80的处理能力为2 BOPS。

2.DSP芯片的价格

DSP芯片的价格也是选择DSP芯片所需考虑的一个重要因素。若采用价格昂贵的DSP芯片,即使性能再高,其应用范围肯定会受到一定的限制。因此,芯片的价格是DSP应用产品能否规模化、民用化的重要决定因素。在系统的设计过程中,应根据实际系统的应用情况来选择一个价格适中的DSP芯片。当然,由于DSP芯片发展迅速,DSP芯片的价格往往下降较快,因此,在系统的开发阶段,可选用某种价格稍贵的DSP芯片,等到系统开发完毕后,其价格可能已经下降一半甚至更多。

3.DSP芯片的运算精度

定点DSP芯片的字长通常为16位,如TMS320系列。但有些公司的定点芯片为24位,如Motorola公司的MC56001等。浮点芯片的字长一般为32位,累加器为40位。虽然合理地设计系统算法可以提高和保证运算精度,但需要相应地增加程序的复杂性和运算量。通常在算法确定后折中考虑。

4.DSP芯片的硬件资源

不同的DSP芯片所提供的硬件资源是不相同的,如片内RAM、ROM的数量,外部可扩展的程序和数据空间,总线接口,I/O接口等。即使是同一系列的DSP芯片(如TI的TMS320C54x系列),不同型号的芯片,其内部硬件资源也有所不同。

5.DSP芯片的开发工具

快捷、方便的开发工具和完善的软件支持是开发大型、复杂DSP应用系统的必备条件。如果没有开发工具的支持,要想开发一个复杂的DSP系统几乎是不可能的。所以,在选择 DSP芯片的同时必须注意其开发工具的支持情况,包括软件和硬件的开发工具等。近几年来,各大DSP供应厂商已经重视并努力解决这一问题。如TI公司推出的Code Composer Studio集成开发环境、eXpressDSP实时软件技术、DSP/BIOS 和 TM’dDSP算法标准为用户快速开发实时、高效的应用系统提供了帮助。

6.DSP芯片的功耗

在某些DSP应用场合,功耗也是一个需要特别注意的问题。如便携式的DSP设备、手持设备、野外应用的DSP设备等都对功耗有特殊的要求。目前,3.3V供电的低功耗高速DSP芯片已大量使用。

7.其他因素

选择DSP芯片还应考虑封装的形式、质量标准、供货情况、生命周期等。

通常情况下,定点DSP芯片的价格较便宜,功耗较低,但运算精度稍低。而浮点DSP芯片的优点是运算精度高,且 C语言编程调试方便,但价格稍贵,功耗也较大。例如 TI 公司的TMS320C2/C54 系列属于定点DSP芯片,低功耗和低成本是其主要的特点。而TMS320C3x/C4x/C67x属于浮点DSP芯片,运算精度高,用C语言编程方便,开发周期短,但同时其价格和功耗也相对较高。