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. 一张总对比表
| 概念 | 全称 | 本质定位 | 典型例子 |
|---|---|---|---|
| CPU | Central Processing Unit | 运算器 + 控制器,计算机的大脑 | i9 里的 CPU 核 |
| MPU | Micro Processor Unit | 微处理器,性能优先,需外挂存储 | i.MX、RK3588 的核心 |
| MCU | MicroController Unit | 微控制器,单芯片成系统,控制优先 | STM32、8051 |
| SOC | System on Chip | 片上系统,高度集成,常跑大型 OS | 骁龙、BCM2711 |
| DSP | Digital Signal Processor | 信号处理专用处理器 | TI C2000 |
| FPGA | Field Programmable Gate Array | 可编程硬件 | Artix-7 |
更详细的介绍可以看 01-概述/LV001-ARM体系结构。
三、 单片机的应用与特点
1. 它藏在你身边的一切设备里
单片机资源少、主频低,但它便宜、省电、体积小、可靠,而且控制能力强。你身边到处都是它:
- 家用电器:空调、洗衣机、微波炉、电饭煲、电视遥控器——每一台里有至少一颗;
- 消费电子:电子表、蓝牙耳机、充电宝、玩具;
- 汽车电子:一辆现代汽车里有上百颗 MCU,分别控制发动机喷油、车窗升降、雨刷、安全气囊、胎压监测;
- 工业控制:PLC、变频器、伺服驱动器、机器人关节、传感器变送器;
- 物联网:智能门锁、温湿度监测节点、共享单车智能锁、智能电表水表。
2. 为什么这些场景都选单片机
把上面这些场景的需求和 MCU 的特性放在一起看,答案自然浮现——这些场景的共同特点是:不需要强大的算力,但需要实时响应、低功耗、高可靠和低成本:
(1)实时响应:按键按下几十毫秒内要有反应,电机异常几毫秒内要切断——MCU 的中断响应以微秒计,且时间确定;
(2)低功耗:一节电池要让遥控器工作一两年,MCU 的睡眠模式电流可以低到微安级;
(3)高可靠:家电不能像手机一样每天死机重启,MCU 结构简单、没有复杂操作系统的拖累,配合看门狗可以常年不宕机;
(4)低成本:做家电控制用几块钱的芯片就够,没必要上几十上百块的 MPU。
这四条恰好就是 MCU 的设计目标——场景需求和芯片设计在这里完全对齐。
四、 常见的单片机家族
| 家族 | 代表芯片 | 特点与地位 |
|---|---|---|
| 8051 系 | AT89C51、STC89C52 | 1980 年 Intel 推出的经典 8 位架构,结构简单、资料浩如烟海,国内高校教学入门常用;STC 的国产 51 兼容芯片至今生命力顽强 |
| AVR 系 | ATmega328 | 8 位 RISC 架构,Arduino Uno 的主控,被开源生态带火,是很多人"点亮第一颗 LED"的地方 |
| PIC 系 | PIC16F877A | Microchip 出品,RISC 架构,抗干扰强,在工业和家电领域存量巨大 |
| MSP430 系 | MSP430F 系列 | TI 出品,以超低功耗著称,主打电池供电的计量类应用 |
| STM32 系 | STM32F1/F4/H7 | ST 公司基于 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 技能辅助生成