初学嵌入式时,常被各种专业名词和概念混淆,网上教程也常出现混用现象。
本文将使用大白话对相关术语进行简要区分,并阐明它们之间的联系。👇
单片机(MCU)
单片机(Single-Chip Microcomputer)又称微控制单元(MCU),是通过超大规模集成电路技术将中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、多种I/O接口、中断系统、定时器/计数器(可能包含显示驱动、PWM、ADC等模块)集成到单一硅片上的微型计算机系统,广泛应用于工业控制领域。
嵌入式
嵌入式即嵌入式系统,根据IEEE(美国电气和电子工程师协会)定义,嵌入式系统是用于控制、监视或辅助设备运行的专用计算机系统。国内普遍定义为:以应用为中心,基于计算机技术,软硬件可裁剪,满足功能、可靠性、成本、体积及功耗等严苛要求的专用计算机系统。从应用角度看,它是涵盖软硬件及机械附属装置的综合体。
物联网(IoT)
由具备唯一标识符(UID)的计算设备、机械装置及数字机器组成的互联系统,能够通过网络自主传输数据,无需人工交互。
单板机(SBC)
单板机(SBC, Single Board Computer)是将计算机的各个部分都组装在一块印制电路板上,包括微处理器/存储器/输入输出接口,还有简单的七段发光二极管显示器、小键盘、插座等其他外部设备。
ARM
ARM 处理器是英国 Acorn 有限公司设计的低功耗成本的第一款 RISC 微处理器。全称为 Advanced RISC Machine。ARM 处理器本身是 32 位设计,但也配备 16 位指令集,一般来讲比等价 32 位代码节省达 35%,却能保留 32 位系统的所有优势。
FPGA
现场可编程门阵列(Field Programmable Gate Array),在PAL、GAL等可编程器件基础上发展而来。作为半定制电路,既弥补了ASIC的灵活性不足,又突破了传统可编程器件的逻辑门数量限制。
DSP
数字信号处理器(Digital Signal Processor),是一种特别适合于进行数字信号处理运算的微处理器,其主要应用是实时快速地实现各种数字信号处理算法。
MPU
MPU 有两种意思,微处理器和内存保护单元,这里说的是微处理器。MPU 是单一的一颗芯片,而芯片组则由一组芯片所构成,早期甚至多达 7、8 颗,但目前大多合并成 2 颗,一般称作北桥(North Bridge)芯片和南桥(South Bridge)芯片。MPU 是计算机的计算、判断或控制中心,有人称它为“计算机的心脏”。
术语区别与关联
- 单片机是最早且单一的微处理器称呼,嵌入式是单片机的子类,同时是它的扩展,单片机更趋近于娱乐和小产品的开发,多在主流操作系统中编写代码;嵌入式更适合工业、大项目和具有 WIFI、蓝牙等具有无线网络功能的开发,多在 Linux 操作系统中编写代码。
- 物联网就是单片机拥有对外传输和接收数据功能的物种。
- ARM 只是一个公司的名称,但因为是巨头开发了较多芯片且定义了一些版本协议,所以他家的芯片就以 ARM 来命名,其实也就是单片机的一个类型,但说的人多了,就让人误以为是另外一个东西了。这里说一下,人们常把 51芯片 作为单片机的典型。
- FPGA 和单片机才是两个不同的东西,FPGA 更倾向于硬件电路,而单片机更倾向于软件编程,所以一般学计算机的接触到的都是单片机,而学电子电气的接触到的都是 FPGA。它俩早先比较大的区别在于 FPGA 可以自编指令集,而单片机不能,但是随着 MCU 内核自由度越来越高,类似于 Cotex-M33 已经出现可自编指令集的功能了。
- CPU(Central Processing Unit,中央处理器)发展出来三个分枝,一个是 DSP(Digital Signal Processing/Processor,数字信号处理),另外两个是 MCU(Micro Control Unit,微控制器单元)和 MPU(Micro Processor Unit,微处理器单元)。现在说的最多的只有 DSP 和 MCU,DSP 是专门处理数字信号的单片机,而 MCU 多用于电机、机械臂等驱动电路的。
- 单板机最不同于单片机的地方在于系统,一般的单板机能为 Linux / Android / Windows 服务,而单片机更多的是裸机或者 RTOS。
说白了,除了 FPGA 其他的全是单片机的分支,只是品牌啊、作用域啊、集成规模不同罢了,搞得神神秘秘的~~~
扩展
各 MCU 板区别
- 核心板:是将单片机的核心功能打包封装的一块电子主板;
- 开发板:就是把 核心板 + 外围电路板,用于开发自己想要的功能的一块电路板;
- 工控板:是工业上使用,比较安全稳定;
- PLC:是可编程逻辑控制,就是把开发板包装起来成一个终端产品,方便直接使用。同时降低使用人的门槛;
普通 MCU、系统板、Linux 板、AI 板、IoT 板之间的区别
- 系统板:就是能够满足上 RTOS 系统的 MCU,一般只需要 ROM 和 RAM 满足条件即可;
- Linux 板:芯片要求采用支持 Linux 系统的架构,一般要带有 MMU组件,ROM 和 RAM 的要求比系统板更高,外设通常携带 USB、SD 卡槽、以太网、显示屏等,但功耗更高。Linux 系统就基本上上升到 PC 的等级了,修改其系统代码没有别的 MCU 那么频繁,并且也可以直接在 Linux 端上进行代码编译等操作;
- AI 板:除了主处理器芯片外,还可能搭载专门用于人工智能计算的协处理器,带有加快张量计算等 AI 适用的特殊指令集;
- IoT 板:相当于在系统板上增加了各种有线/无线通讯协议和 TCP/IP 网络协议;
综上,普通 MCU 可以变成其他任何功能的板子,只要性能及外设满足即可!