嵌入式(一):嵌入式历史与计算机基础:从 ENIAC 到 MCU 四大技术方向

学习嵌入式,不能一开始就只盯着开发板、寄存器和代码。面对一个拥有大量细分方向的行业,首先要建立宏观认知,也就是理解这个行业为什么出现、靠什么力量发展、形成了怎样的产业生态。只有先建立"世界观",后面学习 GPIO、时钟、串口和定时器时,才能知道这些知识在整个技术体系中的位置。

嵌入式系统本质上是计算机发展的一个分支。因此,要理解嵌入式的历史与生态,必须先理解计算机是如何诞生和发展的。

一. 历史生态问题

1. 计算机发展的底层驱动力

故事可以从 ENIAC 讲起。1946 年 2 月 14 日,ENIAC 作为早期电子计算机的代表公开亮相。它由美国宾夕法尼亚大学为军方研制,主要目的是进行炮弹弹道轨迹计算,由约翰·莫奇利和普雷斯珀·埃克特主导设计。

ENIAC 占地约 170 平方米,重约 30 吨,功耗约 150 千瓦,内部使用约 18800 个电子管,每秒可以完成约 5000 次加法运算。与今天几毫米大小的芯片相比,它极其庞大,但它开启了电子计算机时代。此后,它还参与了氢弹研制的早期计算,并运行过早期数值天气预报程序。

如图

第二次世界大战结束后,世界进入美苏冷战阶段。国家之间的竞争不仅体现在政治和军事上,也体现在科技上。为了在竞争中取得优势,各国持续投入资金、人才和资源,推动计算机、通信、导航、航天等技术发展。

核心结论

复制代码
计算机发展的底层驱动力,与主导国家之间的竞争密切相关。

这个结论强调的是技术发展背后的现实动力。很多重大技术在早期都成本高昂、应用范围狭窄,单靠普通民用需求很难获得足够投入,而国家级需求能够承担早期研发风险

2. 军转民

在国家竞争背景下,新技术诞生初期往往由国家主导,首先用于军工领域

几个典型例子

<1>. 电子计算机最初用于弹道计算、密码分析等任务。

<2>. ARPANET 由美国国防部高级研究计划局推动,早期节点连接军方和大学实验室,后来成为互联网发展的重要基础。

<3>. GPS 最初用于军事定位和导航,后来进入汽车、手机、物流等民用领域。

<4>. 喷气式客机的发展受益于军用轰炸机和加油机积累的技术。

<5>. 集成电路和微处理器早期的大规模订单、可靠性要求,与导弹制导和航天计算机密切相关。

然而,国家投入不可能无限扩大。想让技术持续发展,就必须让它进入更广阔的民用市场,通过大量销售获得收入,再把收入投入下一轮研发。这就是**"军转民"的重要意义**。

互联网、GPS、计算机、微波炉等产品,都可以看到军用技术向民用领域扩散的影子。同时,技术流动也不只有一个方向。例如无人机等技术在民用市场快速发展后,也会反过来影响军工领域。

流程如图所示:

核心结论:

复制代码
军转民是国家在技术竞争中保持领先的一种重要发展模式。

例如在军转民背景下,产生的产品

复制代码
•互联网 

•导航GPS,北斗 

•微波炉

•罐头食品 ,军刀 

•计算机

3. 摩尔定律

1965 年,英特尔联合创始人戈登·摩尔在《电子学》杂志发表文章,观察到芯片上可容纳的晶体管数量会快速增长。1975 年,他把增长周期修正为大约两年。后来业界通常用"集成电路上的晶体管数量约每 18 至 24 个月增加一倍"概括摩尔定律。

晶体管数量持续增加,意味着相同面积的芯片可以集成更多功能,也意味着过去庞大的计算机能够不断缩小体积。计算设备由房间大小发展到机柜、桌面、掌上设备,最后进入各种产品内部。

核心结论:

复制代码
摩尔定律为计算机小型化提供了可能。

4. 通用与专用

计算机进入民用领域以后,具体形态取决于人们的需求。

人们 希望一台机器能够听歌、看电影、上网、玩游戏、写文档和编程,于是出现了个人电脑。这类计算机能安装各种软件,完成大量不同任务,是通用计算机的代表。

国家 进行科学研究、天气预报、基因分析、密码计算时,单台个人电脑性能不够,于是把大量高性能 CPU、GPU 和高速网络组合起来,形成超级计算机,用于解决超大规模计算问题。

电视、冰箱、洗衣机、无人机、空调、汽车和机械臂则不需要像个人电脑那样运行各种软件。它们只需要稳定、高效、低功耗地完成一个或少数几个特定任务。因此,工程师把一台小型计算机放入产品内部,让它专门负责控制,这就是专用计算机,也是嵌入式系统的主要形态。

如图:

计算机可以从这里分成三类

复制代码
- 通用计算机:一台机器能够完成多种任务,具体功能由软件决定。
- 超级计算机或高性能计算机:集合大量计算资源,解决大规模计算难题。
- 专用计算机或嵌入式系统:为特定功能而生,强调低功耗、实时性、稳定性和成本。

核心结论:

复制代码
专用计算机,也就是嵌入式系统,诞生的目的,是以较低成本解决一个个特定领域的问题。

5. 嵌入式系统的诞生脉络

嵌入式系统诞生早期主要服务于军工领域。在 20 世纪 70 年代,人们所说的嵌入式系统,通常是把计算机嵌入导弹、战斗机、潜艇和雷达中。

  • 制导系统需要实时解算弹道并控制舵面。

  • 火控系统需要根据雷达数据完成瞄准和武器控制。

  • 军事通信设备需要专用、安全的控制芯片。

民用领域直到 20 世纪 80 年代中后期,才开始有少量使用 MCU 的产品,例如高级洗衣机、电子琴等。此后,随着芯片性能提升、成本下降,嵌入式系统逐渐进入家电、汽车、工业、通信、医疗和消费电子领域。

时间阶段

阶段 时间 代表事件与技术 核心逻辑
1. 萌芽期:纯军工应用 1960s 阿波罗导航计算机(AGC)、F-14 战斗机 MP944 芯片 不计成本,追求技术极限突破,基本没有民用属性
2. 技术溢出:分工与小型化 1970s Intel 4004(1971):首个商用微处理器;TMS1000(1974):首个 MCU(单片机) 军用微型化技术开始外溢,CPU 开始和简单工控结合,体积和成本逐步下降
3. 民用扩展:进入工业与高端消费 1980s Intel 8051(1980):经典单片机;汽车电子、工业 PLC 普及 性能提升、价格下降,可靠性增强,逐渐进入工业控制、汽车电子等领域
4. 全面普及:后 PC 时代 1990s 诺基亚手机、VCD/DVD、信息家电爆发 嵌入式技术大规模进入通信、家电和消费电子,逐渐成为普通电子产品的基础技术

核心结论:

复制代码
嵌入式系统是一种专用计算机,它的发展路径中能够看到军工和军转民的影响。

6. 嵌入式为什么叫"嵌入式"?

一个计算机系统被嵌入更大的设备或系统中,成为其中不可分割的一部分,而不是作为独立的通用计算机存在,这就是"嵌入式"名称最直接的来源。

特点:

<1>.它不是独立产品 。人们购买的是智能空调、无人机、心率手环和医疗监护仪,而不是单独购买其中的嵌入式系统。嵌入式系统是产品内部的大脑或控制器

<2>.它通常藏在设备内部。洗衣机、微波炉、汽车刹车系统、航空发动机、智能手表和医疗设备中,都可能有一块或多块芯片和电路板,用户通常看不到它们。

<2>.它的软硬件为特定任务定制。微波炉中的系统负责面板、定时、火力和磁控管控制,不需要成为 MP3 播放器;空调中的系统负责温度、风速、压缩机和保护逻辑,不需要承担通用办公任务。

这种"嵌入"带来了几项典型特征

  • **实时性 **:汽车刹车踏板被踩下时,系统必须在规定时间内响应。

  • **资源受限 **:为了控制成本和功耗,RAM、Flash 和计算能力通常有限。

  • **低功耗 **:智能手表、无线传感器等产品需要长时间依靠电池工作。

  • **低成本 **:产品大量生产后,每一个器件的成本都会被出货量放大。

  • **高可靠性**:设备可能需要连续工作多年,不能像个人电脑一样频繁重启维护。

总结:

复制代码
通用计算机是"站出来让你用的",嵌入式系统是"蹲在里面替你干的"。

二. 认识计算机

理解了通用与专用的区别后,再看"计算机"这个概念,就会发现它远不只是台式机和笔记本。计算机可以呈现不同形态,本质上都是为了满足不同场景中的需求。

1. 个人电脑 PC

个人电脑包括台式机笔记本,是大家最熟悉的计算机。它既可以娱乐,也是学习、编程和工作的生产力工具。对于台式机来说,真正的本体是机箱,显示器只是输入输出设备的一部分。

如图:

2. 智能手机与平板电脑

智能手机和平板电脑通常共享操作系统和软件生态。平板虽然叫"电脑",但在系统和应用形态上更接近大屏手机。随着技术发展,它们的算力大幅提高,但受到软件生态和交互方式影响,在企业开发特别是程序员工作中,个人电脑仍然是主要生产工具。

如图:

注意

复制代码
• 随着技术的发展,⽬前⼿机和平板电脑的算⼒⼤幅度提升,相当于PC 端⼏年前的算⼒⽔平 
• 受限于软件⽣态,⼿机和平板电脑还⽆法承担"⽣产⼒⼯具"这样的重任.尤其是对于程序员⾏业来说

3. 服务器

或许我们没见过真实的服务器,但是我们日常使用的各种软件/网站,几乎都和服务器密切相关.

• 点⼀个外卖,需要外卖的客户端软件和外卖服务器进行交互,**例如C/S 结构(客户端/服务器结构),**如图:

• 打开⼀个百度搜索,需要浏览器和百度服务器进行交互,例如B/S 结构(浏览器/服务器结构),如图:

注意:

cpp 复制代码
• Client/Server,即客⼾端/服务器架构 
• Browser / Server,即浏览器/服务器架构 
• ⽆论是C/S还是B/S,服务器都是其中⾮常重要的环节,核⼼的数据管理和业务逻辑,都是在服务器端完成的.

由于同⼀时刻会有很多的客户端/浏览器访问服务器,意味着服务器需要有非常强大的算力支撑用户请求。 因此服务器的硬件配置会比较高提供的运算能力和存储能力 都远远超过个人电脑。 同时,服务器对于周围的温度,湿度等环境指标要求苛刻,通常企业级服务器都是托管在专业的机房中 的,我们普通人很难直接接触到。

4. 单片机

单片机也叫 MCU全称 Microcontroller Unit ,即微型控制单元 ,也有人称其为 Single Chip Microcomputer ,即单片微型计算机。与高性能、昂贵的服务器相比,单片机通常体积小、性能相对有限、成本低。

空调中的单片机负责温度、风速和风向;冰箱中的单片机负责温度、灯光和除湿。工业、汽车、航空航天、通信和医疗领域同样大量使用单片机。

如图:

当然,不仅仅是日常常见家居设备,在工业,汽车,航空航天,通信,医疗等领域,也在广泛使用单片机,下图为路由器拆机后内部结构

像我们的PC/服务器这样的计算机,属于"通用计算机" ,可以安装各种程序,解决各种场景的问题. 而单片机通常针对某⼀类特定场景,解决特定问题 ,因此单片机一般不需要高算力

例如:

• 空调的单片机只需要能控制空调的温度,风速,风向等功能即可,不需要使用空调点外卖。

• 冰箱的单片机只需要控制温度,灯光,除湿等功能即可,不需要使用冰箱刷短视频。

单片机体积非常小,成本也比较低,如图:

需要特别区分单片机与嵌入式系统

cpp 复制代码
- 单片机是一颗具体、可编程的硬件芯片。
- 嵌入式系统是完整系统,包含单片机、电路、传感器、软件和被控制对象。
- 单片机是许多嵌入式系统的核心硬件,但单片机不等于整个嵌入式系统。
- 类似与⽼板和公司的关系、⼿机⾥的处理器和整个⼿机的关系

5. 嵌入式系统的技术方向

按照核心处理器与计算架构,把嵌入式系统划分为 MCU、应用处理器、FPGA、DSP 四个方向。

1. MCU 方向

什么是MCU?

答案:

cpp 复制代码
全称是 Microcontroller Unit ,是将处理器内核、存储器(Flash/RAM)、外设接
口 (UART/SPI/I2C/ADC/Timer等)集成在单⼀芯片上的微型处理器。它强调实时性、低功耗、低 成本,通常运
行裸机程序或轻量级RTOS(实时操作系统)。

典型芯片:

厂商 典型芯片
ST(意法半导体) STM32F103/F407/H743
NXP LPC1768、i.MX RT1062
Microchip ATmega328P、SAM D21
TI MSP430G2553、MSP432E401Y
Espressif ESP32、ESP32-C3/S3
兆易创新 GD32F103、GD32E230

应用领域:

• 消费电子:遥控器、小家电、智能手表等。

• 工业控制:电机驱动、传感器采集等。

• 汽车电子:车窗控制、雨刷控制、BMS系统等。

• 物联网终端:智能灯泡、传感器节点、网关等。

• 通信设备:蓝牙模块、Zigbee节点、4G模块等。

2. 应用处理器方向

什么是应用处理器?

答案:

cpp 复制代码
应⽤处理器是以⾼性能CPU核⼼为主,集成GPU、NPU、ISP、视频编解码器等多媒体/计算加速模 块的微型处理
器。它通常会运⾏Linux、Android等复杂操作系统,需要外部DDR和eMMC/SD存 储,强调⾼算⼒、丰富多媒体性
能、复杂的软件⽣态。

典型芯片

厂商 典型芯片
NXP i.MX6ULL、i.MX8M Plus
瑞芯微 RK3568、RK3588
全志 H616
高通 骁龙 8 Gen 3
联发科 天玑 9300
华为海思 Hi3516DV300
博通 BCM2711(树莓派4)、BCM2712(树莓派5)

应用领域

• 智能终端:手机、平板、智能手表等。

• 车载信息娱乐:车机、仪表盘、行车记录仪等。

• 工业互联网:边缘计算网关、工业HMI智能屏等。

• 机器人/无人机:视觉导航、SLAM计算等。

• 智慧大屏:广告机、教育⼀体机等,

3. FPGA 方向

什么是FPGA?

cpp 复制代码
FPGA全称是 Field-Programmable Gate Array (现场可编程⻔阵列),是⼀种内部包含⼤ 量可编程逻辑块
(CLB)、可编程互连线和I/O模块的半导体器件。⽤户通过编写HDL代码( Verilog/VHDL )来定义硬件逻辑,
实现任意数字电路的功能。其核⼼特点是硬件可重构、并⾏执 ⾏、纳秒级延迟,兼具ASIC的性能和软件的灵活
性。

典型芯片

厂商 典型芯片
Xilinx(AMD) Spartan-7、Artix-7、Kintex-7、Zynq-7000、Versal
Intel(Altera) Cyclone IV/V、Stratix 10
Lattice iCE40、ECP5
高云半导体 GW1N、GW2A、GW5A(国产)
安路科技 EF2、EG4、PH1(国产)

应用领域

• 通信/5G:基带信号处理、协处理议加速等。

• 视频图像处理:高速视频缩放、色彩空间转换等。

• 工业控制:多轴伺服控制、高速数据采集等。

• 航空航天:星载计算、机载雷达等。

• AI 推理加速:CNN加速器(搭配CPU使用)。

• 芯片原型验证:ASIC流片前的功能验证。

4. DSP 方向

什么是DSP?

cpp 复制代码
DSP全称是 Digital Signal Processor (数字信号处理器),是专⻔为数字信号处理算法 优化的处理器,其
硬件架构针对乘累加运算、循环寻址、零开销循环等做了特殊设计,可在单时钟周 期内完成乘加运算。强调实时
性、⾼精度数值计算,适合处理⾳频、视频、通信等连续信号流。

典型芯片

厂商 典型芯片
TI TMS320C6000(C6748/C6657)、TMS320C2000(F28335/F28379D)
ADI ADSP-21489、ADSP-SC589(SHARC+ARM)
CEVA CEVA-XM4/BX1(授权 IP 核)
Cadence Tensilica HiFi 5、Vision P6(授权 IP 核)

应用领域

• 音频处理:主动降噪、语音编解码、回声消除等。

• 电机控制:FOC矢量控制(TIC2000系列是经典)等。

注意 :随着技术融合,独立 DSP 芯片的市场已经缩小。越来越多 DSP 能力以 IP 核形式集成到 SoC 中,或者由带有 DSP 扩展指令的 MCU 承担,例如 Cortex-M4F 和 Cortex-M7。

5. 多技术融合

稍微复杂的嵌入式系统往往不会只使用一种计算架构 。一块电路板上可能同时存在 MCU、应用处理器、FPGA 和 DSP,也可能把多种核心直接集成在一颗芯片中。

以下是⼀些典型的融合方式:

融合形态 示例
MCU + DSP 指令 ST 的 STM32F4(Cortex-M4F 带 DSP/SIMD 指令)
FPGA + MCU Intel(Altera)的 FPGA(FPGA 中可以添加 NIOS 软核)
FPGA + CPU Xilinx 的 Zynq 系列(FPGA 内置 Cortex-A53 硬核)
CPU + MCU TI 的 AM6254(Cortex-A53 + Cortex-M4)
CPU + DSP TI 的 66AK2G02(Cortex-A15 + C66x(DSP))
MCU + DSP TI 的 F28388D(Cortex-M4 + C28x(DSP))
CPU + MCU + DSP 全志 T527(Cortex-A55 + HiFi4 DSP + RISC-V MCU)

不同处理器各自承担合适的任务:应用处理器负责复杂操作系统和界面,MCU 负责实时控制,FPGA 负责高速并行数据通路,DSP 负责连续信号运算。这正是现代嵌入式系统的发展趋势。

核心结论

cpp 复制代码
嵌入式开发是有很多方向的,偏软的,偏硬的,而MCU 开发其实是⼀个偏向软件开发范畴,后面我们所谈的问题,主要集中在MCU ⽅⾯
相关推荐
一只旭宝1 小时前
Python 与 C/C++ 内存模型对比总结
c语言·c++·python
嵌入式er2 小时前
经纬恒润(成都)嵌入式一面 + 二面
单片机·嵌入式硬件
白色的北极熊2 小时前
c语言 输出菱形字符串
c语言·开发语言
新晨单片机设计2 小时前
S014A-基于STM32单片机计算器(LCD1602显示)【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus
POMAGTOR2 小时前
【磁吸 POGOPIN 连接器 汽车医疗机器人弹簧顶针】
嵌入式硬件·机器人·汽车
T1mzhou3 小时前
ARM64 Linux 6.10 内核驱动(14):drivers/base/platform.c:板级设备主战场
linux·c语言·开发语言·arm开发
小孩玩什么3 小时前
深入理解字符串匹配算法:BF算法,KMP算法
java·c语言·开发语言·数据结构·c++·算法
clear sky .3 小时前
内存8字节对齐是什么?
c语言·stm32·嵌入式硬件
辰域电子3 小时前
STM32项目开源:智能安防与燃气监测系统(代码+原理图+仿真)
stm32·单片机·嵌入式硬件·开源·毕业设计·proteus