Skip to content

LV004-什么是单片机 ​

上一篇把计算机拆成了五大部件,并看着它们组成一台"以存储器为中心"的自动机器。这一篇回答一个更直接的问题:单片机到底是什么? 答案其实就藏在它的全名里——单片微型计算机(Single-Chip Microcomputer):把一台计算机的主要部件集成到一颗芯片上。

本篇的阅读主线:先看它是怎么从计算机一步步"缩小"出来的(演进史),再给出严格定义和内部构成,然后理清一圈容易混淆的名词(MCU/MPU/SOC/DSP/FPGA),最后看它能干什么、有哪些家族。

一、 从计算机到单片机 ​

1. 集成度的演进:三步缩小 ​

回顾 LV001-计算机的基本组成:一台经典计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成,其中运算器和控制器合成 CPU。在大型计算机时代,这几个部件各自是一块电路板,甚至一排机柜——一间屋子才装得下一台计算机。

半导体工艺的进步推动了一场持续的"缩小运动",可以概括为三步:

(1)CPU 做进一颗芯片——微处理器(MPU)诞生。1971 年 Intel 4004 把运算器和控制器集成到一颗芯片上,计算机的"大脑"缩到了指甲盖大小。但 MPU 只是 CPU,要跑起来还得外挂内存、外挂硬盘、外挂各种接口芯片——一块主板才凑齐一台机器,这就是 PC 的形态;

(2)CPU + 存储器 + I/O 接口做进一颗芯片——单片机(MCU)诞生。工程师们发现,如果把 CPU、少量存储器(ROM + RAM)和 I/O 接口电路全部做进同一颗芯片,就能得到一个"通电就能跑程序"的最小计算机。1976 年 Intel 8048(MCS-48 系列)是早期代表,1980 年 Intel 8051 则成了之后四十年的教科书经典;

(3)更多功能做进一颗芯片——片上系统(SOC)出现。工艺再进一步,把 GPU、通信基带、视频编解码甚至 AI 加速器都塞进一颗芯片,就是今天手机里的 SoC。

"单片机"这个名字里的"单片",指的就是第(2)步:单个芯片。

2. 单片机的定义 ​

单片机(MCU,Microcontroller Unit)是把中央处理器(CPU)、存储器、定时器和多种 I/O 接口集成在一块芯片上的微型计算机。

拆开这个定义的每个短语,都能对应到上一篇的五大部件:

  • "中央处理器"——运算器 + 控制器;
  • "存储器"——程序存储器 FLASH + 数据存储器 SRAM;
  • "定时器和多种 I/O 接口"——输入输出设备,在单片机里以"片上外设"的形式存在。

3. 芯片内部有什么 ​

拆开一颗 STM32 的封装,里面是一小片硅。这片硅上刻着的主要模块:

  • 一个 32 位的 CPU 内核(如 Cortex-M3);
  • 几十到几百 KB 的 FLASH(存程序);
  • 几到几十 KB 的 SRAM(存变量);
  • 一大堆片上外设:GPIO、UART、定时器、ADC、SPI、I2C、DMA……

麻雀虽小,五脏俱全:上一篇框图里的每个部件,在这里都有实体。具体的架构细节(总线怎么连、地址怎么分)留到 LV013-单片机的通用架构 展开。

二、 一堆容易混淆的名词 ​

电子行业里 CPU、MPU、MCU、SOC、DSP、FPGA 这串缩写经常被混用,它们的区别核心在于集成度和设计目标两个维度。

1. CPU:中央处理器 ​

CPU(Central Processing Unit)就是上一篇定义的"运算器 + 控制器",是任何计算机必备的"大脑"。它是一个功能部件,不是一台完整计算机:单独一颗 CPU 什么都干不了,必须配上存储器和 I/O 才能工作。"电脑里的 i9 处理器"严格说是"包含多核 CPU 的处理器封装",里面其实还带了内存控制器和缓存。

2. MPU 与 MCU:一个字母之差的设计哲学分野 ​

MPU(Micro Processor Unit,微处理器)和 MCU(MicroController Unit,微控制器)只差一个字母,但代表两种相反的设计取向:

维度MPU(微处理器)MCU(微控制器)
追求计算性能,跑得越快越好控制能力,稳定省电便宜
片内存储很少甚至没有,靠外挂大内存自带 FLASH + SRAM,单芯片成系统
典型用法外挂 GB 级内存和硬盘,运行操作系统单芯片直接控制对象,裸机或 RTOS
代表手机 SoC 里的 CPU 核、嵌入式 Linux 处理器(如 i.MX)STM32、8051

一个帮助记忆的类比:MPU 是"专业计算器",MCU 是"瑞士军刀"。做一台能上网看视频的设备选 MPU;让一台洗衣机的电机按时序正反转,MCU 足矣。

3. SOC:片上系统 ​

SOC(System on Chip)是集成度的下一站:在 MPU/MCU 基础上把更复杂的功能模块(GPU、Wi-Fi/蓝牙基带、视频编解码、NPU)也集成进一颗芯片,并且强大到通常运行 Linux/Android 这样的大型操作系统。手机主芯片(骁龙、天玑)、树莓派的 BCM2711 都是 SOC。

SOC 与 MCU 的边界近年确实在模糊(后面 LV010 会展开),但判断口径可以简化为一条:一颗芯片是否自带足够的存储器和外设、单芯片即可构成控制系统——是,就是 MCU(或"MCU 型 SOC");需要外挂内存才能跑起来的,偏 MPU/SOC。

4. DSP 与 FPGA:另外两条路线 ​

  • DSP(Digital Signal Processor,数字信号处理器):为"大量乘加运算"专门优化的处理器(一条指令同时完成乘法和加法、硬件循环等),擅长数字滤波、FFT、电机控制算法。TI 的 C2000 系列是电机控制领域的常青树;
  • FPGA(Field Programmable Gate Array,现场可编程门阵列):严格说不是处理器,而是"可编程的硬件":用户用硬件描述语言(Verilog/VHDL)定义芯片内部逻辑门的连接,相当于"造一块专用电路"。并行能力极强,用于通信基带、图像采集、协议验证等场景。

5. 一张总对比表 ​

概念全称本质定位典型例子
CPUCentral Processing Unit运算器 + 控制器,计算机的大脑i9 里的 CPU 核
MPUMicro Processor Unit微处理器,性能优先,需外挂存储i.MX、RK3588 的核心
MCUMicroController Unit微控制器,单芯片成系统,控制优先STM32、8051
SOCSystem on Chip片上系统,高度集成,常跑大型 OS骁龙、BCM2711
DSPDigital Signal Processor信号处理专用处理器TI C2000
FPGAField Programmable Gate Array可编程硬件Artix-7

更详细的介绍可以看 01-概述/LV001-ARM体系结构。

三、 单片机的应用与特点 ​

1. 它藏在你身边的一切设备里 ​

单片机资源少、主频低,但它便宜、省电、体积小、可靠,而且控制能力强。你身边到处都是它:

  • 家用电器:空调、洗衣机、微波炉、电饭煲、电视遥控器——每一台里有至少一颗;
  • 消费电子:电子表、蓝牙耳机、充电宝、玩具;
  • 汽车电子:一辆现代汽车里有上百颗 MCU,分别控制发动机喷油、车窗升降、雨刷、安全气囊、胎压监测;
  • 工业控制:PLC、变频器、伺服驱动器、机器人关节、传感器变送器;
  • 物联网:智能门锁、温湿度监测节点、共享单车智能锁、智能电表水表。

2. 为什么这些场景都选单片机 ​

把上面这些场景的需求和 MCU 的特性放在一起看,答案自然浮现——这些场景的共同特点是:不需要强大的算力,但需要实时响应、低功耗、高可靠和低成本:

(1)实时响应:按键按下几十毫秒内要有反应,电机异常几毫秒内要切断——MCU 的中断响应以微秒计,且时间确定;

(2)低功耗:一节电池要让遥控器工作一两年,MCU 的睡眠模式电流可以低到微安级;

(3)高可靠:家电不能像手机一样每天死机重启,MCU 结构简单、没有复杂操作系统的拖累,配合看门狗可以常年不宕机;

(4)低成本:做家电控制用几块钱的芯片就够,没必要上几十上百块的 MPU。

这四条恰好就是 MCU 的设计目标——场景需求和芯片设计在这里完全对齐。

四、 常见的单片机家族 ​

家族代表芯片特点与地位
8051 系AT89C51、STC89C521980 年 Intel 推出的经典 8 位架构,结构简单、资料浩如烟海,国内高校教学入门常用;STC 的国产 51 兼容芯片至今生命力顽强
AVR 系ATmega3288 位 RISC 架构,Arduino Uno 的主控,被开源生态带火,是很多人"点亮第一颗 LED"的地方
PIC 系PIC16F877AMicrochip 出品,RISC 架构,抗干扰强,在工业和家电领域存量巨大
MSP430 系MSP430F 系列TI 出品,以超低功耗著称,主打电池供电的计量类应用
STM32 系STM32F1/F4/H7ST 公司基于 ARM Cortex-M 内核的 32 位 MCU 系列,型号极多、生态完善,是当前国内工业界与教学界的事实主流
ESP32 系ESP32、ESP32-C3乐鑫出品,自带 Wi-Fi/蓝牙,性价比极高,物联网明星芯片
RISC-V 系CH32V、GD32V、ESP32-C3基于 RISC-V 开源指令集的国产新势力,免授权费,是自主可控方向的重要选项

一个值得注意的趋势:指令集从封闭走向开放。早年各家单片机各有私有指令集(51、AVR、PIC 互不兼容),而今天 ARM Cortex-M 一统 32 位 MCU 江湖,开源的 RISC-V 又正在撕开新的口子。学习时不必纠结"学哪家指令集"——核心概念(寄存器、中断、总线、外设)在所有家族里通用。

五、 本套文档为什么选 STM32 ​

本套文档选择 STM32 作为学习对象,理由有四:

(1)内核标准化:基于 ARM Cortex-M 内核,学到的内核知识(寄存器模型、中断机制、总线架构)直接迁移到 NXP、GD、CH 等其他厂商的芯片;

(2)资料丰富:官方参考手册、应用笔记、社区教程、开源项目数量在所有 MCU 里首屈一指,遇到问题几乎都能搜到答案;

(3)生态完善:开发板便宜易得,Keil/STM32CubeIDE 工具链成熟,HAL 库降低了上手门槛;

(4)就业对口:国内嵌入式岗位的招聘要求中,STM32 出现频率最高。

六、 小结与下一篇 ​

  • 单片机 = 把 CPU、存储器、I/O 接口集成进一颗芯片的微型计算机,是"缩小运动"的第二步产物;
  • MCU 与 MPU 的分野在"控制 vs 计算",与 SOC 的分野在集成度与操作系统;
  • 单片机为实时、可靠、省电、便宜而生,藏在你身边一切带电的设备里。

知道了单片机是什么,接下来自然要问:一套能真正干活的单片机系统由哪些部分组成?硬件和软件各扮演什么角色? 见 LV007-单片机系统组成。


本文档由 markdowncli 技能辅助生成