常所说的单片机侧重于控制,不支持信号处理,属于低端嵌入式处理器,arm可以看做是低端单片机升级版,支持操作系统管理,更多接口如网卡,处理能力更强;fpga是可编程逻辑器件,侧重时序,可构建从小型到大型的几乎所有数字电路系统,DSP主要完成复杂的数字信号处理,如fft,通常一个复杂系统可以由单片机、arm、FPGA、dsp中的一种或几种构成,各有优势和不足。 dsp通常用于运算密集型,fpga用于控制密集型,许多人都用dsp高算法,用fpga 作外围控制电路。 去年xilinx在北京介绍FPGA和DSP融合的时候,大有席卷DSP和FPGA市场之势。但后来在实际中发现其阻力也是不小的,关键是很难搭配FPGA和DSP的比重。我们知道FPGA擅长各种控制(也包括适时性非常高的信号处理如移动通信中基带滤波,该滤波用C5000,C6000很难胜任,除非多芯片并行),DSP擅长各种信号处理运算,但在一个系统中究竟有多大的控制电路,有多少密集运算?变数是很大的,我们不可能用一个芯片解决这个问题。对于运算密集性系统,我们如果使用这种芯片的话很有可能还要其他DSP,那么我们需要了解多种DSP编程和接口设计,这是否与我们的初衷背道而驰呢? 上面都是一些基本概念的介绍,下面我就来通俗介绍一下,在DSP里,你是一个软件设计者,硬件已经完全固化,你所要做的,就是在这个固定的硬件平台实现其功能的最优化,一般TI的DSP涉及最多的是一些基本的BIOS操作系统之间的任务调度,以及算法改进与优化等待, DSP的关键优势包括其对于新型及复杂算法时的更短的开发时间,以及能够运行多种算法的灵活性。 而对于FPGA来说,你是一个硬件设计者,FPGA就是一张白纸,上面写什么,画什么都取决于你。同样一片FPGA,菜鸟和高手实现的功能会是天壤之别,FPGA的最大优势在于硬件实现已及通过并行处理实现的效率增益。使用FPGA,您大多的时间并非进行算法设计与优化,而是逻辑设计与时序约束等等。 FPGA与DSP关系:
1、 DSP侧重于核心算法处理,FPGA侧重于外围控制处理。 2、 DSP内是用C语言编写,语言执行是串行处理,效率比较低。 FPGA侧重于并行处理,效率较高;还有交合逻辑(外围接口、通讯等); FPGA发展领域: 使用领域:电子设计、通讯、汽车、军工 不适合:消费类产品(手机)―FPGA功耗高; FPGA技术难点:
1、 需要专门的硬件语言来开发 2、 FPGA灵活性比较高,设计是由工程师来决定,需要测试验证 主图: |