【精品博文】勇敢的芯伴你玩转Altera FPGA连载3: FPGA、ARM和DSP
FPGA、ARM和DSP
与ASIC相比,FPGA、ARM和DSP都具备与生俱来的可编程特性。或许身处开发第一线的底层工程师要说No了,很多ASIC不是也开放了一些可配置选项,实现“可编程”特性吗?是的,但与FPGA、ARM、DSP能够“为所欲为”的任意操控一整个系统而言,ASIC的那点“可编程”性的确摆不上台面。当然,换个角度来看,FPGA、ARM和DSP都或多或少集成了一些ASIC功能,正是这些ASIC功能,加上“可编程”特性,使得它们相互区别开了,并且各自独霸一方。
ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。由ARM公司设计的处理器风靡全球,大有嵌入式系统无处不ARM的趋势。我们通常所说的ARM,更多的是指ARM公司的处理器,即ARM处理器。ARM通常包含一颗强大的处理器内核,并且为这颗处理器量身配套了很多成熟的软件工具以及高级编程语言,这也是它倍受青睐的原因之一。当然了,ARM不只是一颗处理器而已,因为在ARM内核处理器周边,各种各样精于控制的外设比比皆是,什么GPIO、PWM、AD/DA、UART、SPI、IIC……一列一箩筐。ARM的长处在控制和管理,在很多工业自动化中大有用武之地。
图1.3 ARM处理器
DSP(digital singnal processor),即数字信号处理器,是一种独特的微处理器,有自己的完整指令系统,能够进行高速、高吞吐量的数字信号处理。它不像ARM那么“胡里花俏”,它更“专”。它只专注一件事,就是对各种语音、数据和视频做运算处理;或者也可以这么说,DSP是为各种数学运算量身打造的。
图1.4 DSP处理器
相比之下,套用近些年业内比较流行的一句广告词“All Programmable”来形容FPGA再合适不过了。ARM虽然有很多外设,DSP虽然具备强大的信号运算能力,但是FPGA眼里,这些都不过是“小菜一碟”。或许说得有些过了,但是,毫不夸张的讲,ARM能做的,DSP能做的,FPGA一定也都能做;而FPGA可以做的,ARM不一定行,DSP也不一定行。这就是很多原型产品设计过程中,时不时的有人会提出给于FPGA的方案了。在一些灵活性要求高、定制化程度高、性能要求也特别高的场合,FPGA再合适不过了,甚至有时会是设计者别无选择的选择;当然了,客观的来看,FPGA固然强大,它高高在上的成本、功耗和开发复杂性还是会让很多潜在的目标客户望而却步,而在这些方面,ARM和DSP正好弥补了FPGA所带来的缺憾。
图1.5 FPGA器件
总而言之,在嵌入式系统设计领域,FPGA、ARM和DSP互有优劣,各有所长。很多时候它们所实现的功能无法简单的相互替代,否则我们就不会见到如TI的达芬奇系列ARM中有DSP、Xilinx的Zynq或Altera的Soc FPGA中有ARM的共生现象了。FPGA、ARM和DSP,它们将在未来很长的一段时间内呈现三足鼎立的局面。
在本博文留言,有机会免费获得该书!