第二章:嵌入式AI硬件选型:MCU vs MPU、NPU与DSP加速器、主流芯片平台对比

做电池供电的AI算法移植,第一步不是写代码,而是选芯片。

选错了,后面全白干。我见过太多项目,算法在PC上跑得飞起,一放到嵌入式设备上就卡成PPT。说白了,硬件选型决定了你的AI算法能不能真正落地。

2.1 MCU vs MPU:核心差异在哪?

先搞清楚这两个概念。MCU(微控制器)和MPU(微处理器)是嵌入式世界的两大阵营。

MCU的特点:

  • 芯片内部集成了Flash和RAM,一 chip 搞定
  • 功耗极低,毫瓦级甚至微瓦级
  • 实时性好,中断响应快
  • 适合做轻量级AI推理,比如关键词唤醒、手势识别

MPU的特点:

  • 需要外接DDR和存储,系统更复杂
  • 性能强,主频动不动上GHz
  • 能跑Linux,生态丰富
  • 适合做复杂视觉处理、目标检测这类重活

我的经验:电池供电设备,首选MCU。为什么?功耗是硬门槛。我曾经做过一个智能门锁项目,用MPU方案,待机功耗3mA,电池撑不过两周。换成MCU后,待机降到10μA,续航直接拉到半年。

但注意,MCU的算力天花板很低。如果你的模型超过1MB,或者需要处理图像,MCU基本就扛不住了。这时候就得考虑MPU,或者带NPU的MCU。

2.2 NPU与DSP加速器:算力倍增器

光靠CPU硬算,效率太低了。你想想看,CPU是通用处理器,干AI这种矩阵运算,就像用菜刀砍树——能砍,但累得慌。

NPU(神经网络处理器):

  • 专门为卷积、矩阵乘法设计的硬件
  • 能效比是CPU的10-100倍
  • 支持量化推理(INT8/INT4)
  • 典型代表:STM32N6的NPU、瑞萨的DRP-AI

DSP(数字信号处理器):

  • 擅长向量运算和滤波
  • 适合做音频处理、传感器数据预处理
  • 功耗比NPU还低,但算力也弱一些
  • 典型代表:ESP32的ULP协处理器、i.MX RT的DSP核

避坑指南:我曾经踩过一个坑——以为NPU能搞定所有AI任务。结果发现,NPU对模型结构有要求,比如不支持某些激活函数、不支持动态形状。所以选型前,一定要确认你的模型能不能在目标NPU上跑通。

我的建议是:

  • 纯音频AI(关键词唤醒、降噪):DSP就够了
  • 轻量视觉(人脸检测、二维码识别):NPU是必须的
  • 复杂视觉(目标跟踪、语义分割):得上MPU+NPU组合

2.3 主流芯片平台对比

市面上能跑AI的嵌入式芯片不少,我挑三个最常用的说说。

特性 STM32(如H7/N6) ESP32(如S3) i.MX RT(如1170)
核心架构 Cortex-M7/M4 + NPU Xtensa LX7 + 向量扩展 Cortex-M7 + DSP + GPU
主频 480-550 MHz 240-480 MHz 800-1000 MHz
AI加速 STM32N6有NPU,H7靠CMSIS-NN ESP-DL库 + 向量指令 DSP + 硬件卷积加速器
功耗 极低(μA级待机) 低(mA级) 中等(几十mA)
生态 STM32Cube.AI、X-CUBE-AI ESP-IDF、ESP-DL MCUXpresso、eIQ
适合场景 传感器AI、轻量视觉 物联网AI、音频处理 边缘视觉、HMI交互

STM32系列:我最常用的平台。生态太完善了,STM32Cube.AI可以直接把训练好的模型转成C代码。我做过一个振动检测项目,用STM32H7跑一个2层CNN,推理时间只要3ms,功耗才15mW。嗯,这里要注意,STM32的Flash和RAM有限,模型量化是必须的。

ESP32系列:WiFi/蓝牙一体,天生适合物联网。ESP32-S3加入了向量扩展指令,跑AI比老款快不少。我记得有个智能家居项目,用ESP32做语音唤醒,模型大小才80KB,跑在DSP协处理器上,待机功耗做到5μA。但说实话,ESP32的AI算力还是偏弱,复杂模型就别想了。

i.MX RT系列:性能怪兽。主频1GHz,带DSP和2D GPU,跑AI视觉很爽。我做过一个工业缺陷检测,用i.MX RT1170跑MobileNetV2,帧率能到30fps。但代价是功耗高,电池供电的话得做好电源管理。

重要提醒:选型不能只看芯片本身。还要看开发工具链、社区支持、供货周期。我有个朋友选了冷门芯片,结果模型转换工具bug一堆,折腾了两个月。所以,选主流平台,省心。

2.4 我的选型决策流程

说了这么多,到底怎么选?我总结了一个三步法:

  1. 算力估算:先跑一下模型,看需要多少MACs(乘加运算量)。比如一个1MB的CNN模型,大概需要50-100M MACs。MCU能扛住吗?扛不住就上NPU或MPU。
  2. 功耗预算:电池容量除以目标续航,算出平均功耗上限。比如1000mAh电池,目标续航30天,平均功耗不能超过1.4mW。这个数字决定了你能不能上MPU。
  3. 接口需求:需要摄像头?需要WiFi?需要多个传感器?接口越多,芯片越贵,功耗也越高。

举个例子:一个智能门锁项目,需要人脸识别+WiFi通信+电池供电。我的选择是:主控用ESP32-S3(带WiFi),AI推理用NPU协处理器(比如外接MAX78000),待机时关掉主控,只留NPU做低功耗人脸检测。这样待机功耗做到20μA,人脸识别功耗50mW,电池能用半年。

最后说一句,没有完美的芯片,只有合适的方案。选型时多问自己一句:这个芯片的短板,我能接受吗?想清楚了再动手。

下一章,我们聊聊模型量化——把浮点模型变成整数模型,这是嵌入式AI落地的关键一步。