You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AdaReMAC-EdgeVision v5.5.0 — Hệ Thống Thị Giác Máy Tính Nhúng Đồng Xử Lý Thích Nghi Thời Gian Thực
ESP32-S3 WROOM CAM (OV5640) + FPGA Sipeed Tang Nano 20K (GW2AR-LV18QN88C8/I7) + Đo Kiểm Công Suất TI INA219 Kiến trúc Đồng xử lý Phân vai Phương án A · Nén Lũy tiến FOMOResNetCompressed (C_stem = 8, R = [0, 12, 16], PeakAct = 32.255 < 32.768, ACT_AW = 15, 21/46 BSRAM — Tiết kiệm ròng 11 khối BSRAM so với FOMO-Micro32/46 BSRAM) · Mô Hình Công Suất Vật Lý Gowin Power Analyzer Nhất Quán · Bộ Ghi Thống Kê Chuẩn [INA219_BENCH] & Endpoint /api/power_stats · 6 Đèn LED Báo Trạng Thái Trên Tang Nano 20K & Web UI
1. Tổng Quan Dự Án & Kiến Trúc Cốt Lõi (Phiên Bản v5.5.0)
AdaReMAC-EdgeVision (v5.5.0) là hệ thống thị giác máy tính nhúng thời gian thực phối hợp giữa ESP32-S3 WROOM CAM (OV5640), FPGA Sipeed Tang Nano 20K (GW2AR-LV18QN88C8/I7), và cảm biến đo dòng/công suất Texas Instruments INA219:
Kiến trúc Đồng xử lý Thích nghi Phân vai Phương án A (Role-Swapped Adaptive Co-Processing):
Trên ESP32-S3 WROOM CAM:
Core 1 (Luồng Video MJPEG Khóa Kênh HT20 Ở Công Suất Phát Cực Đại 19,5 dBm & Giải mã JPEG tốc độ cao): Thu nhận khung hình JPEG từ cảm biến OV5640 (SVGA 800×600 Q9, lấy nét cuộn dây VCM DAC + làm nét cạnh ISP CIP), phát luồng video MJPEG không trễ tại cổng :81/stream với bộ đệm TCP 64 KB và cơ chế Watchdog Tự động Kết nối lại Stream, đồng thời giải mã nhanh xuống ảnh xám 96×96 (< 14 ms).
Core 0 (Sàng lọc Xấp xỉ Ban đầu, Học Nền 2 Tầng, Điều phối Trạng thái & Lưới Siêu Mịn 48×48): Thực thi tầng nhận dạng xấp xỉ ban đầu fomo_stage1_approx_screen() (< 1,2 ms, Mode 0), vận hành bộ chọn trạng thái state_selector (S0: IDLE_STATIC, S1: SIMPLE_SCENE, S2: COMPLEX_SCENE), tự động gửi lệnh 0x06 CMD_POWER_CTRL đưa Tang Nano 20K vào Deep Sleep S0 khi cảnh tĩnh (vẫn giữ sáng đèn LED1 báo kết nối SPI và LED3 báo trạng thái S0), giải mã tọa độ vật thể trên Lưới Siêu Mịn 48×48 = 2.304 ô (Peak-Guided Watershed + Alpha-Beta Tracker).
Đo kiểm Công suất qua TI INA219 (250 ms / 4 Hz) & Endpoint /api/power_stats: Đọc điện áp rơi trên trở Shunt (10 µV/LSB), điện áp V_bus (4 mV/LSB trên bit [15:3]), dòng điện I_meas (mA), công suất P_meas (mW), điện năng tích lũy (mWh / Joules), đồng thời tích lũy trung bình và độ lệch chuẩn ($\mu \pm \sigma$) theo thuật toán Welford qua $N \ge 100$ mẫu cho từng trạng thái S0, S1, S2 ([INA219_BENCH]) và xuất qua Serial + HTTP /api/power_stats (JSON & CSV).
Nén Lũy tiến Mạng ResNet (FOMOResNetCompressed — DSC + LR [0, 12, 16] + SC + KD) & Giải Quyết Nghịch Lý BSRAM:
Đặt số kênh lớp đầu vào Stem $C_{\text{stem}} = 8$ (48×48×8 = 18.432 byte) kết hợp quy hoạch bộ đệm ping-pong outb = 18.432, giúp địa chỉ kích hoạt đỉnh toàn mạng trên cả 13 lớp chỉ là Peak Address = 32.255 < 32.768 (ACT_AW = 15), chỉ dùng 16 khối SP BSRAM (thay vì 32 khối khi ACT_AW = 16).
Nâng cấp cấu hình phân rã hạng thấp lên R = [0, 12, 16] (4.089 tham số huấn luyện PyTorch, 3.584 trọng số INT8 + 253 bias, 1.127.808 MAC/khung), đóng gói vừa khít 288 / 512 từ nhớ 128-bit trong cùng 5 khối pROM BSRAM (không tốn thêm bất kỳ khối BSRAM nào so với R = [0, 6, 8]).
Nhờ đó, tổng tài nguyên BSRAM của FOMOResNetCompressed trên chip GW2AR-LV18QN88C8/I7 giảm từ 37/46 xuống chỉ còn 16 (SP) + 5 (pROM) = 21 / 46 BSRAM (45,7%), tiết kiệm ròng 11 khối BSRAM so với FOMO-Micro (16 SP + 16 pROM = 32 / 46 BSRAM, 69,6%).
2. Sơ Đồ Đấu Nối Phần Cứng Chuẩn Gọn (v5.5.0)
2.1. Kết Nối Giữa Tang Nano 20K (J2) Và ESP32-S3 WROOM CAM (J3)
Tín hiệu (net)
Tang Nano 20K (J2)
ESP32-S3 (J3)
Ghi chú
spi_sclk
Chân 71
GPIO 1
Xung clock SPI
spi_mosi
Chân 86
GPIO 40
ESP $\to$ FPGA
spi_miso
Chân 49
GPIO 39
FPGA $\to$ ESP
spi_cs_n
Chân 72
GPIO 42
Chọn chip, tích cực mức thấp
fpga_irq
Chân 48
GPIO 38
FPGA báo ngắt cho ESP
+5V_SOURCE
5V
5V
Nguồn chung
GND
GND (3 chân)
GND
Mass chung
Chống nhiễu tự động trong Firmware: Hai chân trống nằm xen giữa cụm chân SPI trên ESP32-S3 (J3) là GPIO 2 (giữa GPIO 1 và GPIO 42) và GPIO 41 (giữa GPIO 42 và GPIO 40) được firmware tự động kéo xuống 0V (GND Shield) để cách ly xung nhịp spi_sclk khỏi các đường dữ liệu.
2.2. Kết Nối Module Đo Dòng & Công Suất TI INA219 Với ESP32-S3 (J3)
Xung nhịp I2C (GPIO 21 làm 0V GND Shield khi nối SCL = GPIO 20)
+5V_IN
VIN+ (IN+)
Nguồn +5V cấp vào
Đầu vào từ nguồn 5V chính
+5V_SOURCE
VIN- (IN-)
5V (ESP32 & Tang Nano)
Đầu ra sau điện trở Shunt R100 (0,100 Ω) cấp chung cho cả 2 board
VCC
VCC
3V3 (hoặc 5V)
Nguồn nuôi IC INA219
GND
GND
GND
Mass chung
3. Mô Hình Công Suất Giải Tích Vật Lý Nhất Quán Với Gowin Power Analyzer (v5.5.0)
Để thống nhất hoàn toàn giữa kết quả phân tích công suất lõi Silicon của Gowin Power Analyzer ($P_{\text{die_static}} = 122,7\text{ mW}$, $P_{\text{die_dyn}} = 27,3\text{--}28,7\text{ mW}$) và công suất đo trên đường nguồn $+5,0\text{ V}$ qua TI INA219, mô hình giải tích $P_{\text{theo}}$ phân rã công suất nhánh FPGA theo phương trình vật lý: