嵌入式系统硬件基础:处理器架构、存储器与外设接口
做嵌入式系统部署与升级,说白了你得先摸清楚硬件底牌。我见过太多同事,软件写得飞起,结果选错处理器型号,或者存储器容量没算够,最后部署阶段翻车。这一章咱们就把硬件基础夯结实。
处理器架构:ARM 与 RISC-V 的抉择
处理器是嵌入式系统的大脑。目前主流就两派:ARM 和 RISC-V。我个人习惯把 ARM 比作「成熟稳重的老大哥」,RISC-V 则是「灵活激进的挑战者」。
ARM 架构
ARM 统治了嵌入式市场十几年。从低功耗的 Cortex-M 系列到高性能的 Cortex-A 系列,几乎覆盖了所有场景。
- Cortex-M 系列:主打低功耗、实时响应。我最早做智能传感器项目用的就是 M3,跑 FreeRTOS 非常稳。
- Cortex-A 系列:面向应用处理器,跑 Linux 或 Android。比如树莓派的 BCM2835 就是 ARM Cortex-A 系列。
- Cortex-R 系列:实时性要求极高的场景,比如汽车刹车系统、工业控制器。
我的经验:选 ARM 基本不会踩大坑。生态太完善了,编译器、调试器、RTOS 支持一应俱全。如果你团队开发周期紧,ARM 是安全牌。
RISC-V 架构
RISC-V 是开源指令集架构。你想想看,不用交授权费,还能自己定制指令。这几年在 IoT 和 AI 边缘计算领域火得不行。
- 开源免费:没有 ARM 那样的授权费用,对小公司特别友好。
- 可扩展性:你可以自己加指令,做专用加速器。我在一个 AI 推理项目中,就见过团队在 RISC-V 上自定义了矩阵运算指令。
- 生态还在成长:嗯,这里要注意。工具链、中间件、调试工具不如 ARM 成熟。我曾经在 RISC-V 上移植一个 MQTT 库,折腾了两天。
| 对比维度 | ARM | RISC-V |
|---|---|---|
| 授权模式 | 商业授权,费用高 | 开源免费,BSD 许可 |
| 生态成熟度 | 非常成熟 | 快速成长中 |
| 定制灵活性 | 低,指令集固定 | 高,可自定义指令 |
| 典型功耗 | 极低到中 | 低到中 |
| 适合场景 | 消费电子、汽车、工业 | IoT、AI 加速、科研 |
避坑指南:我曾经在一个量产项目中选了某款 RISC-V 芯片,结果发现它的浮点单元有硬件 bug,导致算法精度偏差。后来只能靠软件模拟,性能直接掉了 30%。所以选 RISC-V 之前,一定要仔细看芯片的勘误表。
存储器体系:容量、速度与成本的平衡
嵌入式系统的存储器,说白了就是「快、大、便宜」不可能三角。你得根据应用场景做取舍。
片内存储器
- SRAM:速度极快,但容量小、成本高。一般用作 CPU 缓存或紧耦合内存(TCM)。我习惯把实时性要求高的数据放 TCM,比如中断向量表、关键状态变量。
- Flash:非易失性,存储固件代码。注意 Flash 有擦写寿命,一般 10 万次左右。做 OTA 升级时,千万别频繁擦写同一块区域。
片外存储器
- DDR SDRAM:大容量、高带宽,跑 Linux 系统必备。DDR3、DDR4、LPDDR 系列。我做过一个视频处理项目,DDR 带宽不够直接导致帧率掉一半。
- NAND Flash:大容量存储,类似 SSD。但需要坏块管理和 ECC 纠错。做文件系统时,我建议用 UBIFS 而不是 YAFFS2,后者在掉电场景下容易丢数据。
- eMMC:封装了 NAND Flash 和控制器的存储芯片。接口简单,适合做系统盘。但要注意 eMMC 的寿命等级,工业级建议选 pSLC 模式。
部署升级的关键点:做 OTA 升级时,必须预留至少两份固件空间——一份运行区,一份备份区。我见过有人只留一份空间,升级到一半断电,设备直接变砖。后来我们改成了 A/B 分区方案,稳如老狗。
外设接口:连接世界的桥梁
嵌入式系统不是孤岛,它得跟传感器、执行器、其他设备通信。外设接口选对了,部署事半功倍。
常用有线接口
- UART:最基础的串口,调试必备。波特率一般 115200 或 921600。我习惯在 UART 上挂一个日志输出,方便现场排查问题。
- I2C:两线制,适合连接传感器、EEPROM。速度不快(标准模式 100kHz,快速模式 400kHz),但接线简单。注意 I2C 总线电容限制,线太长容易通信失败。
- SPI:四线制,全双工,速度快。适合连接显示屏、ADC、SD 卡。我做过一个项目,SPI 时钟跑到 50MHz,结果信号完整性出了问题,后来加了终端电阻才解决。
- CAN:汽车和工业领域的王者。差分信号,抗干扰强,支持多主通信。做车载 OTA 升级时,CAN 总线是主要的升级通道之一。
- Ethernet:高速网络通信。从 10/100M 到千兆。做远程升级时,以太网是最可靠的方案,带宽大、协议成熟。
无线接口
- Wi-Fi:覆盖广、速度快。适合家庭、办公场景。但功耗高,电池供电的设备慎用。
- Bluetooth / BLE:低功耗、短距离。BLE 是 IoT 传感器的标配。我做过一个温湿度采集器,用 BLE 广播数据,一颗纽扣电池撑了两年。
- LoRa / NB-IoT:远距离、低功耗、低速率。适合智慧城市、农业监测。LoRa 的扩频技术让通信距离可达数公里。
- Zigbee / Thread:Mesh 网络,适合智能家居。每个节点都能中继,覆盖范围可以扩展很大。
| 接口 | 速率 | 距离 | 功耗 | 典型场景 |
|---|---|---|---|---|
| UART | ~1 Mbps | ~1m | 低 | 调试、GPS 模块 |
| I2C | ~400 kHz | ~1m | 低 | 传感器、EEPROM |
| SPI | ~50 MHz | ~0.5m | 中 | 显示屏、ADC |
| CAN | ~1 Mbps | ~40m | 中 | 汽车、工业控制 |
| Ethernet | 10/100/1000 Mbps | ~100m | 高 | 远程升级、数据采集 |
| BLE | ~2 Mbps | ~10m | 极低 | 可穿戴、传感器 |
| LoRa | ~50 kbps | ~5km | 极低 | 智慧农业、抄表 |
我的建议:做部署方案时,先列清楚所有外设的带宽和实时性要求。比如一个摄像头项目,视频流需要 50 Mbps 带宽,你用 SPI 肯定不行,得上 Ethernet 或 USB。别等到联调才发现接口瓶颈。
知识体系总览
下面这张图把本章的核心知识点串起来了。你可以把它当作硬件选型的快速参考。
这张图把处理器、存储器、外设接口三个维度串在了一起。你想想看,做部署升级方案时,是不是得先回答这三个问题:用什么处理器?存哪里?怎么传?
核心观点:硬件基础不是选型表上勾几个参数那么简单。它直接决定了你的 OTA 升级方案怎么做、固件分区怎么划、升级失败怎么回滚。我见过太多项目,硬件选型时图省事,结果部署阶段天天打补丁。所以,这一章的内容,值得你反复琢磨。