C2000邊緣AI全流程實戰:從TinyML訓練到NPU部署

王鵬 吳錦鵬

商品描述

本書面向具備C2000多 核開發基礎的讀者,以TI 的TinyML TensorLab命令 行工具鏈為核心,系統講 解如何在PC端控制模型 訓練與量化優化,並將模 型部署至F28P55x微控制 器的NPU上,實現芯片級 推理,幫助讀者掌握從數 據采集、模型訓練到嵌入 式部署的端到端邊緣AI應 用開發全流程。本書內容 涵蓋嵌入式AI推理引擎構 建(如乒乓操作、NPU集 成),以及二分類、多分 類、無監督異常檢測、回 歸預測等經典任務的落地 方法。本書秉持“單板極 簡實驗”理念,所有案例 均在一塊F28P55x LaunchPad上完成,利用 PWM/DAC模塊產生所需 信號,從單通道采集逐步 演進至多通道融合,並通 過磁芯元件損耗智能評估 等綜合案例,完整展示了 AI產品從原型驗證到工程 化的全過程。這種方式大 幅降低了學習門檻,使讀 者能專註於核心方法,並 快速遷移至各類工業場景 。 本書適合已具備C2000 開發基礎、希望系統掌握 TinyML TensorLab工具鏈 並獨立完成NPU部署的工 程人員,也可作為高等院 校電子信息、自動化、人 工智能等專業邊緣計算、 嵌入式AI開發等課程的本 科生或研究生教材。

目錄大綱

第1章 掌握TinyML TensorLab命令行工具
1.1 從GUI轉向CLI
1.1.1 Edge AI Studio
1.1.2 命令行工具鏈
1.1.3 本書的目標
1.2 搭建開發環境
1.2.1 Python環境搭建
1.2.2 開發工具選擇
1.2.3 核心引擎:PyTorch與TVM
1.2.4 開發者工具箱(Windows)
1.2.5 安裝依賴與編譯器
1.2.6 配置C2000編譯器路徑
1.3 深入剖析TinyML TensorLab架構
1.3.1 目錄結構一覽
1.3.2 新手開發路徑
1.3.3 核心組件功能詳解:ModelZoo
1.3.4 核心組件功能詳解:端到端的模型開發引擎(ModelMaker)
1.3.5 核心組件功能詳解:模型量化與優化利器(ModelOptimization)
1.3.6 核心組件功能詳解:底層訓練引擎(TinyVerse)
1.4 實戰演練:覆現電弧故障檢測全流程
1.4.1 配置檢查與模型確認
1.4.2 訓練執行與日誌解讀
1.4.3 編譯過程與產物分析:從Python到C的跨越
1.5 本章小結
第2章 構建數據閉環:從PWM模擬到自定義模型訓練
2.1 模擬電弧故障的數據采集方案設計
2.1.1 為什麼選擇PWM模擬
2.1.2 硬件連接與測試方案
2.1.3 數據采集流水線架構
2.2 MCU采集固件開發
2.2.1 新建CCS工程
2.2.2 編寫主程序:狀態機與通信協議實現
2.2.3 固化代碼到FLASH
2.3 Python自動化采集工具開發
2.3.1 Python串口通信基礎(pyserial庫簡介)
2.3.2 編寫data_collect.py:自動握手與數據保存
2.3.3 實戰采集:分別獲取“Class 0正常”與“Class 1故障”的原始CSV文件
2.3.4 數據可視化:使用Jupyter Notebook進行交互式分析
2.4 數據集標準化
2.4.1 TI標準數據集結構解析(classes與annotations的作用)
2.4.2 編寫gen_annotations.py:自動劃分訓練集驗證集測試集
2.5 重新訓練與編譯:從欠擬合到 收斂
2.5.1 模型訓練
2.5.2 自定義數據集訓練結果分析:與TI電弧數據集的對比
2.5.3 獲取 終產物
2.6 本章小結
第3章 嵌入式部署:從零構建AI推理引擎
3.1 實時推理架構設計
3.1.1 核心機制:無盲區的乒乓操作
3.1.2 關鍵參數定義
3.1.3 實時性可行性分析
3.1.4 內存規劃與段分配
3.2 新建AI推理CCS工程
3.3 移植預處理算法
3.3.1 特征提取名稱解讀
3.3.2 準備工作
3.3.3 加窗
3.3.4 快速傅裏葉變換
3.3.5 性能加速器:引入FPUfastRTS數學庫
3.3.6 特征工程核心
3.4 集成NPU模型
3.4.1 導入模型文件與工程配置
3.4.2 編寫“膠水代碼”
3.4.3 推理與結果發送函數
3.5 編寫“雙核”主程序
3.5.1 封裝核心業務:preprocess_and_infer
3.5.2 構建乒乓主循環
3.5.3 修改cmd文件
3.5.4 編譯與下載
3.6 推理驗證
3.6.1 執行AI推理
3.6.2 特征值波形
3.6.3 錯誤推理問題
3.6.4 使用內置數據增強器解決錯誤推理
3.6.5 從訓練數據角度解決錯誤推理
3.6.6 推理執行時間測量
3.7 逆向工程化:信號丟失檢測與魯棒性設計
3.7.1 策略設計:三層防禦體系
3.7.2 MCU固件改造:實現能量門控
3.7.3 上位機監控升級:Python腳本適配
3.7.4 實測驗證
3.8 本章小結
第4章 進階分類:從二值判斷到多維診斷
4.1 突破二元對立:多分類模型的設計哲學
4.1.1 分類模型
4.1.2 實驗設計:定義嚴重故障、輕度故障與正常
4.1.3 用於數據采集的CCS工程
4.1.4 數據采集升級
4.1.5 數據集標準化:修改gen_annotations.py
4.2 實戰三分類:全流程覆現
4.2.1 訓練配置
4.2.2 訓練日誌解密
4.2.3 產物驗證:頭文件裏的秘密
4.3 MCU固件升級:實現多級故障診斷
4.3.1 用於三分類推理的CCS工程
4.3.2 上位機監控升級
4.3.3 聯調實測:調節PWM占空比,觀察紅/黃/綠三色狀態切換
4.4 進階擴展Ⅰ:聚焦高頻特征(Half Bandwidth)
4.4.1 物理背景:為什麼電力電子系統需要濾除低頻噪聲
4.4.2 訓練端修改
4.4.3 MCU端適配
4.4.4 PWM模擬與真實電弧
4.5 進階擴展Ⅱ:時頻融合——多幀堆疊與頻帶優化
4.5.1 策略重構:為什麼需要“模糊”與“記憶”
4.5.2 訓練端實現:自定義時空特征參數
4.5.3 MCU端挑戰:構建特征歷史隊列(FIFO)
4.5.4 增加模型容量,提升推理性能
4.5.5 當靜態特征失效時:時序動態信息在故障診斷中的價值
4.6 本章小結
第5章 無監督學習:基於Autoencoder的異常檢測
5.1 從識別已知到拒 未知
5.1.1 分類模型的局限性
5.1.2 自編碼器與重構誤差
5.1.3 異常檢測模型架構
5.2 實驗設計:定義“正常”的邊界

最後瀏覽商品 (1)