FPGA、PLC、STM32、Arduino、单片机、计算机等概念间的关系、区别及各自的优缺点
入门之初,对于标题所列各个概念总是含混不清的,这样一来,不知道自己应该从何学起,或者不知道自己想要实现的IDEA应该使用什么样的硬件系统最合适。因此,梳理一下这些概念很有必要,作者仅就所了解的信息做总结梳理,并以最通俗的语言作解释,如有不妥敬请指教~
1.先说说这里面最独特的FPGA
FPGA(Field-Programmable Gate Array):现场可编程门阵列。什么意思呢?先来看看它的构成示意图
从图中可以看出,FPGA其实可以看做是数字电路的集合,因此,它与其它名词概念所指物的最大区别就是FPGA只能称得上是一个器件。器件一般具有输入、处理、和输出,FPGA可以看作是一堆可以编程定义的门电路和用于输入、输出的IO口构成的器件。器件也必然就有器件的独特特点,那FPGA的特点是什么呢?
并行处理
处理速度极快
理论上不会运行卡死
只处理数字信号
为什么具有上述特点呢?这取决于它的工作方式,用硬件描述语言编写程序后导入到FPGA,实际上是对FPGA内部的门电路等进行直接配置,其能实现的逻辑规模取决与门电路的资源规模,只要不超过其大小,则配置结束后,你的FPGA可以看做是内部具有丰富门电路相互连接的电路集合。注意