现场可编程门阵列 (FPGA) 与微控制器 — 有什么区别?
现场可编程门或网格阵列(FPGA)和微控制器相似,但又不一样。它们本质上都是“小型计算机”或嵌入其他设备和产品中的集成电路。主要区别在于标题。用户可以在制造后对 FPGA 的硬件进行编程,使其“现场可编程”,而微控制器只能在更肤浅的层面上进行定制。此外,FPGA 可以处理并行输入,而微控制器读取一行一次编码。
由于 FPGA 允许更高水平的个性化,FPGA 更昂贵且更难以编程。相比之下,微控制器具有成本效益,但可定制性要低得多。了解更多关于相似之处和微控制器和 FPGA 之间的差异。一个不一定比另一个更好 - 在决定使用哪一个时,要考虑多个因素。
什么是微控制器?
微控制器 (MCU) 基本上是一台小型计算机。它具有与其他计算机相同的所有元素,包括中央处理单元 (CPU)、一些随机存取存储器 (RAM) 和输入和输出设备。与可以运行数千个不同程序的台式计算机不同,微控制器是执行一个程序的专用设备。
它可以自动或根据用户要求重复做一件事。它嵌入在其他一些设备中,无论是消费者、制造商、医疗还是其他类型的产品。它以低能耗运行 —它的功耗可以用毫安来衡量。因此,微控制器往往价格适中。然而,嵌入它的设备的成本可能会有很大差异。
日常生活中随处可见微控制器。以下是一些嵌入了微控制器的消费类设备:
- 键盘
- 监视器
- 打印机
- 复印机
- 传真机
- 电话
- 电视遥控器
- 微波炉
- 洗衣机和烘干机
- 草坪洒水器
- 儿童玩具
除了消费品外,微控制器还嵌入在以下设备中:
- 红绿灯
- 汽车发动机控制系统
- 电动工具
- 植入式医疗器械
这些只是几个例子——微控制器嵌入在我们现代社会所依赖的各种设备中。每个微控制器都有特定的重复用途。它可以使用反馈控制系统自动运行,就像交通信号灯一样。或者,它可以根据用户输入信号进行操作,例如拨动开关或按下按钮。后一种概念适用于您的微波炉、洗衣机和电视遥控器。
什么是现场可编程网格阵列?
现场可编程门或网格阵列比微控制器复杂一点。大多数情况下,芯片是预先编程的。作为用户,您可以更改软件,但不能硬件。这将我们带到了 FPGA 的定义元素——你,用户,可以在购买后配置它的硬件。
工程师发现这对于他们自己的专用集成电路原型设计特别有用。事实上,英特尔使用一种 FPGA 形式来简化他们自己的原型设计过程。FPGA 也很有用,因为其中的设备FPGA 是嵌入式的,无需全新硬件即可更改。
根据“FPGAs for Dummies”给出的示例,法规可能会改变,要求车辆后视摄像头运行得更快。如果这些摄像头在 FPGA 上运行,制造商可以在不安装昂贵设备的情况下做出这种改变,全新的硬件。他们可以简单地对每辆汽车的后视摄像头中的 FPGA 进行重新编程。已经上路的汽车可以进行改造而不是淘汰。
它是如何工作的?
FPGA 有一个集成硬件电路“阵列”——这些阵列是一组可编程逻辑块。在制造过程中,FPGA 没有被配置为具有任何特定功能。相反,用户可以配置它,然后根据他们的选择重新配置它。
用户使用硬件描述语言 (HDL) 执行此操作。FPGA 具有逻辑块,如 AND 和 XOR,用户可以通过互连将它们拼凑在一起。现代 FPGA 有许多逻辑门和RAM 块,因此它们可以适应复杂的计算。一些 FPGA 还具有模数转换器或数模转换器,类似于现场可编程模拟阵列 (FPAA)。
它们的相似之处
FPGA 和微控制器具有相同的基本用途——它们都以允许制造商或最终用户确定其功能的方式构建。它们都执行特定的应用程序并嵌入到其他设备,无论是交通信号灯还是洗衣机。这种多功能性是您可以在周围找到它们的原因。感谢这些小型集成电路,我们所做的一切都变得更加容易。
对于未经训练的人来说,它们看起来大致相同。两者都是扁平的方形微型芯片,周围有可编程引脚。它们本质上都是微型计算机,为不同的目的而编程。为此因此,FPGA 和微控制器都不能用作个人计算机或台式计算机。相反,它们遵循命令以不同程度的复杂性执行一项功能。
基本组件
这些设备有几个基本的相似之处。事实上,它们由相同的基本组件组成。FPGA 和微控制器都是使用计算机逻辑和二进制操作的集成电路。
集成电路是一个平面芯片上的一组电子电路,由半导体材料(通常是硅)组成。它可以执行计算和存储数据。集成电路使用数字或模拟技术——如上所述,一些FPGA可以在两者之间进行转换。数字技术利用二进制逻辑,而模拟技术确定输入的线性函数来计算输出。
这个基本概念,输入决定输出,描述了所有计算机是如何工作的。数字技术包含一个二值逻辑系统,或二进制——一或零,开或关,是或否。它是在对微控制器或 FPGA 进行编程时,了解计算机逻辑的基础知识很重要。
自定义
此外,FPGA 和微控制器在生产后在某种程度上都是可编程的——这意味着制造商或最终用户都可以根据需要设计它们的功能并嵌入它们。这就是为什么这些设备有这么多广泛应用于各行各业。
您可以定制 FPGA 的程度使其与众不同,这就是为什么这些对于复杂、技术含量高的应用程序最有用。另一方面,微控制器更适合更简单的应用程序。
它们有何不同
FPGA 和微控制器之间的主要区别在于定制水平和复杂性。它们的价格和易用性也各不相同。从本质上讲,FPGA 允许更大的定制和更复杂的流程,因为以及对硬件的追溯更改。用户需要更多的技能和专业知识才能使用 FPGA。
虽然 FPGA 有其优势,但微控制器成本更低且更易于使用。大多数爱好者或初学者会从购买微控制器中受益,而工程公司和制造商可能更喜欢 FPGA。
微控制器
微控制器的定义特性包括:
- 它们易于使用: 任何对编码有基本了解的人都可以对微控制器进行编程。您可以使用 Javascript 或 Python 等汇编语言对微控制器进行编程,您可以通过在线课程自学。
- 价格实惠: 由于它们更易于批量生产,因此与 FPGA 相比,微控制器的前期成本更低。
- 它们并不总是适合复杂的应用程序: 微控制器的专用处理器处理所有输入和输出。因此,由于进程必须等待其他进程解决,因此可能会出现瓶颈。因为它们不允许并行功能,所以微控制器更适合用于更简单的目的。
- 它们非常适合简单的应用: 想想你的洗衣机。穿上衣服后,自定义两个或三个设置,然后按开始。同样,您的计算机鼠标只需要知道如何解释几个输入——向上滚动、向下滚动、左键单击和右键单击。对于此类简单、不变的应用,微控制器是理想的选择。
FPGA
FPGA的一些定义特征包括:
- 他们需要更多的技巧才能使用: 您需要对编码语言有基本的了解才能对 FPGA 进行编程。除了了解编码语言之外,您还需要能够跟踪大量变量。您还需要了解硬件描述语言。设计和重新设计硬件不是初学者的任务。
- 它们允许更多的并行性: FPGA 有数千个逻辑块,您可以对所有这些块进行编程。您可以创建彼此独立的进程,从而减少与微控制器一样的瓶颈实例。
- 它们允许更高级别的自定义: 简而言之,如果您知道自己在做什么,那么您可以使用 FPGA 做比微控制器更多的事情。如果您想编写复杂的程序,您需要比微控制器提供的更多的可定制性。
- 它们的成本往往更高: FPGA 的一个缺点是它们往往比微控制器更昂贵。尽管前期成本较高,但它们可以为可能需要进行追溯更改的行业节省资金——想想后视摄像头的例子。
- 它们非常适合更复杂的应用程序: 由于 FPGA 允许并行处理,因此您可以使用 FPGA 实现比使用微控制器更多的输入,而不会遇到瓶颈问题。这使得它们非常适合更复杂的操作。
- 它们允许以后更改: FPGA 的最大好处之一是硬件本身可以在初始编程后更改。因此,您可以更改设备的功能而无需完全更换其硬件。从长远来看,这更具成本效益,尤其是对于大批量生产的行业。
我应该在印刷电路板 (PCB) 中使用微控制器还是 FPGA?
印刷电路板使原理图栩栩如生。电路板的导电层越多,您可以进行的连接就越多。四层电路板将有四个导电层,带有绝缘层之间。组装PCB需要相当多的技术知识,所以如果您是第一次组装,请阅读行话。您可以选择依赖专业的PCB生产服务或PCB供应商。
您在PCB中使用微控制器还是FPGA应该取决于几个因素,包括:
- 必要的复杂程度。
- 您的专业水平。
- 您的预算,尤其是在您需要批量购买的情况下。
- 您可能需要进行追溯更改。
必要的复杂程度
FPGA 可以一次执行多行代码,允许独立的并行处理。对于高度高级的应用程序,此功能是必需的。FPGA 可以处理更复杂的输入并可以执行同时操作. 缺点是FPGA需要完美的时序和精度才能正常工作。一个微小的错误可能会使整个系统无用。
相比之下,微控制器一次只读取一行代码,按顺序处理命令。虽然这会导致瓶颈问题,但它有其优势。因为它们不那么复杂,使用试错法更容易对微控制器进行编程和重新编程。对于简单的应用,FPGA 可能比必要的复杂,并且可能使编程比需要的更难。
如果在 FPGA 的编程中出现错误,修复要复杂得多。这就引出了我们的下一点,即您在 FPGA 与微控制器之间的选择将需要取决于你的专业水平。
您的专业水平
简单来说,FPGA 不是初学者的正确选择。硬件描述语言比汇编语言需要更多的时间和经验来学习。更高水平的定制意味着需要更多的技能。如果您有丰富的计算机工程经验,FPGA 将为您提供极具吸引力的可定制性。
您的预算
请记住,FPGA 的初始成本确实比微控制器更昂贵。如果您正在寻找一些简单的东西,例如自动调光灯或温度传感器,那么相对具有成本效益的微控制器可能是更好的选择。
虽然它们的初始成本更高,但 FPGA 可以减少后期的开支——尤其是在原始组装后可能需要更改的量产对象中。
您需要追溯修改
出于各种原因,您可能会发现需要更改应用程序的硬件。在这种情况下,您会很高兴拥有 FPGA。这就是为什么这么多各行各业更喜欢 FPGA。当法律、标准、法规或需求发生变化时,改变现有的 FPGA 比实施全新的硬件系统更便宜、更耗时。
联系 Millennium Circuits 了解详情
FPGA 和微控制器对于各种用途都很有价值。它们的多功能性使它们适用于数千种应用,其中一些我们每天都在使用。了解它们之间的异同将有助于由您确定最适合您的选择。
虽然它们由相同的基本组件组成,但它们的定制水平、复杂性、价格和所需的专业知识水平不同。选择一个而不是另一个应该取决于多个因素。每个解决方案具有独特的优势和潜在的缺点。
无论您是在设计自己动手做的项目、为新产品创建原型还是希望简化技术流程,这些集成电路中的一个都一定会很有用。如果如果您对裸 PCB 上使用的 FPGA 或微控制器技术有任何疑问,请联系 Millennium Circuits Limited 的专家以获取更多信息。
工业技术