From 1902cd0f841d47a43d6c086d8c9d32f86d456f1f Mon Sep 17 00:00:00 2001 From: jim800121chen Date: Fri, 13 Feb 2026 01:06:11 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=20PRD=20=E8=87=B3=20?= =?UTF-8?q?v2.2=20=E2=80=94=20=E6=96=B0=E5=A2=9E=20Kneron=20=E7=A1=AC?= =?UTF-8?q?=E9=AB=94=E8=A6=8F=E6=A0=BC=E8=88=87=E8=B7=AF=E7=B7=9A=E5=9C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 B3.7 硬體支援路線圖(Kneron Dongle → Arduino/KNEO Pi → 開放) - 新增 B3.8 硬體技術規格(KL720/KL730 晶片規格、Kneron PLUS SDK、Toolchain、KneronDFUT) - 新增 A6.3 TOP 3 痛點深度解析(部署後監控、模型漂移偵測、主動學習閉環) - 更新產品定位為 Kneron 晶片深度整合策略 - 更新 B4.3 燒錄協定為具體 Kneron PLUS SDK API - 新增 C3 Kneron 硬體與 SDK 參考來源 Co-Authored-By: Claude Opus 4.6 --- docs/PRD-Integrated.md | 172 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 152 insertions(+), 20 deletions(-) diff --git a/docs/PRD-Integrated.md b/docs/PRD-Integrated.md index 9f49447..7854abe 100644 --- a/docs/PRD-Integrated.md +++ b/docs/PRD-Integrated.md @@ -8,7 +8,7 @@ |------|------| | 文件名稱 | 邊緣 AI 開發平台 PRD | | 產品名稱 | (暫未定名,以下稱「本平台」) | -| 版本 | v2.0 | +| 版本 | v2.2 | | 日期 | 2026-02-11 | | 狀態 | 初稿 | @@ -31,6 +31,8 @@ - [B1. 產品定位與目標](#b1-產品定位與目標) - [B2. MVP 核心流程設計](#b2-mvp-核心流程設計) - [B3. 系統架構設計](#b3-系統架構設計) + - [B3.7 硬體支援路線圖](#b37-硬體支援路線圖) + - [B3.8 硬體技術規格](#b38-硬體技術規格) - [B4. MVP 功能規格](#b4-mvp-功能規格) - [B5. 功能路線圖(Post-MVP)](#b5-功能路線圖post-mvp) - [B6. 商業模式與策略](#b6-商業模式與策略) @@ -609,7 +611,7 @@ UI 標示為「Connect using WebUSB」,但實際使用 **Web Serial API**( > **三步驟將預訓練 AI 模型部署到任何邊緣裝置,並即時驗證推論效果。** - **簡單**:選模型 → 燒錄 → 看結果,三步完成 -- **開放**:不鎖定特定硬體廠商,支援多種開發板 +- **開放**:初期以 Kneron 晶片為核心,未來擴展至多廠商硬體 - **即時**:燒錄完成後立即在裝置上執行推論,結果即時回傳前端顯示 - **本地化**:透過本地端 Backend Server 操作裝置,穩定、安全、不受瀏覽器限制 @@ -618,7 +620,7 @@ UI 標示為「Connect using WebUSB」,但實際使用 **Web Serial API**( | 策略 | 對比競品的差異 | |------|--------------| | **本地端 Server 架構** | SenseCraft 受 Web Serial API 瀏覽器限制;EI daemon 安裝痛苦。本平台使用單一執行檔,零依賴安裝 | -| **硬體中立** | SenseCraft 鎖定 Seeed 硬體。本平台設計裝置通訊抽象層,插件式擴充 | +| **Kneron 晶片深度整合 → 逐步開放** | MVP 以 Kneron Dongle 為首要支援硬體,深度整合 Kneron 工具鏈;透過抽象層設計,未來擴展至其他廠商晶片 | | **預訓練模型優先** | EI 強調從零訓練的完整流程。本平台 MVP 聚焦「選模型→部署→驗證」的最短路徑 | | **即時推論視覺化** | 將裝置端推論結果即時串流到前端,提供直觀的效果驗證體驗 | @@ -757,7 +759,7 @@ UI 標示為「Connect using WebUSB」,但實際使用 **Web Serial API**( ### B2.5 使用者旅程圖 ``` -使用者情境:開發者想在 ESP32-S3 上部署一個人臉偵測模型 +使用者情境:開發者想用 Kneron Dongle 部署一個人臉偵測模型 時間軸 ──────────────────────────────────────────────────► @@ -767,14 +769,14 @@ UI 標示為「Connect using WebUSB」,但實際使用 **Web Serial API**( 本地 Server ───── ───── ───── │ │ │ │ ▼ ▼ ▼ ▼ - 執行安裝檔 開啟瀏覽器 裝置自動偵測 結果即時顯示 + 執行安裝檔 開啟瀏覽器 Dongle 自動偵測 結果即時顯示 (1 分鐘) 瀏覽模型庫 點擊「燒錄」 「偵測到人臉 篩選:偵測 進度 10%→100% 信心 92%」 - 啟動 Server 選:人臉偵測 裝置重啟 + 啟動 Server 選:人臉偵測 裝置就緒 (自動) 查看詳情+相容性 調整 Threshold 點「部署」 查看 FPS - ◄── 約 1 分鐘 ──► ◄── 約 1 分鐘 ──► ◄── 約 2 分鐘 ──► ◄── 持續 ──► + ◄── 約 1 分鐘 ──► ◄── 約 1 分鐘 ──► ◄── 約 1 分鐘 ──► ◄── 持續 ──► 情緒曲線: 😐 安裝 😊 找到模型 😊 一鍵搞定 🎉 成功了! @@ -871,13 +873,14 @@ ws://localhost:PORT/ws/devices/events → 裝置插拔事件 │ ┌─────────────┼─────────────┐ ▼ ▼ ▼ -┌─────────┐ ┌─────────┐ ┌─────────┐ -│ Driver A │ │ Driver B │ │ Driver C │ -│ ESP32 │ │ Grove AI │ │ (擴充) │ -│ │ │ V2 │ │ │ -│ esptool │ │ Xmodem │ │ ... │ -│ 115200 │ │ 921600 │ │ │ -└─────────┘ └─────────┘ └─────────┘ +┌───────────┐ ┌───────────┐ ┌─────────┐ +│ Driver A │ │ Driver B │ │ Driver C │ +│ Kneron │ │ Kneron │ │ (未來 │ +│ Dongle │ │ Arduino / │ │ 擴充) │ +│ (MVP) │ │ KNEO Pi │ │ │ +│ │ │ (Phase 1) │ │ 非 Kneron│ +│ Kneron SDK │ │ Kneron SDK │ │ 晶片 │ +└───────────┘ └───────────┘ └─────────┘ ``` 每個 Driver 實作統一介面: @@ -917,6 +920,120 @@ interface DeviceDriver { | 離線操作 | ✅ 完全離線 | ✅ 相同能力 | | 高鮑率穩定 | ✅ 原生串列埠 | ✅ 相同能力 | +### B3.7 硬體支援路線圖 + +``` +MVP Phase 1 Phase 2+ +────────────── ────────────── ────────────── +Kneron Dongle Arduino 開發板 非 Kneron 晶片 +(USB AI 加速棒) (Kneron 晶片) ────────────── + ────────────── ● ESP32-S3 +● 首要支援硬體 ● KNEO Pi ● Arduino (非 Kneron) +● USB 連接 ● 其他 Kneron ● NVIDIA Jetson +● Kneron NPU 推論 晶片開發板 ● 其他廠商 +● Kneron SDK 整合 ● 透過 Driver 插件擴充 +``` + +**分階段策略:** + +| 階段 | 支援硬體 | 說明 | +|------|---------|------| +| **MVP** | Kneron Dongle | USB AI 推論加速棒,插上即用。深度整合 Kneron SDK,實現模型部署與即時推論 | +| **Phase 1** | Arduino 開發板(Kneron 晶片)/ KNEO Pi | 擴展到同為 Kneron 晶片的其他載體,共用 Kneron SDK 工具鏈 | +| **Phase 2+** | 不限於 Kneron 晶片 | 透過 Driver 抽象層擴充至 ESP32、NVIDIA Jetson 等其他廠商硬體 | + +**設計原則:** MVP 階段深度整合 Kneron 生態,但 Driver 抽象層從第一天就設計好,確保未來擴展硬體支援時不需重構核心架構。 + +### B3.8 硬體技術規格 + +#### Kneron KL720 USB Dongle(MVP 目標硬體) + +| 規格項目 | 內容 | +|---------|------| +| **晶片型號** | Kneron KL720 AI SoC | +| **NPU** | 700 MHz,1.4 TOPS(INT8);能效 0.9 TOPS/W | +| **DSP** | Cadence Tensilica VP6 DSP @ 500 MHz(NPU 協處理器) | +| **CPU** | Arm Cortex-M4 @ 400 MHz(系統控制) | +| **記憶體** | 128 MB LPDDR4(搭配 Winbond 1Gb LPDDR3 DRAM die) | +| **儲存** | SPI Flash + NAND Flash(容量依模組配置) | +| **USB 介面** | USB 3.0(Device mode)+ USB 2.0;主機端透過 USB 連接 | +| **其他介面** | MIPI-CSI-2(攝影機輸入)、SPI、SDIO、UART、I2C、GPIO | +| **影像輸入** | 支援 MIPI-CSI 攝影機模組(晶片層級) | +| **功耗** | 約 1.2 W(NPU 全速推論時) | +| **主機通訊** | 透過 libusb USB bulk transfer | +| **韌體架構** | 雙核 RTOS:SCPU(系統控制)+ NCPU(NPU 推論) | +| **韌體更新** | KneronDFUT 工具(支援 SCPU/NCPU firmware + NEF 模型燒錄) | +| **模型格式** | Kneron NEF(Neural Efficient Format)— 經量化與編譯的專用格式 | +| **外觀** | USB 隨身碟形式,即插即用 | + +#### Kneron KL730 / KNEO Pi(Phase 1 目標硬體) + +| 規格項目 | 內容 | +|---------|------| +| **晶片型號** | Kneron KL730 AI SoC | +| **NPU** | 第三代 KDP 系列可重配置 NPU,最高 8 TOPS(有效算力 4 TOPS) | +| **CPU** | 四核 Arm Cortex-A55(時脈待查) | +| **記憶體** | 待查(高於 KL720 的 128 MB) | +| **儲存** | 4 Gb SPI-NAND Flash + micro-SD 插槽 | +| **USB 介面** | USB 2.0 + USB 3.0 | +| **網路** | Ethernet(乙太網路) | +| **GPIO** | 40-pin(Raspberry Pi 相容排針) | +| **攝影機** | MIPI-CSI,支援最高 8MP @ 90fps 輸入、4K 60fps 處理 | +| **功耗** | 低功耗設計(具體數值待查) | +| **定位** | 開發板形式,類似 Raspberry Pi 的邊緣 AI 開發平台 | +| **SDK** | 與 KL720 共用 Kneron PLUS SDK | + +#### 兩代晶片比較 + +| 比較項目 | KL720(MVP) | KL730(Phase 1) | +|---------|-------------|-----------------| +| NPU 算力 | 1.4 TOPS | 8 TOPS(約 5.7 倍) | +| CPU | Arm Cortex-M4(微控制器) | Arm Cortex-A55 四核(應用處理器) | +| 影像處理 | 基本 | 4K 60fps、8MP 90fps | +| 連接方式 | USB(Dongle 形式) | USB + Ethernet + GPIO 40-pin | +| SDK 相容 | Kneron PLUS SDK | Kneron PLUS SDK(相容) | +| 使用場景 | 筆電/桌機外接 AI 推論 | 獨立邊緣 AI 開發平台 | + +#### Kneron 軟體工具鏈 + +**Kneron PLUS SDK(Platform Libraries Unified Software):** + +| 項目 | 說明 | +|------|------| +| **語言** | C/C++ 與 Python API | +| **通訊協定** | USB bulk transfer(基於 libusb) | +| **核心 API** | `kp_load_firmware()` — 上傳韌體(SCPU/NCPU)到裝置 | +| | `kp_load_model()` / `kp_load_model_from_file()` — 上傳 NEF 模型到裝置 | +| | `kp_load_model_from_flash()` — 從裝置 Flash 載入模型 | +| | `kp_get_model_info()` — 取得模型資訊(CRC、Model ID) | +| | `kp_get_system_info()` — 取得系統資訊(KN number、韌體版本) | +| **加密支援** | 支援上傳加密 NEF 模型 | +| **安裝需求** | Windows: Git for Windows SDK + libusb + cmake + Zadig(USB driver) | +| | Linux: 需配置 USB 權限(udev rules) | +| **限制** | 不支援 SELinux 環境 | + +**Kneron Toolchain(模型轉換工具):** + +| 項目 | 說明 | +|------|------| +| **工具名稱** | `ktc`(Kneron Toolchain Compiler) | +| **轉換流程** | ONNX → BIE(量化中間格式)→ NEF(部署格式) | +| **支援格式** | ONNX opset 11 / 12 | +| **功能** | 模型量化(INT8)、模型編譯、模型最佳化 | +| **API** | Python API(`ktc` 套件) | + +**KneronDFUT(Device Firmware Update Tool):** + +| 項目 | 說明 | +|------|------| +| **功能** | 更新裝置韌體(SCPU firmware + NCPU firmware)及 NEF 模型 | +| **運作方式** | 透過 USB 將 `fw_scpu.bin` / `fw_ncpu.bin` 寫入裝置 Flash | +| **開機流程** | IPL(ROM)→ SPL(Flash)→ SCPU firmware → NCPU firmware | +| **平台支援** | Windows、Linux(含 Raspberry Pi OS) | +| **替代方案** | 可透過 Kneron PLUS SDK API 程式化執行相同操作 | + +> **MVP 開發影響:** 本地端 Backend Server 需整合 Kneron PLUS SDK(透過 CGo 呼叫 C API 或獨立 Python subprocess),實現 USB 裝置偵測、NEF 模型上傳、韌體更新、推論啟動等核心操作。 + --- ## B4. MVP 功能規格 @@ -926,10 +1043,10 @@ interface DeviceDriver { | 項目 | 規格 | |------|------| | **概述** | 提供可瀏覽、搜尋、篩選的預訓練模型庫 | -| **模型來源** | 初期可整合公開模型(如 TFLite Model Zoo、Seeed 公開模型等) | +| **模型來源** | 初期以 Kneron 模型庫(支援 Kneron NPU 的預訓練模型)為主,未來擴展其他來源 | | **模型卡片資訊** | 名稱、縮圖、任務類型、支援硬體、模型大小、準確度、描述 | | **篩選維度** | 任務類型 / 硬體相容性 / 模型大小 / 關鍵字搜尋 | -| **模型格式** | 依裝置而異(TFLite / ONNX / 專用格式) | +| **模型格式** | Kneron NEF(Kneron 專用格式)為主;未來擴展支援 ONNX / TFLite 等 | | **儲存** | 模型中繼資料可存雲端;模型檔下載到本地 Server 快取 | ### B4.2 F2 — 裝置連線與管理 @@ -948,8 +1065,8 @@ interface DeviceDriver { | 項目 | 規格 | |------|------| | **概述** | 將選定模型燒錄到目標裝置 | -| **燒錄協定** | 依裝置 Driver 而定(Xmodem / esptool / 其他) | -| **燒錄流程** | 自動進入 bootloader → 傳輸 binary → 驗證 → 重啟 | +| **燒錄協定** | MVP 使用 Kneron PLUS SDK:`kp_load_model()` 上傳 NEF 模型、`kp_load_firmware()` 更新韌體;未來依 Driver 擴充 | +| **燒錄流程** | USB 連線 → `kp_load_model_from_file(nef_path)` 傳輸 NEF → 驗證 CRC → 裝置自動重啟 | | **進度回報** | WebSocket 即時回報百分比,前端顯示進度條 | | **錯誤處理** | 逾時重試、傳輸錯誤偵測、使用者可讀的錯誤訊息 | | **安全性** | 燒錄前確認模型與裝置相容;提示使用者確認覆寫 | @@ -1067,7 +1184,7 @@ Phase 3 — 進階功能(長期差異化) | 維度 | 策略 | |------|------| -| **硬體** | 硬體中立,透過 Driver 插件支援多廠商。初期聚焦社群主流板(ESP32-S3、Grove AI V2 等) | +| **硬體** | MVP 以 Kneron Dongle 為核心 → Phase 1 擴展至 Kneron Arduino / KNEO Pi → Phase 2+ 開放非 Kneron 晶片,透過 Driver 插件支援多廠商 | | **模型** | 開放模型市集,整合公開模型庫 + 允許社群貢獻 | | **社群** | 開源 Driver SDK,鼓勵社群貢獻硬體支援 | | **整合** | API 優先設計,未來可整合 CI/CD、IoT 平台等 | @@ -1136,6 +1253,21 @@ Phase 3 — 進階功能(長期差異化) | `wicg.github.io/serial/` | W3C 標準 | Web Serial API 規格 | | `pkg.go.dev/go.bug.st/serial` | Go 套件 | Go 串列埠通訊(建議方案) | +### Kneron 硬體與 SDK 來源 + +| 來源 | 類型 | 說明 | +|------|------|------| +| `mouser.com/catalog/specsheets/Kneron_01292021_KL720B3421B.pdf` | Datasheet | KL720 AI SoC 初步規格書(Version 0.8) | +| `mouser.com/.../Kneron_KP73B703A_M1__KL730_KNEOPi_HDK_V2_0_Spec` | Datasheet | KL730 KNEO-Pi V2.0 HDK 規格書 | +| `doc.kneron.com/docs/720_2.2.0/introduction/` | 官方文件 | KL720 SDK v2.2.x 文件中心 | +| `doc.kneron.com/docs/plus_python/api_document/V1.3.0/kp/core/` | API 文件 | Kneron PLUS Python SDK — kp.core API 參考 | +| `doc.kneron.com/docs/plus_c_api/api_reference_1.1.x/kp_core.h/` | API 文件 | Kneron PLUS C API — kp_core.h 參考 | +| `github.com/kneron/host_lib` | GitHub | Kneron USB Dongle Python 範例 | +| `kneron.com/page/soc/` | 官方頁面 | Kneron 邊緣 AI 晶片產品總覽(KL520/KL720/KL730) | +| `kneron.com/news/blog/178/` | 官方部落格 | KL730 AI 晶片發佈公告 | +| `cnx-software.com/2020/09/02/kneron-kl720-arm-cortex-m4-ai-soc/` | 媒體報導 | KL720 技術規格分析(CNX Software) | +| `winbond.com/.../high-bandwidth-1gb-lpddr3-helps-kneron-kl720/` | 合作夥伴 | Winbond LPDDR3 搭配 KL720 資訊 | + --- -*文件版本:v2.0 | 日期:2026-02-11 | 狀態:初稿* +*文件版本:v2.2 | 日期:2026-02-11 | 狀態:初稿*