端侧 AI/Edge AI SoC 包含的CPU、GPU、NPU、MCU如何协同工作?

Qualcomm 9月1日发布 Dragonwing Q-2390和IQ-2390,表面上看只是Dragonwing产品线增加了两款中低端SoC(System on Chip),但如果放到整个端侧 AI/ Edge AI产业中观察,它释放出的信号其实相当明确:Edge AI正在从“少数高性能设备拥有AI”,进入“成本敏感型设备也可以默认拥有AI”的阶段。

尤其值得关注的是面向工业领域的 Dragonwing IQ-2390。它不是一颗追求高TOPS的AI芯片。官方公布的AI性能只有 1.1 TOPS,与Dragonwing IQ10系列最高350 TOPS相比甚至不在同一个性能档位。它采用四核CPU——1个Cortex-A78加3个Cortex-A55,同时集成Adreno 704 GPU、Hexagon NPU以及一个用于实时处理的RISC-V MCU。可以把这套架构理解成一台小型工业设备里的“异构计算团队”:并不是CPU、GPU、NPU、MCU都去跑同一个AI模型,而是把不同性质的工作分给最合适的计算单元

其中最核心的分工是:

Cortex-A78/A55负责“系统与业务逻辑”,Hexagon NPU负责“AI推理”,Adreno GPU负责“图像并行计算与显示”,RISC-V MCU负责“确定性实时任务”。

端侧 AI/Edge AI SoC 包含的CPU、GPU、NPU、MCU如何协同工作?

这恰恰很适合“目标检测、缺陷分类、OCR、状态识别、异常检测、传感器融合”这类工业Edge AI。

一、先看四类计算单元分别干什么

组件更适合做什么工业设备中的角色
1× Cortex-A78高性能通用计算主控、复杂业务逻辑、AI任务调度
3× Cortex-A55低功耗通用计算网络、协议、数据库、后台服务
Hexagon NPU神经网络矩阵计算CNN/Transformer等AI模型推理
Adreno 704 GPU高并行图形/图像计算图像预处理、后处理、HMI显示
RISC-V MCU低延迟、确定性实时控制IO、传感器采集、实时控制、看门狗

这里最容易产生的误解是:

“有NPU了,还要CPU、GPU、MCU干什么?”

因为一个完整的Edge AI任务实际上不是:

Camera → AI模型。

而通常是:

传感器采集 → 数据预处理 → AI推理 → 结果后处理 → 业务判断 → 控制设备 → 上传数据 → HMI显示。

AI模型本身只占其中一部分。


1. 目标检测:NPU负责“看懂”,CPU负责“决定怎么办”

例如一个工业摄像头检测传送带上的零件。

整个链路可能是:

摄像头

ISP / GPU进行图像处理

Hexagon NPU运行YOLO类模型

CPU处理检测框、置信度和业务规则

RISC-V MCU触发剔除机构

具体而言:

GPU / ISP

先完成:

  • 图像缩放;
  • 色彩转换;
  • 畸变校正;
  • ROI裁剪;
  • 图像增强。

NPU

运行目标检测网络,例如:

YOLO → “这里有一个零件,坐标(x,y),置信度98%”。

这部分包含大量卷积和矩阵乘法,是NPU最擅长的工作。

Cortex-A78

再处理:

“这个零件是不是当前订单要求的型号?”

或者:

“连续三帧检测到才确认。”

以及:

“这个零件的位置什么时候到达气动剔除机构?”

这些属于规则、逻辑、状态机,不适合NPU。

RISC-V MCU

最后到了精确时刻:

GPIO输出 → 电磁阀动作 → 剔除零件。

这一环节不能因为Linux突然调度其他任务而晚50ms,因此由实时MCU执行更合适。

所以这里其实是:

NPU负责感知,CPU负责决策,MCU负责执行。


2. 缺陷分类:NPU往往是真正的主力

例如检查金属表面:

正常 / 划痕 / 裂纹 / 凹坑。

流程可能是:

Camera → 图像预处理 → NPU CNN → 缺陷类型 → CPU规则 → PLC

这时候NPU运行:

  • MobileNet;
  • ResNet;
  • EfficientNet;
  • 小型ViT;

之类的分类模型。

假设得到:

Scratch:0.91
Normal:0.06
Crack:0.03

CPU再根据工厂业务规则决定:

>0.85 → NG

之后通过工业以太网或者IO通知生产系统。

这里GPU甚至可能基本不参与AI计算。

因为对于一个已经量化成INT8的小CNN:

直接交给NPU往往效率最高。

所以异构架构不是“所有单元必须同时工作”,而是按任务选择路径


3. OCR:CPU + GPU/NPU协同尤其典型

工业OCR实际上经常包含两个AI阶段:

文字在哪里?

文字是什么?

例如读取:

产品序列号、生产日期、二维码旁字符。

可能的流程:

第一步:CPU/GPU

做透视校正、旋转、增强、去噪。

第二步:NPU

运行Text Detection模型:

找到文字区域。

第三步:NPU

再运行Text Recognition模型:

“A38B210928”

第四步:CPU

检查:

  • 格式是否合法;
  • 是否与数据库匹配;
  • 是否重复;
  • 是否属于本批次。

因此:

NPU解决“识别”,CPU解决“理解业务含义”。

GPU则比较适合做图像几何处理和HMI叠加,例如在屏幕上实时画出检测框。


4. 状态识别:甚至不一定需要GPU

例如:

通过振动、电流、声音判断:

正常 / 轴承异常 / 不平衡 / 松动。

这种任务的数据可能根本不是图像。

数据链路可以非常简单:

振动传感器

RISC-V MCU实时采样

FFT / 特征计算

NPU运行1D CNN / Tiny Transformer

CPU综合判断

报警 / 上报

这里RISC-V MCU非常重要。

因为它可以按照:

1kHz、5kHz甚至更高固定采样周期

严格采集传感器数据。

然后CPU或者DSP类计算单元完成:

滤波、FFT、RMS、频域特征。

最后NPU运行模型:

“轴承异常概率92%。”

CPU再结合:

转速、负荷、温度、历史状态

判断到底是否需要报警。

因此工业AI中非常典型的一种模式是:

MCU采集 → AI模型判断 → CPU做综合诊断。


5. 简单传感器融合:MCU和CPU的价值反而更突出

假设设备同时有:

振动 + 温度 + 电流 + 转速。

MCU首先负责实时采集:

Acc(t)
Current(t)
RPM(t)
Temperature(t)

关键在于给不同传感器提供统一时间基准

之后CPU进行:

  • 时间对齐;
  • 插值;
  • 滤波;
  • 特征计算;
  • 数据窗口组织。

形成例如:

5秒 × 多传感器

的数据窗口。

再交给NPU运行:

TCN / 1D CNN / LSTM / Transformer

得到:

Normal 0.03
Bearing Fault 0.87
Misalignment 0.10

CPU再结合设备状态和历史数据给出最终判断。

因此所谓Sensor Fusion并不是简单:

“NPU读取所有传感器。”

真正工程结构通常是:

MCU保证数据准确 → CPU整理数据 → NPU发现模式。


为什么还需要一个性能较强的Cortex-A78?

A78的作用很像“车间主任”。

它未必干最繁重的神经网络计算,但要负责协调整个系统。

例如同时运行:

Linux / Android / QNX

以及:

  • AI Runtime;
  • 摄像头管理;
  • 网络通信;
  • OPC UA / MQTT;
  • Web服务;
  • 本地数据库;
  • HMI;
  • OTA;
  • 日志;
  • AI模型切换。

特别是AI应用中还有很多不适合NPU的代码,例如:

如果 defect_score > 0.85
且当前设备处于 RUN 状态
且连续3帧检测到
且当前工件ID有效
则:
    生成NG记录
    保存图片
    通知PLC
    上传MES

这类逻辑CPU做起来非常自然。


为什么还需要3个A55?

因为完全让A78一直运行很浪费功耗。

例如设备大多数时间只需要:

  • 网络连接;
  • MQTT;
  • 日志;
  • 数据上传;
  • HMI后台;
  • 系统守护进程。

可以更多地交给A55。

需要复杂操作时,再让A78介入。

因此:

A78 = 性能核

A55 = 效率核

形成类似手机SoC中的Big.LITTLE架构。


GPU和NPU之间也不是简单竞争关系

两者虽然都可以做并行计算,但定位不同。

NPU

更像:

AI专用发动机

优势是:

  • INT8/INT16效率高;
  • 单位功耗推理性能高;
  • CNN等模型非常合适。

GPU

更像:

通用并行发动机

适合:

  • 图像处理;
  • OpenGL/Vulkan;
  • HMI;
  • 特殊算子;
  • NPU不支持的模型Operator;
  • 某些后处理。

因此实际AI Pipeline可能出现:

GPU preprocess

NPU inference

CPU postprocess

这是非常典型的结构。


RISC-V MCU可能是工业场景里最容易被低估的一块

对于消费Edge AI设备,有没有MCU可能区别不大。

但对工业设备,这块非常重要。

因为:

AI是概率性的,控制系统必须是确定性的。

例如AI判断:

“发现异常工件。”

真正什么时候打开电磁阀,可能要求误差不能超过几毫秒。

不能让Linux CPU去赌调度时间。

于是可以采用:

Linux CPU:
“请在Encoder计数到125430时剔除。”

RISC-V MCU:

持续读取Encoder:

124950
125012
125301
125430

立即:

DO = HIGH

这种架构把:

AI智能

实时控制

进行了非常清晰的隔离。


一台典型Edge AI工业设备可以这样工作

假设做一个AI视觉质检设备:

Camera
  ↓
ISP / GPU
图像处理
  ↓
Hexagon NPU
缺陷AI模型
  ↓
Cortex-A78
业务判断
  ↓
 ┌───────────────┬───────────────┐
 ↓               ↓
A55              RISC-V MCU
MES/数据库        实时IO控制
网络上传          PLC/执行机构
  ↓
Adreno GPU
HMI显示

这就是这类SoC真正有价值的地方。

不是:

“一颗芯片有1.1 TOPS。”

而是它能够把以前可能需要:

CPU板 + AI加速卡 + MCU板 + 图形模块

完成的工作,尽可能压缩到一个SoC平台。

因此对于“目标检测、缺陷分类、OCR、状态识别、异常检测、简单传感器融合”这些应用,更应该把IQ-2390这类架构理解成:

NPU负责AI,CPU负责系统,GPU负责视觉,MCU负责实时世界。

而这四者通过共享内存、驱动和SoC内部高速互连协同起来,最终形成的是一台完整的智能工业控制节点,而不仅仅是一颗“能跑AI模型的芯片”。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

Are you human? Please solve:Captcha