linux_learn/learn/NPU/README.md

51 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# RK3568 NPU 电力波形故障识别 — 完整部署指南
## 概述
本指南覆盖从 PyTorch 模型训练到 RK3568 板端推理的完整链路,专为**电力二次保护设备**场景设计。
### 为什么用 NPU 做波形故障识别?
| 方案 | 推理延迟 | 功耗 | 开发复杂度 |
|------|:---:|:---:|:---:|
| CPU (Cortex-A55) 纯软件推理 | 20~50ms | 高 | 低 |
| NPU 硬件加速 | **1~3ms** | 极低 | 中 |
RK3568 内置 **1 TOPS NPU (INT8)**,专为卷积神经网络优化。电力波形是 1D 时序信号——用 1D-CNN 提取特征NPU 做推理,完全匹配。
### 与 CAN 协议栈的整合
```
录波数据 → 滑动窗口 → NPU 推理 → 故障分类结果
┌────────────────────────────────┘
CAN 协议栈 (learn/CAN/) → 突发上送队列 (PRIO_BURST) → 数据中心
```
### 文档导航
| 序号 | 文档 | 核心内容 |
|:---:|------|------|
| [01](01-NPU硬件与驱动基础.md) | NPU 硬件与驱动基础 | NPU 架构、驱动加载、`npu_transfer_proxy`、基本验证 |
| [02](02-模型训练与导出.md) | 模型训练与导出 | 1D-CNN 设计、数据准备、PyTorch 训练、ONNX 导出 |
| [03](03-RKNN模型转换与量化.md) | RKNN 转换与量化 | RKNN-Toolkit2 安装、配置、校准量化、精度验证 |
| [04](04-板端推理部署.md) | 板端推理部署 | C API 加载模型、预处理、推理循环、结果解析 |
| [05](05-与CAN协议栈整合.md) | 与 CAN 协议栈整合 | 故障编码映射、突发上送、录波文件召唤触发 |
### 硬件信息
- **SoC**: RK3568NPU 算力 1 TOPS (INT8)
- **NPU 架构**: 3 个 NPU 核心(可并行),每个核心含 MAC 阵列 + 卷积加速器
- **支持精度**: FP16 / INT8 / INT16
- **支持算子**: Conv2D, DepthwiseConv, FC, Pooling, Concat, Reshape, Softmax 等(详见 RKNN 算子支持列表)
### 仓库中的已有资料
| 资料 | 路径 |
|------|------|
| Rockchip NPU 开发文档 | `TL3568-EVM.../6-开发参考资料/Rockchip官方参考文档/Common/NPU/` |
| NPU 开发案例手册 | `TL3568-EVM.../3-用户手册/2-13-NPU开发案例.pdf` |
| YOLOv5 目标检测 Demo | `TL3568-EVM.../4-软件资料/Demo/platform-demos/yolov5_object_detect/` |
| RKNN API Demo | SDK 中包含 `external/rknn-toolkit2/` |