论坛» 嵌入式开发» MCU

与单片机相比FPGA的优势在哪?谁来回答一下?

菜鸟
2008-03-14 16:26 1楼
与单片机相比FPGA的优势在哪?谁来回答一下?
助工
2008-03-14 17:42 2楼

谈不上谁比谁有优势。单片机成本低,编程方便,内部集成了cpu和一些控制单元。而fpga更加灵活,但成本较高,编程较复杂。

菜鸟
2008-03-14 22:10 3楼
感觉LZ提出的这个比较不是很合适,单片机和FPGA定位和价格差别都很大。提单片机一般都是指8/16的CPU,不知道LZ所指是否包括ARM?
菜鸟
2008-03-14 22:11 4楼
转一篇FPGA,DSP和ARM的比较供LZ参考:

FPGA是英文Field Programmable Gate Array(现场可编程门阵列)的缩写,它是在PAL、GAL、PLD等可编程器件的基础上进一步发展的产物,是专用集成电路(ASIC)中集成度最高的 一种。FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。它还具有静态可 重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。作为专用集成电路(ASIC)领域中的一种半定制电路,FPGA既解决了 定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。可以毫不夸张的讲,FPGA能完成任何数字器件的功能,上至高性能CPU,下至简单的74电 路,都可以用FPGA来实现。FPGA如同一张白纸或是一堆积木,工程师可以通过传统的原理图输入法,或是硬件描述语言自的设计一个数字系统。通过软件仿 真,我们可以事先验证设计的正确性。在PCB完成以后,还可以利用FPGA的在线修改能力,随时修改设计而不必改动硬件电路。使用FPGA来开发数字电 路,可以大大缩短设计时间,减少PCB面积,提高系统的可靠性。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此工作时需要对片内的RAM 进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工 作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的 EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功 能。因此,FPGA的使用非常灵活。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。目前FPGA的品种很多,有XILINX的 XC系列、TI公司的TPC系列、ALTERA公司的FIEX系列等。
区别是什么涅?:ARM具有比较强的事务管理功能,可以用来跑界面以及应用程序等,其优势主要体现在控制方面,而DSP主要是用来计算的,比如进行加密解 密、调制解调等,优势是强大的数据处理能力和较高的运行速度。FPGA可以用VHDL或verilogHDL来编程,灵活性强,由于能够进行编程、除错、 再编程和重复操作,因此可以充分地进行设计开发和验证。当电路有少量改动时,更能显示出FPGA的优势,其现场编程能力可以延长产品在市场上的寿命,而这 种能力可以用来进行系统升级或除错。
助工
2008-03-18 10:54 5楼
1,FPGA运行速度快
FPGA内部集成锁项环,可以把外部时钟倍频,核心频率可以到几百M,而单片机运行速度低的多.在高速场合,单片机无法代替FPGA
2,FPGA管脚多,容易实现大规模系统
单片机IO口有限,而FPGA动辄数百IO,可以方便连接外设.比如一个系统有多路AD,DA,单片机要进行仔细的资源分配,总线隔离,而FPGA由于丰富的IO资源,可以很容易用不同IO连接各外设
3,FPGA内部程序并行运行,有处理更复杂功能的能力
单片机程序是串行执行的,执行完一条才能执行下一条,在处理突发事件时只能调用有限的中断资源;而FPGA不同逻辑可以并行执行,可以同时处理不同任务,这就导致了FPGA工作更有效率
4,FPGA有大量软核,可以方便进行二次开发
FPGA甚至包含单片机和DSP软核,并且IO数仅受FPGA自身IO限制,所以,FPGA又是单片机和DSP的超集,也就是说,单片机和DSP能实现的功能,FPGA一般都能实现
菜鸟
2008-03-19 13:28 6楼

各有千秋。

助工
2008-03-20 11:04 7楼
1,FPGA运行速度快
2,FPGA管脚多,容易实现大规模系统
3,FPGA内部程序并行运行,有处理更复杂功能的能力
4,FPGA有大量软核,可以方便进行二次开发
共7条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]