早期的嵌入式系统一般是以通用处理器或单片机为核心,在外围电路中加入存储器、功率驱动器、通信接口、显示接口、人机输入接口等外围接口,再加上应用软件,有些还加上了嵌入式操作系统,从而构成完整的系统。随着微电子技术的进步,SoC已经在很多应用中取代了传统的以单片机为中心的架构,将很多外设和存储器集成在一个芯片中,使系统的功耗和体积越来越小,而功能却越来越强。现在的MCU和DSP的功能已经非常强了,但处理能力毕竟
早期的嵌入式系统一般是以通用处理器或单片机为核心,在外围电路中加入存储器、功率驱动器、通信接口、显示接口、人机输入接口等外围接口,再加上应用软件,有些还加上了嵌入式操作系统,从而构成完整的系统。
随着微电子技术的进步,SoC已经在很多应用中取代了传统的以单片机为中心的架构,将很多外设和存储器集成在一个芯片中,使系统的功耗和体积越来越小,而功能却越来越强。
现在的MCU和DSP的功能已经非常强了,但处理能力毕竟还是有限的,厂商在推出一款器件的时候,其性能就已经固定了。当某一款产品的性能无法满足要求时,就必须选用新的处理器,常常意味着重新进行PCB的设计,重新进行各项软硬件的验证测试,所导致的工程资源的浪费是非常惊人的。
FPGA是通过逻辑组合来实现各种功能的器件,几乎可以进行任何类型的处理;对于常用的数字信号处理,有些FPGA专门还提供了DSP模块来实现加速;FPGA的并行处理架构非常适合图像处理、数字信号处理等运算密集的应用;用某款芯片无法满足要求时,还可以通过使用同样封装且容量更大的FPGA芯片来提供更高的处理能力,这样就可以保持管脚的兼容性,从而无须对PCB板进行修改;FPGA的可编程性使设计工程师可以随时对设计进行修改,即使在产品部署后也能对设计错误进行更正;FPGA不但可以完成MCU和DSP的各种功能,还可以根据需要生成新的功能,或者调配各项功能之间的资源配比,使同一个硬件电路设计可以满足不同的应用需求;FPGA还可以利用现成的处理器内核,直接生成软处理器,并在其上运行操作系统。
由于FPGA是通过逻辑组合来实现功能的,所以其功耗和成本一般高于MCU和DSP。在几年前,FPGA给人的印象一直是高高在上的价格,除了通信、航天、军工、工业等少数行业,FPGA更多地是在扮演原型验证开发的角色,在消费类电子等更广大的市场中迟迟未打开局面。
随着Xilinx和Altera竞相采用新的制造工艺,其单位门电路的价格下降得比ASIC还要快,价格在很多应用中已不再是障碍了。特别是在一些需要特定功能的应用中,设计师在市场上找不到可以满足要求的器件,他们就必须自己开发ASIC芯片,或者用FPGA进行设计。但开发ASIC的成本和风险在不断提高,甚至超过了未来的收益,用FPGA就成了一个非常实际的选择。