FPGA、PLC、STM32、单片机、计算机等概念间的关系、区别及各自的优缺点

2023-11-15

FPGA、PLC、STM32、Arduino、单片机、计算机等概念间的关系、区别及各自的优缺点

入门之初,对于标题所列各个概念总是含混不清的,这样一来,不知道自己应该从何学起,或者不知道自己想要实现的IDEA应该使用什么样的硬件系统最合适。因此,梳理一下这些概念很有必要,作者仅就所了解的信息做总结梳理,并以最通俗的语言作解释,如有不妥敬请指教~

1.先说说这里面最独特的FPGA

FPGA(Field-Programmable Gate Array):现场可编程门阵列。什么意思呢?先来看看它的构成示意图
在这里插入图片描述
从图中可以看出,FPGA其实可以看做是数字电路的集合,因此,它与其它名词概念所指物的最大区别就是FPGA只能称得上是一个器件。器件一般具有输入、处理、和输出,FPGA可以看作是一堆可以编程定义的门电路和用于输入、输出的IO口构成的器件。器件也必然就有器件的独特特点,那FPGA的特点是什么呢?

  1. 并行处理
  2. 处理速度极快
  3. 理论上不会运行卡死
  4. 只处理数字信号
    为什么具有上述特点呢?这取决于它的工作方式,用硬件描述语言编写程序后导入到FPGA,实际上是对FPGA内部的门电路等进行直接配置,其能实现的逻辑规模取决与门电路的资源规模,只要不超过其大小,则配置结束后,你的FPGA可以看做是内部具有丰富门电路相互连接的电路集合。注意,这里面没有计算,不需要代码解释,因为根本没有代码,它就是一堆电路。就像你将一根导线的一端接上高电平,另一端必然是高电平一样,不需要任何东西做运算。这就是为什么FPGA能以极高的速度并行处理多个输入端口的数字信号而不会出现卡死的原因。(就像一栋大楼里的输水管道一样,不管你家的水龙头开或关,或者在你家里折了几道拐,都不会影响隔壁老王使用他家水管里的水)

2. 再看看PLC的特点

PLC (Programmable Logic Controller): 可编程逻辑控制器。专为工业生产设计的一种数字运算操作的电子装置,它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。是工业控制的核心部分

因此,PLC相比FPGA来说就更加“智能”了,因为它具有计算的功能,它具有解释内部代码的能力,因此可以说它是一个计算机。但相比一般的计算机和单片机,他最大的特点是稳定。它内部的代码是严格按顺序执行的,但上一条执行的成功与否不会影响下一条的执行。因此,它理论上不会出现程序锁死的现象。再加上PLC加持了较强的抗干扰外围电路和封装,特别适用于工业生产等具有加高稳定性需求的场合。简单的讲,PLC就是一个具有一定计算能力的非常稳定的工业级控制器,用于控制和驱动工业设备和生产线上的电源系统等对稳定性要求较高的地方。
两句话对比FPGA和PLC:FPGA是一种可编程的器件,而PLC是一种计算机。FPGA主要用于弱电,PLC主要用于强电。

3. 再来看看单片机的概念

单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统.

划重点,要考:单片机是一种集成电路芯片,是一种小而完善的微型计算机系统。
常见的STM32单片机、51单片机、ATMEGE 328P单片机等等就是这种小型计算机系统了。
说白了就是我们经常会在很多电子产品里见到的那块核心芯片。但是虽然单片机看上去很全,但少了外围电路,便很难发挥其作用。因此,在实际应用场合中,通常会给单片机外围加上一些必须的电路和接口器件等,用于完善单片机的功能和铺平其工作的“道路”。
于是乎,我们知道了,像Arduino便是在ATMEGA系列单片机上加上一些必要的、通用的外围电路及器件后构成的电子原型平台,在加上用于编程的IDE,广泛应用于各个菜系的电子入门菜鸟手中(hia, hia, hia,)
上节所述的PLC其实也是一种在单片机基础上加上外围电路构成的。

4.总结

莫方,从51单片机开始慢慢搞吧~
以上!over…

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FPGA、PLC、STM32、单片机、计算机等概念间的关系、区别及各自的优缺点 的相关文章

  • unity code-动作系统Animator

    AnimatorOverrideController是运行时版本 可以运行时更改controller AnimatorController是编辑器版本 不能运行时修改 所以运行时只能通过用AnimatorOverrideController

随机推荐

  • 自动化测试框架之RobotFramework进行接口测试

    首先在进行接口测试前分析一下如何进行接口请求的发送或进行接口请求发送包含哪些内容 那么就需要对http请求包含的内容 请求行 协议版本 URL 请求方法 请求头 host content Type Accept等 请求体 发送请求需要带的参
  • 关于SSM框架体会和小结

    前言 使用SSM spring SpringMVC和Mybatis 已经有三个多月了 项目在技术上已经没有什么难点了 基于现有的技术就可以实现想要的功能 当然肯定有很多可以改进的地方 之前没有记录SSM整合的过程 只写了个搭建Maven过程
  • 2021-02-08

    学习目标 综合练习题 10道经典题目 天池龙珠计划SQL训练营 学习内容 10道sql练习题 学习产出 1 说实话自己写不全 还是翻看了答案才知道 2 自己装了sql建库建表 导入数据特别慢 电脑配置不够
  • 【Vue学习笔记】- 事件的基本使用

    总结 1 使用 v on xxx 或 xxx 绑定事件 其中xxx是事件名 2 事件的回调需要配置在methods对象中 最终会在vm上 3 methods中配置的函数 不要用箭头函数 否则this就不是vm了 4 methods中配置的函
  • 【软件测试】自动化测试战零基础教程——Python自动化从入门到实战(二)

    软件测试知识持续更新中 第二章 python webdriver 环境搭建 第一节 环境搭建 准备工具如下 windows 环境安装 linux 环境安装 第二节 使用 IDLE 来编写 python 有效地使用 IDLE 第三节 第一个自
  • map 遍历时 删除元素

    import java io File import java io IOException import java util HashMap import java util Iterator import java util Map i
  • JMeter与Selenium WebDriver集成的价值

    JMeter作为性能或接口测试工具 用在UI测试上多少属于不伦不类 而Selenium WebDriver作为如今最主流的UI开源测试工具 得到许多人的认可 那么为什么有人要把JMeter与Selenium WebDriver进行结合呢 我
  • Android SwipeRefreshLayout 嵌套NestedScrollView 偶尔无法在下拉刷新的问题

    第一次接触谷歌的下拉刷新不太会用导致的问题 问题是在下拉刷新的时候长按不松开继续往下滑导致下拉刷新呗关闭 简单来说就是在下拉刷新的时候继续往上滑动触发ScrollView的滑动事件后关闭下拉刷新 如果是下拉刷新在运行中被关闭setEnabl
  • Android中BLE连接出现“BluetoothGatt status 133”的解决方法

    http www loverobots cn android ble connection solution bluetoothgatt status 133 html 前 言 最近的工作方向一直在低功耗蓝牙方面 也就是BLE Blueto
  • 《Python程序设计与算法基础教程(第二版)》第八章 函数与函数式编程 上机实践

    python实验四 上机实践 2 3 4 5 2 编写程序 定义一个求阶乘的函数fact n 并编写测试代码 要求输入整数n n gt 0 请分别使用递归和非递归方式实现 递归方式 def fact n if n 0 or n 1 retu
  • Python Tkinter控件之Combobox下拉框如何选中内容并使用

    Tk控件之Combobox 首先要明白Combobox 下拉框是Tk窗口的控件之一 所以一定需要绑定一个窗口 其次 明白下拉框的代码格式 最后 明白如何选中下拉框某一项并且使用其进行后续操作 1 绑定窗口 root Tk tk root t
  • 海思 HI35* rtsp服务器

    https blog csdn net zhanshenrui article details 79423071 https download csdn net download zhanshenrui 10324783 海思rtsp源码
  • IDEA自定义Live Templates

    使用IDEA的Live Templates提高编码效率 IDEA自带的Live Templates File gt Settings gt Editor gt Live Templates 可以看到有一个 java的 Live Templa
  • 2022最值得学习的3门编程语言出炉,可别瞎学了~

    众所周知 编程语言的门类实在是太多了 直到现在 依然还会经常有同学讨论关于编程语言的选择和学习问题 今天我们就结合网站CodingNomads发布的年度报告 来聊一聊 编程课程网站 CodingNomads 发布了一份 2022 年最值得学
  • 关于Viewadapter封装fragment在切换时进行状态保持

    参考文献https blog csdn net guo807015563 article details 42081799 这次遇到当切换fragment时 切换后的的界面回到原来fragment的生命周期会结束 导致原本的数据需要重新 获
  • 图片 访问项目resources_android Flutter 工程结构和资源文件分辨率相关的图片文件放哪儿...

    虽然 Android 区分对待资源文件 resources 和资产文件 assets 但是 Flutter 应用只有资产文件 assets 所有原本在 Android 中应该放在 res drawable 文件夹中的资源文件 在 Flutt
  • Linux日志收集实操实验命令(保姆级)

    作者 小刘在C站 个人主页 小刘主页 每天分享云计算网络运维课堂笔记 努力不一定有回报 但一定会有收获加油 一起努力 共赴美好人生 夕阳下 是最美的绽放 树高千尺 落叶归根人生不易 人间真情 目录 修改主机名 efk 1 安装elastic
  • Flutter

    实际开发中经常遇到数字位数不够时前面补0的需求 比如 1 gt 001 12 gt 012 123 gt 123 方案一 使用 padLeft print 1 toString padLeft 3 0 001 print 12 toStri
  • Linux下Make编译结果输出到文件

    Linux系统下执行make命令 编译比较大一点的工程或者文件的时候 在命令行下错误和警告信息直接就把我们的实现覆盖了 把编译日志输出到文件是个选择 执行如下命令即可达到目的 make gt build log 2 gt 1
  • FPGA、PLC、STM32、单片机、计算机等概念间的关系、区别及各自的优缺点

    FPGA PLC STM32 Arduino 单片机 计算机等概念间的关系 区别及各自的优缺点 入门之初 对于标题所列各个概念总是含混不清的 这样一来 不知道自己应该从何学起 或者不知道自己想要实现的IDEA应该使用什么样的硬件系统最合适