zhoujie b69717b964 📝 docs(design): 新增系统设计文档集
 feat(system-overview): 创建系统总览文档
- 描述项目背景与硬件平台配置
- 提供 FreeRTOS 任务拓扑表(任务优先级、栈大小、职责)
- 详细说明系统启动序列和初始化依赖关系
- 绘制 2D/1D 状态机完整流程图
- 解释 TEMP_REQ 辅助通道工作机制
- 说明任务间同步机制(Frame_Ready_Flag、双缓冲 TX)

 feat(dvp-module-design): 创建 DVP 模块设计文档
- 提供 DVP 硬件连接引脚映射表
- 描述 DVP 时序配置(信号极性、工作模式)
- 解释 DMA ping-pong 行缓冲机制和切换逻辑
- 说明 DVP IRQ 帧组装流程(STR_FRM/ROW_DONE)
- 定义 FrameBuffer 数据格式和像素访问方式
- 说明 TMP 模式温度换算公式和字节序要求

 feat(qdx-protocol-design): 创建 QDX 协议设计文档
- 描述完整 TLV 帧结构(FrameHeader + TLV + CRC)
- 列出所有 Class/Type 映射表和用途说明
- 解释零拷贝 TX 缓冲区架构(HeadOffset 机制)
- 说明分片机制和最大载荷限制
- 定义 Flags 字段各位含义和使用场景

 feat(tcp-module-design): 创建 TCP 通信模块设计文档
- 描述双流连接架构(控制流 5511 / 数据流 5512)
- 说明握手流程和连接建立时序
- 解释心跳机制和 TCP Keepalive 配置
- 描述配置下发与缓存机制
- 说明数据发送队列和背压处理策略
- 解释 WCHNET 网络栈驱动任务工作机制

 feat(integration-guide): 创建对接集成指南
- 提供网络接入参数表(IP、端口、协议)
- 详细说明握手流程和配置下发格式
- 提供 2D/1D 温度帧解析方法和示例代码
- 说明检测结果上报和 NG 响应机制
- 解释 TEMP_REQ 按需截图工作方式
- 列出错误码表和对接故障排查步骤
2026-03-15 19:17:41 +08:00

63 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# integration-guide Specification
## Purpose
TBD - created by archiving change software-design-doc. Update Purpose after archive.
## Requirements
### Requirement: 对接方网络接入参数说明
文档 SHALL 提供上位机ConfigServer与采集端建立 TCP 连接所需的全部参数。
#### Scenario: 对接方配置 TCP Server 监听端口
- **WHEN** 对接方开发服务端程序时
- **THEN** 文档 SHALL 提供MCU 默认 IP=192.168.7.10Subnet=255.255.255.0Gateway=192.168.7.1Server 需在 192.168.7.50 监听两个端口5511控制流MCU 主动连入)和 5512数据流MCU 主动连入);以太网接口为 1000M RGMII
### Requirement: 握手流程说明
文档 SHALL 描述 MCU 上电后的握手过程,使对接方能正确识别采集端设备。
#### Scenario: 对接方接收第一个数据包并识别设备
- **WHEN** MCU 连接后发送握手帧时
- **THEN** 文档 SHALL 说明MCU 在控制流连接成功后发送 TYPE_HANDSHAKEClass=CLASS_SYSTEM含 ProtocolVersion=0x0200、DeviceUUID=MAC 地址、AuthToken=全零);服务器 SHALL 回复握手响应以完成握手;握手完成后 MCU 才开始正常数据上报
### Requirement: 配置下发格式说明
文档 SHALL 描述服务器向 MCU 下发配置的帧格式和所有配置字段含义。
#### Scenario: 对接方配置 2D 触发模式
- **WHEN** 对接方发送 Config2D 配置帧时
- **THEN** 文档 SHALL 提供 Config2D_t 所有字段Enabled(uint8_t)、TriggerMode(uint8_t, 0=内部温度/1=外部GPIO)、TriggerDebounceIntervalMs(uint16_t)、TriggerDelayMs(uint16_t)、TriggerBurstCount(uint8_t)、TriggerInternalIntervalMs(uint16_t)、TriggerTemperatureThreshold(int16_t, 0.1°C/LSB)、TriggerCondition(uint8_t, 0=Avg/1=Max)、TriggerRoiX/Y/W/H(uint16_t)、TargetWidth/Height(uint16_t)、NGioDelay(uint16_t, ms)
#### Scenario: 对接方配置 1D 采集模式
- **WHEN** 对接方发送 Config1D 配置帧时
- **THEN** 文档 SHALL 提供 Config1D_t 所有字段Enabled(uint8_t)、RunMode(uint8_t, 0=STOP/1=RUN)、TriggerType(uint8_t, 1=内部/2=外部)、TriggerTempLimit(int16_t)、HighTimerLimit(uint16_t, ms)、NgCountLimit(uint16_t, 帧数)、BufferSize(uint16_t)、LSizeStart/RSizeStart(uint16_t, 切片参数)
### Requirement: 温度帧数据包格式说明
文档 SHALL 描述 MCU 上报的温度帧数据包的完整格式,使对接方能正确解析。
#### Scenario: 对接方解析收到的 2D 温度帧
- **WHEN** 数据流收到 TYPE_TEMP_FRAME 包时
- **THEN** 文档 SHALL 说明Value 区域含 PreprocessResult 元数据ValidWidth × ValidHeight 像素数组);像素为 uint16_t little-endian单位 0.1°C/LSB元数据含 MaxTemp/MinTemp/AvgTemp/RoiTemp均 int16_t, 0.1°C/LSB、ValidWidth/ValidHeight实际 ROI 尺寸、FrameNumber
#### Scenario: 对接方解析收到的 1D 温度帧
- **WHEN** 数据流收到 1D TYPE_TEMP_FRAME 包时
- **THEN** 文档 SHALL 说明is2D=0每个样本 4 字节:[time_off_lo, time_off_hi, temp_lo, temp_hi]time_offset 为相对采集开始的 ms 偏移uint16_ttemp 为 uint16_t 0.1°C/LSB
### Requirement: 触发结果上报和 NG 响应机制说明
文档 SHALL 描述采集端如何响应服务器的 DetectionResult 决策和触发 NG 输出。
#### Scenario: 对接方下发检测结果
- **WHEN** 服务器完成图像分析后回传结果时
- **THEN** 文档 SHALL 说明:服务器发送 TYPE_DETECTION_RESULT含 frameNumber、resultStatus0=NG/1=OKMCU 收到 resultStatus=0 时触发 PA8 高电平 NGioDelay ms默认 200ms对接方可通过 NGioDelay 配置 NG 输出脉宽
### Requirement: TEMP_REQ 按需截图说明
文档 SHALL 描述服务器如何向 MCU 请求即时截图。
#### Scenario: 对接方请求单帧截图
- **WHEN** 服务器需要调试或核查当前热场时
- **THEN** 文档 SHALL 说明:控制流发送 TYPE_CONFIG_COMMON 或专用 TEMP_REQ 命令(含 is2dRequest 字段MCU 将在下一个业务循环发送当前最新帧2D 返回 ROI 裁切后温度矩阵1D 返回中心行 30 个等间距采样点;仅在对应模式已 Enabled 时响应
### Requirement: 错误码和异常处理说明
文档 SHALL 列出协议层所有错误码含义及对接方应采取的处理措施。
#### Scenario: 对接方收到 ERR 响应帧
- **WHEN** 服务器发送格式错误的配置帧时
- **THEN** 文档 SHALL 列出错误码含义ERR_CRC(0x1001)=CRC 校验失败、ERR_VERSION(0x1002)=协议版本不匹配、ERR_LENGTH(0x1003)=帧长度异常、ERR_AUTH(0x2001)=认证失败、ERR_BUSY(0x2002)=设备忙、ERR_PARAM(0x3001)=参数非法;收到错误码后对接方 SHALL 检查发送的帧格式后重试