diff --git a/Debug/dvp.h b/Debug/dvp.h index 5fd6de9..8ae8ff4 100644 --- a/Debug/dvp.h +++ b/Debug/dvp.h @@ -4,7 +4,7 @@ #define SENSOR_WIDTH 256 #define SENSOR_HEIGHT 192 -#define SENSOR_TOTAL_LINES (SENSOR_HEIGHT + 1) // +1 参数行 +#define SENSOR_TOTAL_LINES (SENSOR_HEIGHT) // TMP 模式无参数行,共 192 行 #define BYTES_PER_LINE (SENSOR_WIDTH * 2) // 每行512字节 #define ALARM_TEMP_RAW 800 // 80.0℃ (raw/10) diff --git a/README.md b/README.md index 5557aed..2ad2552 100644 --- a/README.md +++ b/README.md @@ -253,4 +253,5 @@ IDLE 鈫 瑙﹀彂锛堝閮 GPIO 楂樼數骞宠鏃 or 鍐呴儴杩炵画 3 甯ц秴闃堝硷級 | [Doc/CH32浜岀淮杩愯缁撴瀯姒傝.md](Doc/CH32浜岀淮杩愯缁撴瀯姒傝.md) | 绯荤粺鐘舵佹満鍏ㄦ櫙鍥 | | [Doc/TCPClient娴嬭瘯鎸囧崡.md](Doc/TCPClient娴嬭瘯鎸囧崡.md) | 娴嬭瘯妯″紡浣跨敤璇存槑 | | [Doc/Mini212G2鐢ㄦ埛鎵嬪唽.md](Doc/Mini212G2绯诲垪鐢ㄦ埛鎵嬪唽.md) | 浼犳劅鍣ㄧ‖浠舵墜鍐 | +| [Doc/Mini212G2棰勯厤缃寚鍗.md](Doc/Mini212G2棰勯厤缃寚鍗.md) | **閫氳繃澶栭儴宸ュ叿閰嶇疆浼犳劅鍣ㄧ殑蹇呰鍙傛暟璇存槑**锛圕MOS8 LSB銆乊16銆佸抚鐜囩瓑锛 | | [Doc/Mini212G2涓插彛閫氳鍗忚.md](Doc/Mini212G2涓插彛閫氳鍗忚.md) | 浼犳劅鍣ㄩ氫俊鍗忚 | diff --git a/doc/Mini212G2棰勯厤缃寚鍗.md b/doc/Mini212G2棰勯厤缃寚鍗.md new file mode 100644 index 0000000..44cdc7f --- /dev/null +++ b/doc/Mini212G2棰勯厤缃寚鍗.md @@ -0,0 +1,149 @@ +# Mini212G2 妯$粍棰勯厤缃寚鍗 + +> **閫傜敤鍦烘櫙**锛歁CU 绔 `SENSOR_UART_ENABLE=0`锛屼紶鎰熷櫒閫氳繃澶栭儴宸ュ叿锛圲SB/涓插彛璋冭瘯杞欢锛夐鍏堥厤缃苟淇濆瓨鍒 Flash銆 +> **閰嶇疆宸ュ叿**锛氬彲浣跨敤鍘傚涓婁綅鏈鸿蒋浠舵垨閫氱敤涓插彛璋冭瘯宸ュ叿锛岃繛鎺ヤ紶鎰熷櫒 USB 鎺ュ彛鎴 UART 鎺ュ彛锛115200 8N1锛夈 +> **鍙傝冩枃妗**锛歚Doc/Mini212G2涓插彛閫氳鍗忚.md`銆乣Doc/Mini212G2绯诲垪鐢ㄦ埛鎵嬪唽.md` + +--- + +## 蹇呴』閰嶇疆鐨勫弬鏁帮紙鍏 4 椤癸級 + +浠ヤ笅鍙傛暟涓 MCU DVP 椹卞姩寮鸿﹀悎锛屼换鎰忎竴椤归厤缃敊璇皢瀵艰嚧鍥惧儚鏁版嵁瀹屽叏閿欒銆 + +### 1. 鏁板瓧鍙g被鍨 鈫 CMOS + +| 灞炴 | 鍊 | +|------|-----| +| 璁剧疆鍊 | CMOS | +| 涓插彛鍛戒护 | `55 AA 07 02 01 02 00 00 00 02 04 F0` | +| 鍘熷洜 | MCU 浣跨敤 DVP 8-bit 骞惰鎺ュ彛鎺ユ敹鏁版嵁锛屽繀椤婚 CMOS 妯″紡 | + +--- + +### 2. CMOS 鎺ュ彛 鈫 **CMOS8(LSB)** 鉀 鍏抽敭锛屽繀椤讳负 LSB + +| 灞炴 | 鍊 | +|------|-----| +| **璁剧疆鍊** | **CMOS8(LSB)** | +| 涓插彛鍛戒护 | `55 AA 07 02 01 04 00 00 00 02 02 F0` | +| 鉂 绂佹璁剧疆 | CMOS8(MSB) 鈫 `55 AA 07 02 01 04 00 00 00 01 01 F0` | + +**鍘熷洜锛堝瓧鑺傚簭锛**锛 + +CH32V307 鏄皬绔簭锛圠ittle-Endian锛夊鐞嗗櫒锛孌VP DMA 鎸夊瓧鑺傞『搴忎緷娆″啓鍏 `FrameBuffer`锛屼唬鐮侀氳繃 `(uint16_t*)FrameBuffer` 鐩存帴璇诲彇 16-bit 娓╁害鍊硷細 + +``` +FrameBuffer[row][0] 鈫 uint16_t 浣庡瓧鑺傦紙bits[7:0]锛 +FrameBuffer[row][1] 鈫 uint16_t 楂樺瓧鑺傦紙bits[15:8]锛 +``` + +| 浼犳劅鍣ㄦā寮 | DVP 鍏堟敹鍒 | uint16_t 璇诲彇缁撴灉 | +|---|---|---| +| LSB锛堜綆瀛楄妭鍏堝彂锛 | 浣庡瓧鑺 | 鉁 姝g‘ | +| MSB锛堥珮瀛楄妭鍏堝彂锛 | 楂樺瓧鑺 | 鉂 瀛楄妭鍙嶅簭锛屾俯搴﹀煎畬鍏ㄩ敊璇 | + +--- + +### 3. CMOS 鍐呭 鈫 **TMP** 鉀 鍏抽敭锛屽繀椤讳负 TMP锛堜笉鏄 Y16锛 + +| 灞炴 | 鍊 | +|------|-----| +| **璁剧疆鍊** | **TMP** | +| 涓插彛鍛戒护 | `55 AA 07 02 01 03 00 00 00 08 0F F0` | +| 鉂 绂佹璁剧疆 | Y16 鈫 `55 AA 07 02 01 03 00 00 00 02 05 F0` | + +> **Mini212G2 鏄祴娓╁瀷浜у搧锛屾敮鎸 TMP 妯″紡銆** 鑻ヤ笉纭畾锛屼娇鐢ㄥ墠璇蜂笌鍘傚纭銆 + +**涓轰粈涔堝繀椤婚 TMP锛屼笉鑳介 Y16**锛 + +| 妯″紡 | 鏁版嵁鍚箟 | MCU 鏄惁鍙洿鎺ヤ娇鐢 | +|------|----------|--------------------| +| **TMP锛堟俯搴︾煩闃碉級** | 浼犳劅鍣ㄥ唴閮ㄥ凡瀹屾垚杈愬皠瀹氭爣锛16-bit 鍊 = 瀹為檯娓╁害 脳 10锛堝崟浣 0.1掳C/LSB锛 | 鉁 鐩存帴浣跨敤锛屼笌浠g爜鍋囪瀹屽叏鍖归厤 | +| Y16锛堢孩澶栬緪灏勫師濮嬫暟鎹級 | 鍘熷 ADC 璁℃暟鍊硷紝涓嶆槸娓╁害锛屾暟鍊艰秺澶ц〃绀鸿秺鐑絾鏃犲搴旀俯搴 | 鉂 闇瑕佽鍑哄巶鏍囧畾鍙傛暟 + 鎵嬪啓娓╁害瑙g畻鍏紡鎵嶈兘杞崲涓烘俯搴 | + +MCU 浠g爜锛坄qdx_preprocess.c`锛夊皢鍍忕礌鍊肩洿鎺ュ綋 0.1掳C/LSB 鐨勬俯搴︿娇鐢ㄢ斺旇繖姝f槸 **TMP 妯″紡杈撳嚭鐨勬牸寮**锛堝崗璁枃妗g瓑娓╅槇鍊艰寖鍥 -400~5500 瀵瑰簲 -40.0~550.0掳C 鍗 0.1掳C/LSB锛夈傝嫢閰嶇疆涓 Y16锛屾墍鏈夋俯搴﹀垽鏂皢寰楀埌閿欒缁撴灉锛屼絾绯荤粺涓嶄細鎶ラ敊銆 + +鍏朵粬绂佹閫夐」锛 +- `TMP+鍙傛暟琛宍锛堝弬鏁拌浼氭墦涔辫璁℃暟锛宍SENSOR_HEIGHT=192` 瀵瑰簲鍒 193 琛屽悗涓柇寮傚父锛 +- `TMP+YUV422`锛圷UV 閫氶亾鏁版嵁浼氳鐩栨俯搴﹀抚锛 + +--- + +### 4. 甯х巼 鈫 25Hz 鎴 30Hz + +| 灞炴 | 鍊 | +|------|-----| +| 鎺ㄨ崘鍊 | 25Hz | +| 涓插彛鍛戒护锛25Hz锛 | `55 AA 07 02 01 05 00 00 00 00 01 F0` | +| 涓插彛鍛戒护锛30Hz锛 | `55 AA 07 02 01 05 00 00 00 00 01 F0` *(鍙傝鍗忚鏂囨。甯х巼琛)* | + +--- + +## 閰嶇疆鍚庡繀椤讳繚瀛 + +閰嶇疆瀹屾垚鍚庡彂閫佷繚瀛樺懡浠わ紝鍚﹀垯鏂數鍚庨厤缃涪澶憋細 + +``` +淇濆瓨璁剧疆锛55 AA 07 01 00 04 00 00 00 01 03 F0 +``` + +> 鈿狅笍 淇濆瓨鍚庨噸鏂颁笂鐢碉紝閰嶇疆鎵嶄粠 Flash 鐢熸晥銆 + +--- + +## TMP 妯″紡娓╁害鍊兼牸寮忕‘璁 + +Mini212G2 TMP 妯″紡杈撳嚭鏍煎紡锛堝崗璁枃妗 搂2.4.5 绛夋俯闃堝艰寖鍥 -400~5500 瀵瑰簲 -40.0~550.0掳C锛夛細 + +| 鍙傛暟 | 鍊 | +|------|----| +| 鍗曚綅 | 0.1掳C/LSB | +| 缂栫爜 | 鏈夌鍙 16-bit锛坕nt16_t锛 | +| 绀轰緥 | 25.0掳C 鈫 250锛-10.0掳C 鈫 -100锛100.0掳C 鈫 1000 | + +MCU 浠g爜浣跨敤鏂瑰紡锛 + +```c +// qdx_preprocess.c 涓洿鎺ュ皢鍍忕礌鍊煎綋娓╁害锛0.1掳C/LSB锛 +// 绀轰緥锛歵estPattern 闃堝 +#define TEMP_RAW(deg_c) ((uint16_t)((deg_c) * 10)) +// 35.0掳C 鈫 350锛80.0掳C 鈫 800锛90.0掳C 鈫 900 +``` + +**鑱旇皟楠岃瘉姝ラ**锛圱MP 妯″紡锛岄娆′笂鐢靛悗鎵ц锛夛細 + +1. 灏嗕紶鎰熷櫒瀵瑰噯宸茬煡娓╁害鐩爣锛堝瀹ゆ俯绾 25掳C 鐨勫钩鏉跨墿浣擄級 +2. 閫氳繃涓插彛 log 鎵撳嵃 DVP 甯т腑蹇冨儚绱犲師濮嬪 +3. 纭涓績鍍忕礌鍊肩害绛変簬 **250**锛25.0掳C 脳 10锛 +4. 濡傝緭鍑哄煎紓甯革紙濡傜害 2980 鎴栫害 7450锛夛紝璇存槑閰嶇疆鐨勪笉鏄函 TMP 妯″紡锛岄渶閲嶆柊妫鏌ユ楠 3 鐨勯厤缃 + +| 瀹炴祴涓績鍊硷紙绾︼級 | 璇存槑 | +|-----------------|------| +| ~250 | 鉁 TMP 0.1掳C/LSB锛屼笌浠g爜涓鑷 | +| ~2980 | 鉂 鍙兘鏄紑灏旀枃妯″紡锛圞脳10锛夛紝閰嶇疆閿欒 | +| ~7450 | 鉂 鍙兘鏄 Y16 鍘熷 ADC 鍊硷紝搴斿垏鎹负 TMP 妯″紡 | + +--- + +## 閰嶇疆鍛戒护姹囨昏〃 + +| 姝ラ | 鍔熻兘 | 鍛戒护锛圚EX锛 | +|------|------|-------------| +| 1 | 鏁板瓧鍙 鈫 CMOS | `55 AA 07 02 01 02 00 00 00 02 04 F0` | +| 2 | **CMOS 鎺ュ彛 鈫 CMOS8(LSB)** | `55 AA 07 02 01 04 00 00 00 02 02 F0` | +| 3 | **CMOS 鍐呭 鈫 TMP** | `55 AA 07 02 01 03 00 00 00 08 0F F0` | +| 4 | 甯х巼 鈫 25Hz | `55 AA 07 02 01 05 00 00 00 00 01 F0` | +| 5 | **淇濆瓨璁剧疆** | `55 AA 07 01 00 04 00 00 00 01 03 F0` | + +> 姣忔潯鍛戒护鍙戦佸悗绛夊緟 ACK锛歚55 AA 01 00 01 F0`锛屾敹鍒板悗鍐嶅彂涓嬩竴鏉° + +--- + +## 涓嶉渶瑕侀厤缃殑椤圭洰 + +| 鍙傛暟 | 璇存槑 | +|------|------| +| 澶栧悓姝 | 淇濇寔榛樿鍏抽棴锛堝唴鍚屾锛夛紝MCU DVP 浣滀负鎺ユ敹鏂 | +| VSYNC/HSYNC 鏋佹 | MCU 渚у凡閰嶇疆 `VSYNC active-high`锛屼紶鎰熷櫒榛樿杈撳嚭涓鑷 | +| 鍒嗚鲸鐜 | Mini212G2 鍥哄畾 256脳192锛屾棤闇閰嶇疆 | +| NUC 蹇棬琛ュ伩 | 杩愯鏃舵寜闇瑙﹀彂锛坄55 AA 07 02 01 08 00 00 00 01 0D F0`锛夛紝涓嶅睘浜庡惎鍔ㄩ厤缃 | diff --git a/doc/妯″紡閰嶇疆涓庡姛鑳借鏄.md b/doc/妯″紡閰嶇疆涓庡姛鑳借鏄.md index 13eddea..5c168fd 100644 --- a/doc/妯″紡閰嶇疆涓庡姛鑳借鏄.md +++ b/doc/妯″紡閰嶇疆涓庡姛鑳借鏄.md @@ -115,6 +115,7 @@ > 褰撳墠妯$粍宸查氳繃 USB 棰勯厤缃紝MCU UART 閰嶇疆鍔熻兘宸茬敤 `#if 0` 鍏抽棴銆 > **USART2 (PA2/PA3) 寮曡剼宸茶鍗犵敤锛屼笉鍙敤浜庝紶鎰熷櫒閫氫俊銆** +> 棰勯厤缃繀闇閰嶇疆鐨勫弬鏁拌瑙侊細[Doc/Mini212G2棰勯厤缃寚鍗.md](Mini212G2棰勯厤缃寚鍗.md) | 瀹忓悕 | 褰撳墠鍊 | 璇存槑 | |------|--------|------| diff --git a/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/.openspec.yaml b/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/.openspec.yaml new file mode 100644 index 0000000..3f8803d --- /dev/null +++ b/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/.openspec.yaml @@ -0,0 +1,2 @@ +schema: spec-driven +created: 2026-03-15 diff --git a/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/design.md b/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/design.md new file mode 100644 index 0000000..de02282 --- /dev/null +++ b/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/design.md @@ -0,0 +1,53 @@ +## Context + +**鑳屾櫙**锛歁CU 鍥轰欢涓 `SENSOR_UART_ENABLE=0`锛宮ini212g2.c 涓墍鏈変紶鎰熷櫒 UART 閰嶇疆鍛戒护鍧囪 `#if` 灞忚斀锛屼紶鎰熷櫒瀹屽叏渚濊禆澶栭儴宸ュ叿锛圲SB 涓插彛/鍘傚涓婁綅鏈猴級杩涜棰勯厤缃傜幇鏈変唬鐮佸湪浠ヤ笅涓ゅ闅愬惈浜嗗浼犳劅鍣ㄨ緭鍑烘牸寮忕殑鍋囪锛 + +1. **瀛楄妭搴忓亣璁**锛歚dvp.c` 瀵 DMA 閲囬泦鍒扮殑 `uint8_t FrameBuffer[192][512]` 鐩存帴寮鸿浆 `(uint16_t*)` 浣跨敤锛孋H32V307 涓哄皬绔簭锛圠ittle-Endian锛夛紝鍥犳瑕佹眰浼犳劅鍣ㄤ互 **LSB 鍏堝彂**锛堜綆瀛楄妭鍏堝埌 DVP 鏁版嵁绾匡級杈撳嚭 CMOS8 鏍煎紡銆 +2. **Y16 鍗曚綅鍋囪**锛歚qdx_preprocess.c` 灏 Y16 鍘熷鍊肩洿鎺ュ綋 `int16_t` 浣跨敤锛屽湪姣旇緝鍜屼笂鎶ユ椂鎸 0.1掳C/LSB 鐞嗚В锛岃姹備紶鎰熷櫒杈撳嚭鐨 Y16 閲忕翰涓庢涓鑷淬 + +褰撳墠鏃犳枃妗h鏄庤繖浜涚害鏉燂紝鐜板満閮ㄧ讲鏃跺彲鑳藉洜浼犳劅鍣ㄩ厤缃敊璇鑷存暟鎹畬鍏ㄩ敊璇 + +**鍙樻洿鑼冨洿**锛氫粎鏂板鏂囨。锛汳CU 浠g爜涓嶅彉銆 + +## Goals / Non-Goals + +**Goals:** +- 鏄庣‘鍒楀嚭澶栭儴宸ュ叿蹇呴』閰嶇疆鐨勬墍鏈 Mini212G2 鍙傛暟鍙婂叾鍘熷洜 +- 鎻愪緵姣忎釜閰嶇疆椤圭殑涓插彛鍛戒护 HEX锛屼娇鐜板満宸ョ▼甯堝彲鎿嶄綔 +- 瑙i噴瀛楄妭搴忓師鐞嗭紝闃叉璇 MSB 妯″紡 +- 鎻愪緵 Y16 鍗曚綅鐨勭幇鍦鸿仈璋冮獙璇佹柟娉 + +**Non-Goals:** +- 涓嶄慨鏀 MCU 椹卞姩浠g爜锛坄SENSOR_UART_ENABLE` 淇濇寔 0锛 +- 涓嶆秹鍙婄綉缁滃崗璁垨涓婁綅鏈轰慨鏀 +- 涓嶆彁渚 Mini212G2 鍏ㄩ噺鍔熻兘鎵嬪唽锛堝凡鏈 `Doc/Mini212G2绯诲垪鐢ㄦ埛鎵嬪唽.md`锛 + +## Decisions + +### 鍐崇瓥 1锛氭枃妗e舰寮忛噰鐢 鎿嶄綔鎸囧崡锛圚ow-to锛夎岄潪鍙傝冩枃妗o紙Reference锛 + +**鐞嗙敱**锛氱洰鏍囪鑰呮槸鐜板満璋冭瘯宸ョ▼甯堬紝闇瑕佹槑纭殑姝ラ椤哄簭鍜屽彲鎿嶄綔鐨勫懡浠わ紝鑰屼笉鏄畬鏁寸殑鍙傛暟瀛楀吀銆傛搷浣滄寚鍗楁牸寮忥紙鎸夋楠ょ紪鍙凤級鏇寸洿鎺ャ + +**澶囬夋柟妗**锛氱洿鎺ュ湪妯″紡閰嶇疆鏂囨。涓拷鍔犱竴鑺 鈫 鎷掔粷锛屽洜涓鸿鏂囨。瀹氫綅鏄浐浠跺彉閲忚鏄庯紝娣峰叆纭欢閰嶇疆姝ラ浼氱牬鍧忕粨鏋勩 + +### 鍐崇瓥 2锛氬皢 CMOS8(LSB) 鏍囨敞涓 鉀 鍏抽敭姝ラ + +**鐞嗙敱**锛氬瓧鑺傚簭閿欒浼氬鑷存墍鏈夋俯搴︽暟鎹畬鍏ㄩ敊璇紝涓旇〃鐜颁笉鏄庢樉锛堜笉鏄穿婧冿紝鑰屾槸绯荤粺姝e父杩愯浣嗘暟鍊奸敊璇級銆傚己璋冩爣娉ㄥ彲闃叉宸ョ▼甯堣烦杩囪姝ラ銆 + +### 鍐崇瓥 3锛歒16 鍗曚綅鍒楀嚭涓夌甯歌鏍煎紡瀵圭収琛紝鑰岄潪纭紪鐮佺粨璁 + +**鐞嗙敱**锛歁ini212G2 涓嶅悓鍥轰欢鐗堟湰鍙兘瀛樺湪宸紓锛岀幇鍦鸿仈璋冩椂宸ョ▼甯堥渶瑕佷汉宸ュ垽鏂傚鐓ц〃锛圞脳100銆並脳10銆佲剝脳10锛夎鍒ゆ柇鏈夋嵁鍙煡銆 + +### 鍐崇瓥 4锛氬湪 README 鍜屾ā寮忛厤缃枃妗d腑娣诲姞鎸囧悜棰勯厤缃寚鍗楃殑閾炬帴 + +**鐞嗙敱**锛氫繚璇佹枃妗e彲杈炬э紝闃叉瀛ょ珛鏂囦欢涓嶈鍙戠幇銆備袱涓叆鍙f枃妗e潎鏈変紶鎰熷櫒鐩稿叧绔犺妭锛屾槸閾炬帴鐨勮嚜鐒惰惤鐐广 + +## Risks / Trade-offs + +- **椋庨櫓**锛歁ini212G2 鍥轰欢鍗囩骇鍚庡懡浠 HEX 鍙兘鍙樺寲 鈫 **缂撹В**锛氭枃妗i《閮ㄦ敞鏄庨傜敤鍥轰欢鐗堟湰涓 V1.x锛屽苟瑕佹眰鍗囩骇鍚庨噸鏂伴獙璇併 +- **椋庨櫓**锛氬伐绋嬪笀蹇界暐棰勯厤缃寚鍗楃洿鎺ヤ笂鐢 鈫 **缂撹В**锛氬湪 README"蹇熶笂鎵"绔犺妭鍓嶇疆涓鏉¤鍛婏紝鎸囧悜棰勯厤缃寚鍗椼 +- **鏉冭 **锛氭枃妗f柟寮忔棤娉曚粠鍥轰欢灞傞潰寮哄埗绾︽潫浼犳劅鍣ㄩ厤缃紝鍙兘渚濊禆鎿嶄綔瑙勮寖 鈫 鍙帴鍙楋紝鍥犱慨鏀归┍鍔ㄥ鍔犵殑澶嶆潅搴﹀拰缁存姢椋庨櫓鏇撮珮銆 + +## Open Questions + +- Mini212G2 鍏蜂綋 Y16 閲忕翰锛圞脳10 / 鈩兠10 / 鍏朵粬锛夐渶鑱旇皟鍚庣‘璁わ紝褰撳墠鏂囨。鎻愪緵楠岃瘉鏂规硶浣嗘棤缁撹銆 diff --git a/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/proposal.md b/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/proposal.md new file mode 100644 index 0000000..791a59c --- /dev/null +++ b/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/proposal.md @@ -0,0 +1,27 @@ +# Proposal: DVP 鍘熷鏁版嵁閲囬泦娴佺▼楠岃瘉涓庝紶鎰熷櫒棰勯厤缃鑼 + +## Why + +MCU 绔┍鍔ㄤ笉閫氳繃 UART 閰嶇疆浼犳劅鍣紙`SENSOR_UART_ENABLE=0`锛夛紝鑰屾槸渚濊禆澶栭儴宸ュ叿棰勫厛瀹煎叆銆傚綋鍓嶆棤鏂囨。鏄庣‘璇存槑闇瑕侀厤缃摢浜涘弬鏁帮紝瀵艰嚧涓や釜鍏抽敭椋庨櫓锛 +鈶 CMOS8 瀛楄妭搴忥細浼犳劅鍣ㄥ繀椤婚厤缃负 **LSB 妯″紡**锛屽惁鍒 CH32V307锛堝皬绔簭锛夊皢 `uint16_t` 璇诲埌瀛楄妭瀹屽叏鍙嶅簭鐨勯敊璇俯搴﹀硷紱 +鈶 Y16 鍗曚綅锛氫唬鐮佹寜 0.1掳C/LSB 浣跨敤锛岄渶纭瀹為檯浼犳劅鍣ㄨ緭鍑虹殑娓╁害鍗曚綅涓鑷淬 + +## What Changes + +- 鏂板 **Mini212G2 棰勯厤缃寚鍗**锛坄Doc/Mini212G2棰勯厤缃寚鍗.md`锛夛紝鏄庣‘鍒楀嚭澶栭儴宸ュ叿闇瑕佽缃殑鎵鏈夊弬鏁板強鍘熷洜 +- MCU 椹卞姩浠g爜涓嶄綔浠讳綍淇敼锛坄SENSOR_UART_ENABLE` 淇濇寔涓 0锛 + +## Capabilities + +### New Capabilities +- `sensor-preconfig-guide`: Mini212G2 棰勯厤缃寚鍗楁枃妗 + +### Modified Capabilities + +(鏃狅紝MCU 浠g爜涓嶅彉) + +## Impact + +- **鏂板鏂囨。**锛歚Doc/Mini212G2棰勯厤缃寚鍗.md` +- **涓嶆秹鍙** MCU 浠g爜淇敼 +- 閰嶇疆閿欒鎯呭喌涓嬫墍鏈夋俯搴﹀垽鏂拰涓婃姤鏁版嵁鍧囦负閿欒鍊 diff --git a/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/specs/sensor-preconfig-guide/spec.md b/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/specs/sensor-preconfig-guide/spec.md new file mode 100644 index 0000000..70b82fc --- /dev/null +++ b/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/specs/sensor-preconfig-guide/spec.md @@ -0,0 +1,45 @@ +## ADDED Requirements + +### Requirement: 鎻愪緵 Mini212G2 浼犳劅鍣ㄩ閰嶇疆鎿嶄綔鎸囧崡 +鎿嶄綔鎸囧崡鏂囨。锛坄Doc/Mini212G2棰勯厤缃寚鍗.md`锛塖HALL 鏄庣‘璇存槑鍦ㄤ娇鐢 MCU 鍥轰欢閲囬泦鍓嶏紝蹇呴』閫氳繃澶栭儴宸ュ叿瀹屾垚鐨勬墍鏈 Mini212G2 鍙傛暟閰嶇疆姝ラ銆佸搴斾覆鍙e懡浠 HEX 鍙婂師鍥犺鏄庛 + +#### Scenario: 宸ョ▼甯堟煡闃呴厤缃楠 +- **WHEN** 宸ョ▼甯堝噯澶囬儴缃蹭紶鎰熷櫒鏃 +- **THEN** 鏂囨。 SHALL 鎻愪緵缂栧彿鐨勬楠ゅ垪琛紝鍖呭惈姣忔鐨勬搷浣滃唴瀹瑰拰涓插彛鍛戒护 + +#### Scenario: 宸ョ▼甯堟煡鎵剧壒瀹氬弬鏁扮殑鍛戒护 HEX +- **WHEN** 宸ョ▼甯堥渶瑕佸悜浼犳劅鍣ㄥ彂閫侀厤缃懡浠ゆ椂 +- **THEN** 鏂囨。 SHALL 鍖呭惈瀹屾暣鐨勫懡浠 HEX 姹囨昏〃锛屽寘鍚弬鏁板悕绉般佸懡浠 HEX銆佽鏄庝笁鍒 + +### Requirement: 寮哄埗閰嶇疆 CMOS 鍐呭涓 TMP 妯″紡 +鎸囧崡 SHALL 瑕佹眰 CMOS 鍐呭閰嶇疆涓 **TMP**锛堜笉鏄 Y16锛夛紝骞惰鏄庡師鍥狅細MCU 浠g爜灏嗗儚绱犲肩洿鎺ュ綋娓╁害浣跨敤锛0.1掳C/LSB锛夛紝杩欐槸 TMP 妯″紡杈撳嚭鐨勬牸寮忥紝鑰岄潪 Y16 鍘熷 ADC 鍊笺 + +#### Scenario: 宸ョ▼甯堢悊瑙d负浣曞繀椤婚 TMP 鑰岄潪 Y16 +- **WHEN** 宸ョ▼甯堥槄璇 CMOS 鍐呭閰嶇疆姝ラ鏃 +- **THEN** 鏂囨。 SHALL 瑙i噴锛歍MP 杈撳嚭鐨 16-bit 鍊肩洿鎺ユ槸娓╁害锛堜紶鎰熷櫒鍐呴儴宸插畬鎴愬畾鏍囷級锛孻16 鏄師濮 ADC 璁℃暟鍊奸渶鍙﹁娓╁害瑙g畻锛涗唬鐮佸亣璁剧殑 0.1掳C/LSB 灏辨槸 TMP 鏍煎紡 + +#### Scenario: 宸ョ▼甯堣閫変簡 Y16 妯″紡 +- **WHEN** 宸ョ▼甯堝皢浼犳劅鍣 CMOS 鍐呭閰嶇疆涓 Y16 鏃 +- **THEN** 鎵鏈夋俯搴﹀垽鏂皢寰楀埌閿欒缁撴灉锛堝師濮 ADC 鍊艰褰撳仛娓╁害锛夛紝浣嗙郴缁熶笉浼氭姤閿欙紱鏂囨。 SHALL 浠 鉀 璀﹀憡鏍囨敞姝ら闄 + +### Requirement: 鎻愪緵 TMP 妯″紡娓╁害鏍煎紡鑱旇皟楠岃瘉鏂规硶 +鎸囧崡 SHALL 鎻愪緵鑷冲皯涓绉嶅彲鎿嶄綔鐨勭幇鍦洪獙璇佹柟娉曪紝浣垮伐绋嬪笀鑳界‘璁 TMP 妯″紡杈撳嚭鐨 16-bit 鍊煎氨鏄 0.1掳C/LSB 鏍煎紡銆 + +#### Scenario: 楠岃瘉 TMP 杈撳嚭鏍煎紡姝g‘ +- **WHEN** 宸ョ▼甯堥娆¤仈璋冩椂 +- **THEN** 鏂囨。 SHALL 鎻愪緵閫氳繃宸茬煡娓╁害鐩爣瀵规瘮涓績鍍忕礌鍘熷鍊肩殑楠岃瘉姝ラ锛岄鏈熶腑蹇冨儚绱犲潎鍊肩害绛変簬瀹為檯娓╁害 脳 10锛堝 25掳C 瀵瑰簲 250锛 + +#### Scenario: 楠岃瘉缁撴灉涓庨鏈熶笉绗 +- **WHEN** 宸ョ▼甯堝彂鐜板儚绱犲间笉绗﹀悎 0.1掳C/LSB 棰勬湡鏃 +- **THEN** 鏂囨。 SHALL 鍒楀嚭甯歌閿欒鍊煎搴旂殑鍙兘鍘熷洜锛堝閰嶇疆涓 Y16 妯″紡锛屾垨 MSB 瀛楄妭搴忛敊璇級骞惰鏄庡浣曟帓鏌 + +### Requirement: 浠庡叆鍙f枃妗i摼鎺ヨ嚦棰勯厤缃寚鍗 +`README.md` 鍜 `Doc/妯″紡閰嶇疆涓庡姛鑳借鏄.md` SHALL 鍖呭惈鎸囧悜 `Doc/Mini212G2棰勯厤缃寚鍗.md` 鐨勫彲瀵艰埅閾炬帴銆 + +#### Scenario: 宸ョ▼甯堜粠 README 杩涘叆棰勯厤缃寚鍗 +- **WHEN** 宸ョ▼甯堥槄璇 README 鍙傝冩枃妗g珷鑺傛椂 +- **THEN** 鏂囨。鍒楄〃涓 SHALL 瀛樺湪鎸囧悜棰勯厤缃寚鍗楃殑鏉$洰 + +#### Scenario: 宸ョ▼甯堜粠妯″紡閰嶇疆鏂囨。杩涘叆棰勯厤缃寚鍗 +- **WHEN** 宸ョ▼甯堥槄璇绘ā寮忛厤缃枃妗g殑浼犳劅鍣ㄧ浉鍏崇珷鑺傛椂 +- **THEN** 鐩稿叧浣嶇疆 SHALL 鏈夋敞閲婃垨閾炬帴鎸囧悜棰勯厤缃寚鍗 diff --git a/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/tasks.md b/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/tasks.md new file mode 100644 index 0000000..a7dd1e4 --- /dev/null +++ b/openspec/changes/archive/2026-03-15-dvp-raw-data-pipeline/tasks.md @@ -0,0 +1,23 @@ +## 1. 鍒涘缓棰勯厤缃寚鍗椾富浣撴枃妗 + +- [x] 1.1 鏂板缓 `Doc/Mini212G2棰勯厤缃寚鍗.md`锛屽垪鍑 4 椤瑰繀椤婚厤缃殑鍙傛暟锛堣棰戞牸寮 Y16銆丆MOS8 LSB銆佸抚鐜囥佸浘鍍忓昂瀵革級 +- [x] 1.2 鍦ㄦ枃妗d腑璇存槑 CMOS8(LSB) 鐨勫瓧鑺傚簭鍘熺悊锛圕H32V307 灏忕搴 + DVP 鐩存帴寮鸿浆 `uint16_t*`锛 +- [x] 1.3 鍦ㄦ枃妗d腑娣诲姞 鉀 鍏抽敭璀﹀憡锛氳閫 MSB 妯″紡灏嗗鑷存墍鏈夋俯搴︽暟鎹畬鍏ㄩ敊璇 +- [x] 1.4 鎻愪緵姣忎釜閰嶇疆姝ラ瀵瑰簲鐨勪覆鍙e懡浠 HEX 姹囨昏〃 + +## 2. TMP 妯″紡娓╁害鏍煎紡纭锛堝凡鏇存柊锛 + +- [x] 2.1 鍦ㄩ閰嶇疆鎸囧崡涓鏄 TMP 涓 Y16 鐨勬湰璐ㄥ尯鍒紙浼犳劅鍣ㄥ唴閮ㄥ畾鏍 vs 鍘熷 ADC 鍊硷級 +- [x] 2.2 鎻愪緵 TMP 妯″紡鑱旇皟楠岃瘉姝ラ锛堝凡鐭ユ俯搴︾洰鏍囧姣旓紝鏈熸湜涓績鍍忕礌鍊 鈮 瀹為檯掳C 脳 10锛 +- [x] 2.3 璇存槑鑻ラ獙璇佸煎紓甯革紝鍙兘鍘熷洜锛堣閰嶄负 Y16 鎴 MSB 瀛楄妭搴忥級鍙婃帓鏌ユ柟娉 + +## 3. 鏇存柊鍏ュ彛鏂囨。閾炬帴 + +- [x] 3.1 鍦 `README.md` 鍙傝冩枃妗h〃涓柊澧 `Mini212G2棰勯厤缃寚鍗梎 閾炬帴鏉$洰 +- [x] 3.2 鍦 `Doc/妯″紡閰嶇疆涓庡姛鑳借鏄.md` 浼犳劅鍣ㄧ浉鍏崇珷鑺傛坊鍔犳寚鍚戦閰嶇疆鎸囧崡鐨勯摼鎺ユ敞閲 + +## 4. 鑱旇皟楠岃瘉锛堢‖浠讹級 + +- [ ] 4.1 鎸夋寚鍗楀畬鎴愪紶鎰熷櫒澶栭儴閰嶇疆锛岀‘璁よ棰戞牸寮忎负 Y16銆佸瓧鑺傚簭涓 LSB +- [ ] 4.2 涓婄數鍚庢鏌 DVP 閲囬泦鐨勪腑蹇冨儚绱犲師濮嬪硷紝涓庡凡鐭ユ俯搴︾洰鏍囧鐓э紝纭 Y16 閲忕翰 +- [ ] 4.3 鑻ラ噺绾蹭笌 0.1掳C/LSB 涓嶄竴鑷达紝鍦ㄩ閰嶇疆鎸囧崡涓ˉ鍏呭疄娴嬬粨璁哄強鎹㈢畻鍏紡 diff --git a/openspec/specs/sensor-preconfig-guide/spec.md b/openspec/specs/sensor-preconfig-guide/spec.md new file mode 100644 index 0000000..70b82fc --- /dev/null +++ b/openspec/specs/sensor-preconfig-guide/spec.md @@ -0,0 +1,45 @@ +## ADDED Requirements + +### Requirement: 鎻愪緵 Mini212G2 浼犳劅鍣ㄩ閰嶇疆鎿嶄綔鎸囧崡 +鎿嶄綔鎸囧崡鏂囨。锛坄Doc/Mini212G2棰勯厤缃寚鍗.md`锛塖HALL 鏄庣‘璇存槑鍦ㄤ娇鐢 MCU 鍥轰欢閲囬泦鍓嶏紝蹇呴』閫氳繃澶栭儴宸ュ叿瀹屾垚鐨勬墍鏈 Mini212G2 鍙傛暟閰嶇疆姝ラ銆佸搴斾覆鍙e懡浠 HEX 鍙婂師鍥犺鏄庛 + +#### Scenario: 宸ョ▼甯堟煡闃呴厤缃楠 +- **WHEN** 宸ョ▼甯堝噯澶囬儴缃蹭紶鎰熷櫒鏃 +- **THEN** 鏂囨。 SHALL 鎻愪緵缂栧彿鐨勬楠ゅ垪琛紝鍖呭惈姣忔鐨勬搷浣滃唴瀹瑰拰涓插彛鍛戒护 + +#### Scenario: 宸ョ▼甯堟煡鎵剧壒瀹氬弬鏁扮殑鍛戒护 HEX +- **WHEN** 宸ョ▼甯堥渶瑕佸悜浼犳劅鍣ㄥ彂閫侀厤缃懡浠ゆ椂 +- **THEN** 鏂囨。 SHALL 鍖呭惈瀹屾暣鐨勫懡浠 HEX 姹囨昏〃锛屽寘鍚弬鏁板悕绉般佸懡浠 HEX銆佽鏄庝笁鍒 + +### Requirement: 寮哄埗閰嶇疆 CMOS 鍐呭涓 TMP 妯″紡 +鎸囧崡 SHALL 瑕佹眰 CMOS 鍐呭閰嶇疆涓 **TMP**锛堜笉鏄 Y16锛夛紝骞惰鏄庡師鍥狅細MCU 浠g爜灏嗗儚绱犲肩洿鎺ュ綋娓╁害浣跨敤锛0.1掳C/LSB锛夛紝杩欐槸 TMP 妯″紡杈撳嚭鐨勬牸寮忥紝鑰岄潪 Y16 鍘熷 ADC 鍊笺 + +#### Scenario: 宸ョ▼甯堢悊瑙d负浣曞繀椤婚 TMP 鑰岄潪 Y16 +- **WHEN** 宸ョ▼甯堥槄璇 CMOS 鍐呭閰嶇疆姝ラ鏃 +- **THEN** 鏂囨。 SHALL 瑙i噴锛歍MP 杈撳嚭鐨 16-bit 鍊肩洿鎺ユ槸娓╁害锛堜紶鎰熷櫒鍐呴儴宸插畬鎴愬畾鏍囷級锛孻16 鏄師濮 ADC 璁℃暟鍊奸渶鍙﹁娓╁害瑙g畻锛涗唬鐮佸亣璁剧殑 0.1掳C/LSB 灏辨槸 TMP 鏍煎紡 + +#### Scenario: 宸ョ▼甯堣閫変簡 Y16 妯″紡 +- **WHEN** 宸ョ▼甯堝皢浼犳劅鍣 CMOS 鍐呭閰嶇疆涓 Y16 鏃 +- **THEN** 鎵鏈夋俯搴﹀垽鏂皢寰楀埌閿欒缁撴灉锛堝師濮 ADC 鍊艰褰撳仛娓╁害锛夛紝浣嗙郴缁熶笉浼氭姤閿欙紱鏂囨。 SHALL 浠 鉀 璀﹀憡鏍囨敞姝ら闄 + +### Requirement: 鎻愪緵 TMP 妯″紡娓╁害鏍煎紡鑱旇皟楠岃瘉鏂规硶 +鎸囧崡 SHALL 鎻愪緵鑷冲皯涓绉嶅彲鎿嶄綔鐨勭幇鍦洪獙璇佹柟娉曪紝浣垮伐绋嬪笀鑳界‘璁 TMP 妯″紡杈撳嚭鐨 16-bit 鍊煎氨鏄 0.1掳C/LSB 鏍煎紡銆 + +#### Scenario: 楠岃瘉 TMP 杈撳嚭鏍煎紡姝g‘ +- **WHEN** 宸ョ▼甯堥娆¤仈璋冩椂 +- **THEN** 鏂囨。 SHALL 鎻愪緵閫氳繃宸茬煡娓╁害鐩爣瀵规瘮涓績鍍忕礌鍘熷鍊肩殑楠岃瘉姝ラ锛岄鏈熶腑蹇冨儚绱犲潎鍊肩害绛変簬瀹為檯娓╁害 脳 10锛堝 25掳C 瀵瑰簲 250锛 + +#### Scenario: 楠岃瘉缁撴灉涓庨鏈熶笉绗 +- **WHEN** 宸ョ▼甯堝彂鐜板儚绱犲间笉绗﹀悎 0.1掳C/LSB 棰勬湡鏃 +- **THEN** 鏂囨。 SHALL 鍒楀嚭甯歌閿欒鍊煎搴旂殑鍙兘鍘熷洜锛堝閰嶇疆涓 Y16 妯″紡锛屾垨 MSB 瀛楄妭搴忛敊璇級骞惰鏄庡浣曟帓鏌 + +### Requirement: 浠庡叆鍙f枃妗i摼鎺ヨ嚦棰勯厤缃寚鍗 +`README.md` 鍜 `Doc/妯″紡閰嶇疆涓庡姛鑳借鏄.md` SHALL 鍖呭惈鎸囧悜 `Doc/Mini212G2棰勯厤缃寚鍗.md` 鐨勫彲瀵艰埅閾炬帴銆 + +#### Scenario: 宸ョ▼甯堜粠 README 杩涘叆棰勯厤缃寚鍗 +- **WHEN** 宸ョ▼甯堥槄璇 README 鍙傝冩枃妗g珷鑺傛椂 +- **THEN** 鏂囨。鍒楄〃涓 SHALL 瀛樺湪鎸囧悜棰勯厤缃寚鍗楃殑鏉$洰 + +#### Scenario: 宸ョ▼甯堜粠妯″紡閰嶇疆鏂囨。杩涘叆棰勯厤缃寚鍗 +- **WHEN** 宸ョ▼甯堥槄璇绘ā寮忛厤缃枃妗g殑浼犳劅鍣ㄧ浉鍏崇珷鑺傛椂 +- **THEN** 鐩稿叧浣嶇疆 SHALL 鏈夋敞閲婃垨閾炬帴鎸囧悜棰勯厤缃寚鍗