简述单片机和FPGA的区别
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。用一句话描述就是麻雀虽小五脏俱全,可以说是一个微型电脑,而它所执行的命令就是你所写的程序。
FPGA即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。简单来说为可用电脑编译的数字逻辑芯片,而你所写的代码其实是在描述一个数字逻辑电路。
两者差别最大的是运行速度,由于后者是硬件电路,所以其速度直接取决于晶振,所以它具有运行稳定,抗干扰性强,适用于高速运行电路。
在学起来的单片机相对来说会容易很多,价格也较便宜,一些基本的算法几乎都能满足,部分单片机系列运行速度高达300M(51但单片机12M左右),再加上ARM芯片的发展,很多需要高速运行的部分都会用到,像图像处理传输等。
STM32
单片机入门不是很难,网上有很多家销售,并带有配套视频,编译语言也是我们熟悉的C语言,只要比这教程去学,学会是不会很难,硬件要求也不是很高,由于单片机学起来比较容易,所以有很多朋友从STM32开始学习,这也是可以的。
但FPGA就相对来说就难很多,由于其编译语言为Verilog,这个语言一般接触不到,但如果你有编程基础,相对来说还是容易点,现在网上也有销售的,但不是很多,资料也不是很全,目前只有部分配套教材视频,但赠送的资料还是能够让你入手,学的深度这得看个人了,至于FPGA网上也有销售,给大家推荐一款FPGA开发版,价格比较合理,有了合理的开发版和配套资料学起来就容易多了。
FPGA
再深入说一下单片机:单片机是一个微型计算机,和PC相比增加了IO口,由于其体积小,所以增加了携带便利性和学习性,同时学习单片机还可以学习硬件知识。单片机也可简单理解为在小电脑上写程序,其思路也跟电脑编译相似,也同样追求算法的效率和稳定性,对于在校大学生来说,如果经常参加一些电子类比赛那么STM32是必须要学的,像知名度比较高的全国大学生电子设计大赛还会要求使用MSP430。
FPGA由于是以硬件描述的语言,所以学起来需要一定的硬件基础,在使用中还有要求会一些电路设计,经过简单的综合与布局,快速下载到开发版上进行测试是现代IC设计验证主流,在大多数FPGA中、这些可编译元件也包含记忆元件,设计师可以根据可编程的连接把FPGA内部逻辑块连在一块,就像一个电路放在一个芯片里。通常情况下FPGA运行速度要比ASIC速度要慢,因此同样的功能,在个头上要比后者大,除了这些还具有比较差的可编译性。
到底谁更厉害,浅谈FPGA与单片机的区别
FPGA是什么?
FPGA(FieldProgrammableGateArray)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA设计不是简单的芯片研究,主要是利用FPGA的模式进行其他行业产品的设计。与ASIC不同,
FPGA在通信行业的应用比较广泛。通过对全球FPGA产品市场以及相关供应商的分析,结合当前我国的实际情况以及国内领先的FPGA产品可以发现相关技术在未来的发展方向,对我国科技水平的全面提高具有非常重要的推动作用。
工作原理
FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输入输出模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
单片机是什么?
单片机(Single-ChipMicrocomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
从二十世纪九十年代开始,单片机技术就已经发展起来,随着时代的进步与科技的发展,目前该技术的实践应用日渐成熟,单片机被广泛应用于各个领域。现如今,人们越来越重视单片机在智能电子技术方面的开发和应用,单片机的发展进入到新的时期,无论是自动测量还是智能仪表的实践,都能看到单片机技术的身影。当前工业发展进程中,电子行业属于新兴产业,工业生产中人们将电子信息技术成功运用,让电子信息技术与单片机技术相融合,有效提高了单片机应用效果。作为计算机技术中的一个分支,单片机技术在电子产品领域的应用,丰富了电子产品的功能,也为智能化电子设备的开发和应用提供了新的出路,实现了智能化电子设备的创新与发展。
单片机也被称为单片微控器,属于一种集成式电路芯片。在单片机中主要包含CPU、只读存储器ROM和随机存储器RAM等,多样化数据采集与控制系统能够让单片机完成各项复杂的运算,无论是对运算符号进行控制,还是对系统下达运算指令都能通过单片机完成。由此可见,单片机凭借着强大的数据处理技术和计算功能可以在智能电子设备中充分应用。简单地说,单片机就是一块芯片,这块芯片组成了一个系统,通过集成电路技术的应用,将数据运算与处理能力集成到芯片中,实现对数据的高速化处理。
它们之间的区别是什么?
1、结构上的区别
单片机是一种微处理器,类似于电脑CPU的,它一般采用的是哈佛总线结构,或者冯诺依曼结构,对单片机的编程很大程度上要考虑到它的结构和各个寄存器的作用,单片机用途比较广,一般用在控制流水线上,还有日常你看得到的东西上!
FPGA它的结构是查找表结构,其程序不用去太考虑芯片的结构,要注意的是时序上问题,它的结构比较复杂,功能也很强大,一般应用在通信领域等比较高端的场合,目前在国内FPGA还算是一个新兴的行业,当然它的价格也要比单片机贵得多!
单片机是一个微控制器,通过加载模块软件来实现某种功能,单片机是成型的芯片;FPGA是用来设计芯片的芯片。
2、速度上的区别
FPGA由于是硬件电路,运行速度直接取决于晶振速度,系统稳定,特别适合高速接口电路。单片机由于是单线程,哪怕是常用的M3系列流水线也是单线程执行,程序语句需要等待单片机周期才能执行。
一文看懂fpga和单片机的区别
3、本质区别
FPGA和单片机的区别,本质上是软件和硬件的区别,FPGA更偏向于硬件电路,而单片机更偏于软件。
单片机设计属软件范畴;它的硬件(单片机芯片)是固定的,通过软件编程语言描述软件指令在硬件芯片上的执行;
FPGA设计属硬件范畴,它的硬件(FPGA)是可编程的,是一个通过硬件描述语言在FPGA芯片上自定义集成电路的过程;
4、应用上的区别
应用上,差别更大。MCU最终所有的指令在一个MCU中都是顺序执行的,而FPGA由于是逻辑单元,很容易做到并行执行。
5、入门难易程度
单片机比FPGA简单些,价格也低一些。要做PID算法控制的用单片机可以,STM32F4系列已经到300M+跑PID完全足够,如果是跑嵌入式的话可以上ARM芯片。涉及通信、图像等高速部分可以采用单FPGA模块。
相关问答
关于 FPGA 和 单片机的区别 ?1.硬件结构不同:FPGA是一种可重新编程的硬件,由大量的逻辑门阵列和高速片选资源组成;而单片机则是一种可编程模块,由中央处理器、存储器、输入输出接口和时...
cpld和 单片机的区别 ?本人研发cpldfpga和单片机有好多年了。这个问题对于学习cpld和单片机的人来说,必须要弄懂,要不然会深刻的影响到后续的学习进度的。cpld是硬件逻辑器件,说的...
fpga 是属于 单片机 吗?不,FPGA(现场可编程门阵列)并不属于单片机。单片机是一种集成了处理器、存储器和输入/输出功能的芯片,而FPGA是一种可编程逻辑器件,通过在可编程逻辑单元中...
嵌入式系统和 单片机的区别 ? - 188****6825 的回答 - 懂得分类是比较模糊的!一般来说:嵌入式系统包括:1、嵌入式微控制器(16位、8位、以及8位以下的CPU,典型代表就是单片机)2、嵌入式微处理器(32位,以及32位...
嵌入式系统和 单片机的区别 ? - SPPf4D7O73A 的回答 - 懂得广义的嵌入式系统包括单片机,但现在一般把有操作系统的叫嵌入式系统,裸奔的叫单片机。分类是比较模糊的!一般来说:嵌入式系统包括:1、嵌入式微控制...
PLC就是 单片机 吗?如果不是,他们的 区别 是什么?以下仅为个人理解:PLC是产品,单片机是元件。二者关系犹如汽车之于发动机,电视机之于显像管……PLC内部的主控芯片多数也是单片机、FPGA或ARM之类的微控制器...
各位老铁 求了解,为什么我觉得 单片机 开发比 FPGA 开发要难?,...[回答]服务热情,公司环境设备先进,价格合理品控做的不错,据说他们生意做的也很好。公司方案设计水平真不错,技术过硬,我们跟他们合作过,项目开发非常负责,...
fpga 和芯片的 区别 ?单片机,可以把程序下进去,加一些外围电路和器件,如显示器,按键输入,实现某些固定的控制功能,在现代家电、玩具里有很广泛的应用。FPGA是可以取代一些很复杂...
DSP 与单片机的区别 是什么?不能不首先说说CPU。1.CPU叫中央处理器,是计算机的核心,其中可以执行指令,可以进行算数和逻辑运算。CPU的种类很多,很多,不同半导体公司有不同的CPU,Intel...
PLC属于 单片机 吗?PLC是产品,单片机是元件。二者关系犹如汽车之于发动机,电视机之于显像管……PLC内部的主控芯片多数也是单片机、FPGA或ARM之类的微控制器PLC的开关量输入输...