## 1. 系统总览文档 - [x] 1.1 创建 `Doc/设计文档/系统总览.md`,包含项目背景和硬件平台(MCU、传感器、网络)概述 - [x] 1.2 编写 FreeRTOS 任务拓扑表:四个任务的名称、优先级、栈大小、职责 - [x] 1.3 编写系统启动序列说明,覆盖外设初始化到 vTaskStartScheduler 的完整步骤 - [x] 1.4 编写 2D 状态机流程:IDLE → DEBOUNCE → DELAY → BURST,含触发条件和参数 - [x] 1.5 编写 1D 状态机流程:S1D_IDLE → S1D_DEBOUNCE → S1D_COLLECTING,含停止条件 - [x] 1.6 编写 TEMP_REQ 实时温度请求处理流程(按需单帧下发逻辑) - [x] 1.7 补充任务间同步机制说明(Frame_Ready_Flag、信号量、帧缓冲双 Buffer 策略) ## 2. DVP 模块设计文档 - [x] 2.1 创建 `Doc/设计文档/DVP模块设计.md`,包含 DVP 硬件连接引脚说明 - [x] 2.2 描述 DVP 时序配置:VSYNC 极性、PCLK 极性、CMOS-8bit 模式 - [x] 2.3 描述 DMA ping-pong 机制:两个 DMA 通道交替接收行数据(512 B/行) - [x] 2.4 描述 DVP IRQ 处理逻辑:STR_FRM 重置行计数、ROW_DONE 累积行、第 191 行置就绪标志 - [x] 2.5 描述帧缓冲格式:`uint8_t[192][512]` = 256 列 × 2 字节/像素,小端序 uint16_t,单位 0.1°C - [x] 2.6 描述 TMP 模式像素换算公式(uint16_t × 0.1 = 摄氏度) ## 3. QDX 协议设计文档 - [x] 3.1 创建 `Doc/设计文档/QDX协议设计.md`,描述帧头 FrameHeader_t 各字段含义和长度 - [x] 3.2 描述 TLV 结构:Type(1 B) + Length(2 B, LE) + Value(N B) 及嵌套帧 = FrameHeader + TLV - [x] 3.3 列出所有帧类型(Class × Type):HANDSHAKE、HEARTBEAT、TEMP_FRAME、CONFIG_COMMON 等 - [x] 3.4 描述零拷贝 TX 方案:TcpTxBuffer 容量 9216 B,HeadOffset=64,帧头在发送前向前写入 - [x] 3.5 描述 TX 分片规则:单 TLV Value 超过 9131 B 时触发分片,Flags.FRAGMENT 置位 - [x] 3.6 描述 Sequence 字段单调递增规则和接收端顺序验证要求 ## 4. TCP 通信模块设计文档 - [x] 4.1 创建 `Doc/设计文档/TCP通信模块设计.md`,说明双流架构:控制流(5511)+ 数据流(5512) - [x] 4.2 描述各套接字专属职责:控制流负责握手/配置/心跳,数据流负责温度帧推送 - [x] 4.3 描述 TCP Keepalive 参数:idle=20000 ms,interval=15000 ms,count=9 - [x] 4.4 描述服务端断线重连机制和连接状态的管理方式 - [x] 4.5 描述配置缓存机制:配置通过控制流接收后缓存,重连后自动恢复 - [x] 4.6 描述 WCHNET 驱动任务(task_wchnet_entry)的轮询周期和优先级要求 ## 5. 对接集成指南 - [x] 5.1 创建 `Doc/设计文档/对接集成指南.md`,包含网络接入参数表(IP、端口、协议) - [x] 5.2 编写握手流程章节:双流连接顺序、HANDSHAKE 帧格式、DevID 验证 - [x] 5.3 编写配置下发章节:Config2D_t 全字段说明和推荐初始值表 - [x] 5.4 编写 1D 配置下发章节:Config1D_t 全字段说明、TriggerType 枚举值 - [x] 5.5 编写温度帧接收章节:2D 矩阵帧解析步骤(像素排列、单位换算) - [x] 5.6 编写 1D 时序帧接收章节:Sample 结构(4 B:time_lo/hi + temp_lo/hi)解析步骤 - [x] 5.7 编写 DetectionResult 和 NG 输出说明:DetectionResult TLV 字段、NG GPIO(PA8)电平含义 - [x] 5.8 编写 TEMP_REQ 请求方法:主动下发 TEMP_REQ 帧触发单帧返回 - [x] 5.9 编写常见错误码表和对接故障排查步骤