半导体是一种常规情况下介于导电与不导电之间的材料.它能在一定条件下转换为导体或者说绝缘体,半导体不仅引起了电子工业的革命,而且彻底的改变了我们人类的生产、生活方式。

上一篇 | 下一篇

DSP实现方案的比较与应用选择

发布: 2007-11-24 16:17 | 作者: 琉璃 | 来源: Internet | 查看: 164次

数字信号处理(Digital Signal Processing ,简称DSP)是一种利用计算机或专用处理设备,以数字形式对信号进行采集、变换、滤波、估值、增强、压缩、和识别等处理,以得到符合人们需求的信号形式的一种技术。DSP作为一门随着信息学科和计算机学科的高速发展而迅速发展起来的新兴学科,其应用领域甚为广泛,涉及民用电器、多媒体系统、雷达卫星系统、移动通信、网络会议、医学仪器、实时图像识别与处理、联合战术无线电系统、智能基站等方面。面对不同的场合与需求,DSP的实现有多种方案,本文对此进行分析和比较,希望能对学习DSP技术以及准备应用DSP技术进行设计的人员有所启发和帮助。

2 几种DSP实现方案比较

根据使用目的及应用场合的不同,数字信号处理的实现方法一般可分为以下几种:

(1)在通用的计算机上(如PC机上)用软件(如C语言、Basic语言等)实现。软件是自己编写的,也可以使用现成的软件包。这种方法缺点是速度太慢,不能用于实时系统,只能用于教学和仿真研究。而MATLAB软件下的部分仿真程序可以通过转化为C语言,再通过DSP的C编译器直接在DSP硬件上运行,这对实时系统和算法研究来说是很有吸引力的。

(2)在通用计算机系统中加上专用的加速处理机实现。加速卡可以是通用的加速处理机,也可以是由DSP开发的用户加速卡。如果加速卡是用户开发的加速卡,那么在日益复杂的控制系统中,在DSP芯片价格日益下降的条件下,这一方法是很常用的。但是,由于大数据量处理时,加速卡和计算机之间的数据交换速度比较慢,要求传输的数据量大,因而通用计算机只能起到管理者的作用,而不参与实时处理。

(3)用通用的单片机实现。这种方法可用于一些不太复杂的数字信号处理,如数字控制等;但由于单片机采用的是冯诺依曼总线结构,所以单片机在运算量大实时控制系统中很难有所作为。

(4)用专用的DSP芯片实现。在一些特殊的场合,要求的信号处理速度极高,用通用DSP芯片很难实现,例如专用于FFT、数字滤波、卷积、相关等算法的DSP芯片,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无需进行编程。使用专用DSP芯片时,使用者给出输入数据,经过简单的组合就可以在输出端得到结果。这一般用于对速度要求很高的场合。这种方案的缺点是灵活性差,而且开发工具还不够完善,不适用于个人和小型单位开发。

(5)用通用的可编程数字信号处理器(Programmable Digital Signal Processor,后简称PDSP)实现。与单片机相比,通用PDSP具有更加适用于数字信号处理的软件和硬件资源,可用于复杂的数字信号处理算法,是可用指令/软件编程的DSP。可选用的产品有TI公司的TMS320系列DSP芯片,AD公司的ADSP系列产品,以及Motorola等公司的产品。这种DSP芯片应用领域较广,正广泛于信号处理、通信、语音图像图形处理、仪器仪表、自动控制、医疗仪器、民用电器、雷达处理导航与导弹制导等诸多领域。

(6)用FPGA(Field-programmable Gate Array)等可编程门阵列实现数字信号处理算法(称基于FPGA的DSP)。许多FPGA生产公司(如Altera、Xilinx等)都提供软件或VHDL等开发语言,通过软件编程用硬件实现特定的数字信号处理算法。这一方法由于具有通用性的特点,并可以实现算法的并行运算,无论是作为独立的数字信号处理器还是作为DSP芯片的协处理器,目前都是比较活跃的研究领域。而且,近年来,一些公司开发和设计出把FPGA和DSP以及ARM等芯片结合在一起的大型可编程逻辑器件,成为今后几年数字信号处理实现的一个很重要的方向。

综上所述,在几种方法中,第一种方法的缺点是速度慢,一般可用于DSP算法的模拟;第二种方法和第四种方法专业性强,应用受到很大限制,第二种方法也不便于系统的独立运行;第三中算法也只适用于简单的DSP算法;第五种方法使数字信号处理的应用打开了新的局面。这种方法兼具有上述几种方法的优点,既有灵活性,有处理速度快、能力强、可做到实时性。实际上通常讲的数字信号处理器(Digital Signal Processor,简称DSPs或DSP)就是为了实现高速、实时信号处理的单片可编程微处理器芯片,在本文里称为PDSP。

3 两种主流技术进一步对比

通用PDSP和基于FPGA的DSP是当今两大主流数字信号处理算法实现技术,引领着DSP技术应用的发展潮流。很有必要进一步对这两种DSP技术实现方案作对比和说明,希望对应用DSP技术进行系统开发的研究人员提供有益的帮助。下面针对这两种技术方案,从硬件结构及性能、开发流程、开发技术标准化、仿真测试、及知识产权自主性等方面进行比较说明,并对应用方案的选择提出建议。

(1) 硬件结构及性能发展方面

通用PDSP是一种基于精简指令集计算机(Reduced Instruction Set Computer,RISC)的范例。通用PDSP都采用了数据总线和程序总线分离的哈佛结构及改进哈佛结构,由至少一个快速阵列乘法器和一个扩展字宽的累加器构成,具有指令流控制,一个指令字可以同时控制片内多个功能单元的操作。其优势源于大多数信号处理算法的乘-累加运算(multiply and accumulate,MAC)都是非常密集的。通过多级流水线结构,DSP可以获得仅仅受阵列乘法器的速度限制的MAC速度。通用PDSP的优势主要是具有很好的通用性和灵活性,与普通单片机应用系统十分相似,只要将调好的机器码放在程序ROM中,就能使系统正常工作。

在PDSP中增加更多的MAC单元能进一步提高DSP的吞吐量,但对于某些一般数据处理量比较达的DSP算法,其通用性却下降了,例如Viterbi编译码器和FIR滤波器就属于这种情况,为解决这个问题,PDSP生产商有将一些专用的硬件加速器类的协处理器模块加入进处理器结构。如Viterbi协处理器、Turbo协处理器和增强性滤波器协处理器等。由于这些协处理器本身的非通用性,即主要是倾向于某种或某些算法的协处理器,从而导致了PDSP无法适用于多种类型的DSP算法和DSP技术应用。结果成本增加,通用性下降了。因此大部分的DSP应用场合并没有从这种增加了各种硬件加速器的DSP结构的变化中得到好处。不但如此,这种硬件加速器模块是一种固定的硬件结构,无法根据特定的需要作任何更改,特别是面向当今通信领域中的不断发生的各种技术标准和协议的变更,这种加速器模块很容易过时,从而导致整个DSP系统的过时。另外,多片DSP处理器并行工作时,虽然可以弥补速度和吞吐量的不足,但同时也带来了系统在灵活性、功耗、成本、体积、可靠性等技术性能的进一步变差通用PDSP处理器的灵活性主要体现在软件更改的容易以及对各种算法处理和复杂算法的实现上,而对硬件本身的更改则没有任何灵活性而言。

FPGA器件是由大量的逻辑宏单元组成的,通过配置,可以使这些逻辑宏单元形成不同的硬件结构,从而构成不同对电子系统,完成不同的功能。由FPGA构成的DSP电路可以同样以并行或顺序方式工作,并行工作方面,FPGA与专用DSP器件相当,远优于通用PDSP处理器,对于PDSP处理器需要大量运算指令完成的工作,FPGA可在一个周期内完成。而在顺序执行方面,FPGA比通用DSP快,同时FPGA中可以使用各种状态机,或使用嵌入式微处理器来完成工作,并且,每一顺序工作的时钟周期中能同时并行完成许多执行,而通用PDSP处理器却不能。故FPGA具有明显的速度优势。另一方面,基于FPGA的DSP在各种应用场合具有主硬件用户可定制性以及可重配置性,硬件方面表现出极大的灵活性,可根据需要通过改变FPGA中构成DSP系统的硬件结构来改变硬件的功能、技术指标、通信方式、硬件加密算法、编解码方式等。随着达数百万门高密度的FPGA的出现,FPGA在原有的高密度的逻辑宏单元基础上嵌入许多面向DSP专用硬核模块,结合大量可配置于FPGA硬件结构中的参数化的DSP IP软核,DSP开发者能十分容易地将整个DSP系统实现在一片FPGA中,从而实现了所谓的可编程SOC(system on chip ),即SOPC(a System On a Programmable Chip)。迅速发展的FPGA以它高速高带宽的优势在DSP技术应用上显示其光辉前程。

应用广泛的通用P DSP处理器正面临着FPGA的竞争,并且这种竞争日趋激烈。在先进通信基础设施应用中,信号处理的工作量正在超出通用PDSP的承受能力,这就为其它新类型器件如FPGA进入这些应用带来机会。

字号: | 推荐给好友

 

评分:0

我来说两句

seccode