FPGA与微控制器对比(FPGA 系列之二)

原创 陈芝麻 2024-03-24 10:12

微控制器无处不在,如果你是一个嵌入式软件工程师,你可能会注意到有不少玩具、工具、小配件和设备,它们都是由小而便宜的微控制器控制的,从电视遥控器到咖啡壶再到会说话的玩具,应有尽有;如果你是一名电子爱好者,你可能会熟悉Arduino,它由Atmel(现在的MicrochipTechnology公司,曾经的Actel公司也属于这家公司)的一个小型微控制器驱动,数以百万计的Arduinos已销售给世界各地的爱好者,它们便宜,有趣,而且相对容易使用。

那么,为什么到处都是微控制器,却没有FPGA呢?为什么FPGA无法控制咖啡机或让Elmo娃娃活过来?主要原因是成本。消费电子行业对成本非常敏感,总体上使用的微控制器数量最多。消费者想要买到最便宜的产品,生产这些产品的公司会尽可能地压缩每一分钱来实现这一目标。

微控制器的种类繁多,每种微处理器都为一个专用目的而设计,这有助于企业降低成本。例如,如果需要一个模数转换器(ADC)、两个USB接口和至少30个通用输入/输出(GPIO)引脚,则有一款微控制器完全符合这些规格。如果只需要一个USB接口怎么办?可能也有其他种类的微控制器具备这些规格。具备这样的多样性,就没有必要为额外的功能付费了,公司可以找到一个最便宜的微控制器,并在此过程中节省资金。

FPGA的通用性要大得多。使用单个FPGA,可以创建5个不带USB接口的ADC接口,或者创建3个不带ADC接口的USB接口。FPGA是一张白纸,许多不同的内部线路(称为路由)来支持所有这些不同的应用需求,路由增加了成本和复杂性。在绝大多情况下,你不会为不需要的额外功能和灵活性付费。

另一个影响成本的因素是数量。如果购买1000万个微控制器,将比只购买100,000个FPGA花更少的钱,这在消费电子领域并非不切实际。与此同时,FPGA通常以相对较少的数量生产和销售,因此它们的单位成本更高。这有点像鸡生蛋还是蛋生鸡的问题,如果FPGA数量多了,价格会更低,但数量一多,就必须降低价格。那么如果FPGA的成本和微控制器的成本一样,会使用更多的FPGA吗?很可能会有,但FPGA的使用更为复杂,这对FPGA不很有利。

由于微控制器是为特定用途而设计的,因此设置起来相对容易,可以在几个小时内完成微控制器的设置和运行。相比之下,需要对FPGA内部的所有组件进行编程,这非常耗时。尽管有一些硬IP模块可以让你入门,但大部分设备是可编程逻辑,也即是一片空白---需要自行设计。用Verilog或VHDL语言编写代码也比用C语言编写代码花费更长的时间,通常用C语言编写微控制器程序,C语言在高层级上编写代码,用一行代码可以做更多事情。使用Verilog和VHDL编码的层级要低得多:需要用代码创建独立的门和走线。可以把低层级编程想象成使用单个的乐高积木,高层级编程想象成使用预先构造好的乐高积木。这增加了复杂性,增加了时间,也增加了成本。工程师希望得到最简单的解决方案,而大多数情况下,微控制器比FPGA更简单。

另一个需要考量的因素是设备消耗的电量。许多电子设备都是靠电池运行的,因此通过尽可能降低设备的功耗来最大限度地延长其使用时长变得至关重要。消耗的电力越多,越需要经常更换电池,没有人愿意这样做。此外,由于微控制器是为特定用途而设计的,因此可以对其进行优化,以实现极低的功耗,例如,单节AAA电池可为蓝牙鼠标供电数月。FPGA在所有资源间路由,其功耗根本无法与微控制器的功耗竞争。这并不意味着不能在电池供电的应用中使用FPGA,但是在功耗方面,微控制器往往每次都会赢。

总之,微控制器在成本、易用性和功耗方面占据主导地位,那么为什么还会有人使用FPGA而不使用微控制器呢?还有其他的因素需要考虑,比如速度和灵活性,而在这两方面,形势转而对FPGA有利。

提到速度时,指的是带宽和计算。带宽是通过一条通路的数据传输速率,FPGA具有非常大的带宽,远远超过微控制器所能达到的带宽,它们可以轻松处理每秒数百千兆比特的数据。当驱动多个4K显示器时,这非常有用,FPGA通常用于需要大量带宽数据流的视频编辑硬件中,FPGA的高带宽使其能够以非常快的速率通过各种外部接口(USB-C、以太网、ADC、存储器等)传输大量数据。

至于计算速度,FPGA在一秒钟内完成的数学计算量使得微控制器相形见绌。微控制器通常只有一个处理器,并且由于所有的计算都由同一个处理器完成,所以每秒可以执行的计算数量有限。而FPGA可以并行运行多个计算,例如,可以同时运行数百个乘法运算,这在微控制器上根本不可能实现。FPGA在运行大型数学滤波器时,通常以非常快的速率进行众多乘法和加法运算,非常管用。

FPGA的另一个主要优点是它的灵活性。虽然微控制器的种类繁多,然而这只是一个小优势。如果有特殊的设计需求,比如说,如果需要16个ADC接口,无法找到能满足这一需求的微控制器。而FPGA的限制则要少得多,FPGA就像一块空白板,可以通过编程完成几乎任何事情,提供了巨大的灵活性,得以解决大量的数字逻辑问题。

当遇到工程问题时,应尽可能选择最好的工具来解决它。通常微控制器是首选,但偶尔由于速度或灵活性的问题,它却根本无法工作。此时FPGA是一个很好的候选者,当然,还有另一种设备值得考虑:ASIC。

扫码有惊喜:

陈芝麻 Altium Designer 22 电路设计与仿真实战从入门到精通一书作者
评论
  • TOF多区传感器: ND06   ND06是一款微型多区高集成度ToF测距传感器,其支持24个区域(6 x 4)同步测距,测距范围远达5m,具有测距范围广、精度高、测距稳定等特点。适用于投影仪的无感自动对焦和梯形校正、AIoT、手势识别、智能面板和智能灯具等多种场景。                 如果用ND06进行手势识别,只需要经过三个步骤: 第一步&
    esad0 2024-12-04 11:20 50浏览
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 84浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 120浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 106浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 108浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 100浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 101浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 68浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 71浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 119浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦