重建保护规划文档:恢复 §1.5/§1.6/§5,清除外部回写损坏

外部工具于 14:04 把本文档回写为旧稿:§1.5/§1.6/§5 丢失、
§10 混入 66 组下划线标签、表格被填充对齐;该旧稿被 aac5f99
一并提交,成为该文件的首次入库内容。

本次按权威来源重建:§1.5 B0 产品定义、§1.6 B0-c 本期范围
(定论 = 骨架全做 + 有效通道子集闭环)、补齐 §5 定值参数模型;
清除全部下划线标签、表格压回仓库紧凑风格;同步 §1.3/§3.3/
§6.4/§7.1/§7.2/§7.3/§9 R1/§10.3。
This commit is contained in:
2026-10-10 14:12:08 +08:00
parent aac5f99fe9
commit dee6233d50
+387 -229
View File
@@ -12,59 +12,165 @@
### 1.1 参考系统(CLS100)保护实现概览
| 维度 | 参考实现 |
| ------ | ------------------------------------------------------------------------------------ |
| 硬件平台 | TI OMAP-L138(ARM926EJ-S + C674x DSP **双核**),无 FPGA |
| 操作系统 | VxWorks |
| 核心分工 | **DSP 核**跑保护算法(1 ms 中断节拍),**ARM 核**跑管理 / 通信 / 人机 |
| 采样率 | 50 Hz 系统,每周波 **20 点** → 保护采样率 **1000 Hz**(`CN_SAM_HERTZ=50`、`CN_SAM_RATE=20`) |
| 内部总线节拍 | **4000 Hz**(80 点/周波,为保护采样率的 4 倍,`CN_WAVE_RATIO=4`),供录波/高频量使用 |
| 保护相量 | **全周傅氏**(全周 DFT),每次刷新 15 个基波相量 + 3 个二次谐波相量 + 1 个五次谐波相量,**每 1 ms 重算** |
| 遥测有效值 | 每 **200 ms** 对 k=1~9 次谐波做 DFT 再**方和根**(`CN_NUM_YCHUMWAVE=9`),得"真有效值"轨 |
| 保护元件 | **89 个模块**(`RelayUnit/PRS_*.c`),统一 `tagPRS_XXX` 接口(Init / Main / 执行函数) |
| 并发机制 | 采样**双缓冲**(2 周波 = 40 点)+ 相量**双区指针原子交换** + 遥测 **0x55/0xaa 计算/拷贝标志协议** |
| 调度 | **时间片表**(单点 / 2 点 / 4 点 / 8 点)按 `g_dwSchedulerCnt` 位掩码分发 |
| 定值 | EEPROM 存定值 + 折算系数(`wCoeEEP` / `wCoeCal` / `wCoeRet`),TLV 通道;遥测微调 TLV10(±10%,0.1% 步长) |
| 有效值口径 | 保护用**基波有效值**(`CN_ANA_VEC_SQRT=FALSE`),计量/遥测用**谐波方和根** |
| 维度 | 参考实现 |
| --- | --- |
| 硬件平台 | TI OMAP-L138(ARM926EJ-S + C674x DSP **双核**),无 FPGA |
| 操作系统 | VxWorks |
| 核心分工 | **DSP 核**跑保护算法(1 ms 中断节拍),**ARM 核**跑管理 / 通信 / 人机 |
| 采样率 | 50 Hz 系统,每周波 **20 点** → 保护采样率 **1000 Hz**(`CN_SAM_HERTZ=50`、`CN_SAM_RATE=20`) |
| 内部总线节拍 | **4000 Hz**(80 点/周波,为保护采样率的 4 倍,`CN_WAVE_RATIO=4`),供录波/高频量使用 |
| 保护相量 | **全周傅氏**(全周 DFT),每次刷新 15 个基波相量 + 3 个二次谐波相量 + 1 个五次谐波相量,**每 1 ms 重算** |
| 遥测有效值 | 每 **200 ms** 对 k=1~9 次谐波做 DFT 再**方和根**(`CN_NUM_YCHUMWAVE=9`),得"真有效值"轨 |
| 保护元件 | **89 个模块**(`RelayUnit/PRS_*.c`),统一 `tagPRS_XXX` 接口(Init / Main / 执行函数) |
| 并发机制 | 采样**双缓冲**(2 周波 = 40 点)+ 相量**双区指针原子交换** + 遥测 **0x55/0xaa 计算/拷贝标志协议** |
| 调度 | **时间片表**(单点 / 2 点 / 4 点 / 8 点)按 `g_dwSchedulerCnt` 位掩码分发 |
| 定值 | EEPROM 存定值 + 折算系数(`wCoeEEP` / `wCoeCal` / `wCoeRet`),TLV 通道;遥测微调 TLV10(±10%,0.1% 步长) |
| 有效值口径 | 保护用**基波有效值**(`CN_ANA_VEC_SQRT=FALSE`),计量/遥测用**谐波方和根** |
> 数据全链路(采样 → 内部总线 → 缓冲 → 预处理 → 算法 → 存储 → 使用)见参考文档《ADC采集至数据使用全流程详解》§5~§7;傅氏原理与系数折算见 `docs/算法/傅氏算法详解.md`。
### 1.2 本项目现状
| 维度 | 现状 |
| ------ | -------------------------------------------------------------------------------------------------------------------------- |
| 硬件平台 | STM32F407ZGTx(Cortex-M4F,168 MHz,**单核**,硬件 FPU) |
| 操作系统 | FreeRTOS V10.3.1(CMSIS-RTOS v2) |
| 维度 | 现状 |
| --- | --- |
| 硬件平台 | STM32F407ZGTx(Cortex-M4F,168 MHz,**单核**,硬件 FPU) |
| 操作系统 | FreeRTOS V10.3.1(CMSIS-RTOS v2) |
| 已实现子系统 | 网络(CH395F)、存储(GD5F2GQ5UE SPI NAND + dhara FTL + FatFs)、时间(SD2506 RTC + `sys_clock`)、配置(cfg_file)、日志、UI(远端显示)、看门狗(IWDG)、FTP |
| 采样硬件 | TPAFE5160(16 位、8 通道**同步**、±5 V 双极性、并行 `GPIOG[15:0]`)+ STM32 内部 ADC1(12 位、9 通道**顺序**扫描、0~3.3 V 单极性) |
| 采样软件 | `Drivers/BSP/TPAFE5160/tpafe5160.h` 驱动就绪(原子快照 API);`App/task/adc_task.c` **空桩**;无周期 CONVST 重触发;STM32 侧无 `HAL_ADC_Start` |
| 保护算法层 | **完全缺失**(无傅氏、无保护元件、无出口、无定值模型) |
| 已知硬件缺陷 | **N-18**:8 路电气量分属两片转换器 → V0.1 上禁止跨转换器做相位/功率/矢量运算 |
| 采样硬件 | TPAFE5160(16 位、8 通道**同步**、±5 V 双极性、并行 `GPIOG[15:0]`)+ STM32 内部 ADC1(12 位、9 通道**顺序**扫描、0~3.3 V 单极性) |
| 采样软件 | `Drivers/BSP/TPAFE5160/tpafe5160.h` 驱动就绪(原子快照 API);`App/task/adc_task.c` **空桩**;无周期 CONVST 重触发;STM32 侧无 `HAL_ADC_Start` |
| 保护算法层 | **完全缺失**(无傅氏、无保护元件、无出口、无定值模型) |
| 已知硬件缺陷 | **N-18**:8 路电气量分属两片转换器 → V0.1 上禁止跨转换器做相位/功率/矢量运算 |
### 1.3 复现范围界定
**本期做(保护链路最小可用集)**
1. 采样与预处理:周期采样触发、通道语义映射、标定、有效性校验、等周波调频、自产零序。
1. 采样与预处理:周期采样触发、通道语义映射、标定、有效性校验、等周波调频、零序通道接入。
2. 相量计算:全周傅氏基波/谐波相量、线/负序/零序合成、双区交换、每 1 ms 刷新。
3. 保护元件:三段式相间过流、三段式零序过流、过负荷、过压/欠压、过频/低频、零序过压、涌流制动、PT/CT 断线、母线接地告警、故障启动。
3. 保护元件:**V0.1 测量有效子集**——过压/欠压(`UA`)、零序过压(`UN`)、过流(A 相,`IA`)、过负荷(A 相)、过频/低频;三相完整过流、零序过流、涌流制动、PT/CT 断线等**建接口不使能**,待 V0.2(见 §1.6)。
4. 出口与记录:跳闸/告警出口、SOE/动作记录、定值模型与 cfg_file 集成、自检闭锁。
> ⚠️ **V0.1 硬件裁剪**(2026-10-10 定性):本清单受 **N-18**(跨转换器无同一时刻性)与**"STM32 侧无中点偏置"**两条约束,实际可闭环的保护元件见 **§1.6**——V0.1 上只有 TPAFE 三路(`UA`/`UN`/`IA`)测量有效。
**本期不做(延后或依赖条件)**
- 方向元件 / 功率 / 功率因数 / 对称分量类运算——受 **N-18** 制约,V0.1 上取子板计量结果,或待 V0.2 硬件改版后实现。
- 三相完整过流、零序过流、依赖三相的 PT/CT 断线——需 V0.2 硬件(8 路电气量全上 TPAFE + 中点偏置)后启用。
- 重合闸、馈线自动化(FA)等 FTU 专有功能——视产品定义(B0)。
- 双核 / DSP 拆分、VxWorks 特有机制、IEC 61850、完整故障录波——与单核 FreeRTOS 平台不匹配。
- 参考系统 89 个模块的**全量**移植——按需裁剪,只复现本产品定义的元件集。
### 1.4 前置依赖与阻塞项
| 依赖 | 说明 | 状态 |
| --------------- | ------------------------------------------------------------ | ------------------------ |
| **B0 产品定义** | 采集是否持续 / 采样率与通道 / 转发目标 / 保护元件清单——决定 B1 与保护层的**规模** | ✅ 已确认(2026-10-10,见 §1.5) |
| **B1 ADC 采集链路** | 周期 CONVST + `adc_task` 消费 `tpafe5160_snapshot()` + 建任务 + 栈预算 | ⬜ 未实现(驱动契约已就绪) |
| **N-18 硬件缺陷** | V0.1 跨转换器无同一时刻性 → 限定 V0.1 可实现的保护范围 | ⚠️ 硬件改版项(V0.2) |
| **栈预算** | 保护任务栈需入 `Src/freertos.c` 并经 `scripts/stack_report.py` 核算 | ⬜ 待做 |
| 依赖 | 说明 | 状态 |
| --- | --- | --- |
| **B0 产品定义** | 采集是否持续 / 采样率与通道 / 转发目标 / 保护元件清单——决定 B1 与保护层的**规模** | ✅ 已确认(2026-10-10,见 §1.5) |
| **B1 ADC 采集链路** | 周期 CONVST + `adc_task` 消费 `tpafe5160_snapshot()` + 建任务 + 栈预算 | ⬜ 未实现(驱动契约已就绪) |
| **N-18 硬件缺陷** | V0.1 跨转换器无同一时刻性 → 限定 V0.1 可实现的保护范围 | ⚠️ 硬件改版项(V0.2) |
| **栈预算** | 保护任务栈需入 `Src/freertos.c` 并经 `scripts/stack_report.py` 核算 | ⬜ 待做 |
### 1.5 B0 产品定义(2026-10-10 确认)
> **来源**:两份合并——①《检测平台配电终端送检要求(点表)》(省电科院送检要求,**验收口径**);② 参考项目 `APP/EquipCfg/Const_CommPara.c`(**DTU410 / F30(Z)** 的 IEC 104 信息体地址点表,**实现细节**)。
> **口径**:点表定"上送什么、什么格式、什么地址";`Const_CommPara.c` 定"怎么编号、哪些定值"。
**(1)确认结论**
| 项 | 确认结论 |
| --- | --- |
| 定义基准 | 两份合并(点表为验收口径 + 参考项目 104 点表为实现细节) |
| 上行规约(转发目标) | **IEC 60870-5-104**(DL/T 634.5104-2009),以太网 TCP **2404**(**非** ModBus RTU 上行) |
| 主站 / 终端地址 | 主站 `192.168.1.199:2404`;终端 `192.168.1.101~106`(可设);链路地址与 ASDU 公共体地址 2 字节、传送原因 2 字节、**IOA 3 字节**(101 为 2 字节) |
| 采集持续性 | **持续采集**(中断驱动 + 遥测周期上送 + 死区上送 + SOE) |
| 采样率 | **1000 Hz**(20 点/周波 @50 Hz),1 ms 保护节拍 |
| 遥测 | 上送**短浮点**,采集上传**系数 = 1**;点号 `4000H+` |
| 遥信 | 双位置遥信上**双点**,其余**单点**;点号 `0+` |
| 遥控 | **双点命令**,合闸选择 `82H`、执行 `02H`;点号 `6000H+` |
| **RS-485** | **对下 ModBus RTU 采集**(下行采集口,非上行口) |
| 对时 | 点表要求 **SNTP `192.168.1.121:5105`**;本项目**保留自定义 TCP 8888**,SNTP 本期不实现(B0-b) |
| 固有参数 | `8001H~800AH`:终端类型/操作系统/制造商/硬件版本/软件版本/校验码/规约类型/型号/ID/MAC |
| 运行参数 | `8020H~8058H`:死区(电流/交流电压/直流电压/功率/频率/功率因数)、PT/CT 变比、负荷越限/重载/过载报警、录波投退与定值、功率置负 |
| 定值 | `8820H~8882H`:过流 I/II/III 段、零序过流 I/II 段、重合闸、低压/低频、励磁涌流闭锁、小电流接地等 |
**(2)遥测点号 → 本项目通道映射**
| 点号 | 点表语义 | 本项目来源(V0.1) |
| --- | --- | --- |
| `4010` | UBA 后备电源电压 | ⚠️ 无对应硬件通道 → **本期不做**(B0-a) |
| `4011~4013` | `1Ua/Uab`、`1Ub/Uca`、`1Uc/Ubc` | `UA`/`UB`/`UC`(映射见 `docs/硬件平台/ADC通道映射说明.md`) |
| `4014` | `1U0` 零序电压 | `UN`(外部专用零序电压通道) |
| `4015~4017` | `1Ia`、`1Ib`、`1Ic` | `IA`/`IB`/`IC` |
| `4018` | `1I0` 零序电流 | `IN`(外部专用零序电流通道) |
| `4019~401c` | `1P`/`1Q`/`1S`/`1Pf` | 计算量(受 **N-18** 制约,V0.1 不可做) |
| `401d` | `1f` 频率 | 软件测频 |
| `401e/f` | `V1`/`V2` 直流量(点表注"FTU 无") | ⚠️ 无对应硬件通道 → **本期不做**(B0-a) |
**(3)遥信 / 遥控点号**
- **遥信**(`0+`,33 点):`YX15` 故障总、`YX16` 过流 I 段/短路、`YX17` 过流 II 段、`YX18` 过流 III 段、`YX19` 零序过流 I 段、`YX20` 零序过流 II 段、`YX21` 接地故障、`YX22` 重载、`YX23` 过载、`YX24~30` 外部遥信、`YX31~33` 闭锁状态。
- **遥控**(`6000H+`):`YK1~YK4` 开关 1~4、`YK11` 信号复归、`YK12` 遥控软压板、`YK13` 电池活化、`YK14` 解除闭锁。
**(4)响应时间要求(点表推荐值)**
| 参数 | 推荐值 |
| --- | --- |
| 终端启动时间 | ≤ 100000 ms |
| 104 连接 / 总召 | ≤ 3000 ms / ≤ 8000 ms |
| 104 SOE 上送 | ≤ 5000 ms |
| 104 遥控选择/撤销/执行 | ≤ 5000 ms |
| 104 读定值 / 修改定值预置/执行 | ≤ 10000 ms / ≤ 5000 ms |
| 104 读文件目录/文件 | ≤ 30000 ms |
| 录波文件存储 | ≤ 15000 ms |
**(5)B0 残留项处置(2026-10-10 确认)**
| # | 事项 | 处置 |
| --- | --- | --- |
| B0-a | `UBA` 后备电源电压、`V1/V2` 直流量三路遥测的硬件来源 | **本期不做**——V0.1 无对应硬件通道,不加子板/通道;点表此三项本期空缺 |
| B0-b | 对时 | **保留自定义 TCP 8888**;点表要求的 **SNTP 5105 本期不实现** |
| B0-c | 保护/控制范围 | **本期 = 骨架全做 + 有效通道子集闭环**(2026-10-10 用户确认),评估见 §1.6 |
> **B0 至此全部闭环**:上行 IEC 60870-5-104 / 持续采集 / 1000 Hz 已定(§1.5 表 1~4);B0-a / B0-b 本期不做或维持现状;B0-c 的范围裁剪见 §1.6。
### 1.6 B0-c 本期保护范围评估(2026-10-10 确认)
**(1)V0.1 硬件约束(两条叠加)**
| # | 约束 | 出处 | 后果 |
| --- | --- | --- | --- |
| N-18 | 8 路电气量分属 TPAFE5160 与 STM32 ADC1 **两片**,两片**无共同采样触发** | `ADC通道映射说明.md` §1、登记簿 N-18 | 跨转换器的相位 / 矢量 / 功率 / 功率因数 / 负序运算**不成立** |
| R5 | STM32 侧**无中点偏置**(1k 串联 + 1k 到 `*_GND`),0~3.3 V 单极性 | `ADC通道映射说明.md` §7、本文 §9 R5 | STM32 侧交流量负半周**削顶** → 该侧**算不出有效值 / 相量** |
**(2)净效果:V0.1 只有 TPAFE 三路"测量有效"**
| 通道 | 转换器 | 有效值 + 相位 |
| --- | --- | --- |
| `UA` / `UN` / `IA` | TPAFE5160(16 位、±5 V 双极性、同步) | ✅ **有效** |
| `UB` / `UC` / `IB` / `IC` / `IN` | STM32 ADC1(12 位、0~3.3 V 单极性、顺序) | ❌ 削顶 → 仅可读码值**监视** |
**(3)保护元件可行性(V0.1)**
| 元件 | 依赖通道 | 转换器 | V0.1 | 原因 |
| --- | --- | --- | --- | --- |
| 过压 / 欠压 | `UA` | TPAFE | ✅ | 测量有效 |
| 零序过压 | `UN` | TPAFE | ✅ | 测量有效 |
| 过流(A 相) | `IA` | TPAFE | ✅ | 测量有效 |
| 过负荷(A 相) | `IA` | TPAFE | ✅ | 测量有效 |
| 过频 / 低频 | `UA` / `IA` | TPAFE | ✅ | 单通道测频,有效 |
| 过流(B / C 相) | `IB` / `IC` | STM32 | ❌ | 削顶,无有效值 |
| 零序过流 | `IN`(外部)/ 自产 `Ia+Ib+Ic` | STM32 / 跨转换器 | ❌ | 削顶 / 跨转换器(N-18) |
| 方向 / 功率 / 功率因数 / 负序 | 多路 | 跨转换器 | ❌ | N-18 |
| PT / CT 断线 | 三相判据 | 跨转换器 | ❌ | 需三相同时刻 |
| 母线接地告警 | `3U0`(UN) + `3I0`(IN) | UN 可 / IN 不可 | ⚠️ 部分 | 仅电压侧可判 |
**(4)本期范围(定论,2026-10-10)**
采用**"骨架全做 + 有效通道子集闭环"**:
- **与通道无关的骨架**(采集触发、`adcTask`、语义映射、标定、全周傅氏、双区交换、统一保护元件接口、定值模型 + cfg_file、出口驱动、SOE / 记录、自检闭锁)——**本期全做**;这是 V0.2 改版后**不需要重构**的核心资产(§6.2 的接口设计启示)。
- **保护元件**——本期只让**测量有效的通道**闭环动作:`UA`(过压/欠压、测频)、`UN`(零序过压)、`IA`(过流 A 相、过负荷)。其余元件**建接口 + 预置定值但不使能**,待 **V0.2**(N-18 修复 + 补中点偏置,8 路电气量全上 TPAFE)。
- **控制类 / FTU 专有功能**(重合闸、小电流接地选线、后加速、检合环同期):均依赖三相 / 零序测量或出口硬件,**本期不做**,随 V0.2。
- 即:**本期交付"整条保护链路的软件实现" + "单相/中性线保护闭环验证"**;三相完整过流、零序过流、方向/功率类随 V0.2 硬件启用。
---
@@ -74,14 +180,14 @@
复现后的保护链路分为 6 层,自下而上:
| 层 | 职责 | 参考对应 | 本项目落点(拟) |
| ------------- | ----------------------------- | ---------------------------------------------------------------- | ------------------------------------------------ |
| **L0 采样驱动** | 触发转换、读出原始码值 | AD 芯片 + 总线 | `Drivers/BSP/TPAFE5160/` + STM32 ADC1 HAL |
| **L1 采集与预处理** | 快照取数、语义映射、标定、有效性校验、等周波调频、自产零序 | `DataPreRecv` / `RealDataMerge` / `CalSoftFr` / `GetZoreSamData` | `adc_task` + `App/algo/`(拟) |
| **L2 相量计算** | 全周傅氏基波/谐波、线/负序/零序合成、双区交换 | `CalFFTVecFull` / `CalfLineVec` / `CalfNegVec` | `App/algo/`(拟) |
| **L3 保护元件** | 各保护判据(过流/零序/过压/频率/…) | `RelayUnit/PRS_*.c` | `App/protect/`(拟) |
| **L4 出口与信号** | 跳闸/告警出口、信号灯 | `TripKO` / KO | `App/protect/` + BSP 出口驱动 |
| **L5 记录与上送** | SOE/动作记录、UI 显示、遥测上送 | 记录模块 + 通信 | `App/log/` + `Drivers/BSP/UI/` + `App/protocol/` |
| 层 | 职责 | 参考对应 | 本项目落点(拟) |
| --- | --- | --- | --- |
| **L0 采样驱动** | 触发转换、读出原始码值 | AD 芯片 + 总线 | `Drivers/BSP/TPAFE5160/` + STM32 ADC1 HAL |
| **L1 采集与预处理** | 快照取数、语义映射、标定、有效性校验、等周波调频、零序接入 | `DataPreRecv` / `RealDataMerge` / `CalSoftFr` / `GetZoreSamData` | `adc_task` + `App/algo/`(拟) |
| **L2 相量计算** | 全周傅氏基波/谐波、线/负序/零序合成、双区交换 | `CalFFTVecFull` / `CalfLineVec` / `CalfNegVec` | `App/algo/`(拟) |
| **L3 保护元件** | 各保护判据(过流/零序/过压/频率/…) | `RelayUnit/PRS_*.c` | `App/protect/`(拟) |
| **L4 出口与信号** | 跳闸/告警出口、信号灯 | `TripKO` / KO | `App/protect/` + BSP 出口驱动 |
| **L5 记录与上送** | SOE/动作记录、UI 显示、遥测上送 | 记录模块 + 通信 | `App/log/` + `Drivers/BSP/UI/` + `App/protocol/` |
> **分层原则**:L1 只做"数"(码值→工程量),L2 只做"相量"(工程量→复相量),L3 只做"判据"(相量 + 定值→布尔),L4/L5 只做"动作与留痕"。**算法与 I/O 分离**,使 L2/L3 成为主机侧单元测试(L0.5)的天然适格对象(落实登记簿 **A-4**)。
@@ -89,14 +195,14 @@
参考系统用 DSP 的 1 ms 中断串起整条保护链。本项目为单核 FreeRTOS,采用"**中断触发 + 任务计算**"模型:
| 角色 | 载体 | 周期 | 优先级(拟) | 说明 |
| ------ | --------------------------- | -------- | ------- | -------------------------------------- |
| 采样节拍 | 定时器中断(TIMx) | **1 ms** | 最高(ISR) | 产生 CONVST 脉冲;ISR 内只置事件/计数,不做重运算 |
| 采集与预处理 | `adcTask` | 1 ms | 高 | `tpafe5160_snapshot()` 取数 → 标定 → 存入采样环 |
| 相量计算 | `adcTask` 内联 或 `algoTask` | 1 ms | 高 | 全周傅氏 → 相量双区交换 |
| 保护判据 | `protectTask` | 1 ms | 高 | 各保护元件 Init/Main → 出口 |
| 遥测与显示 | 复用 `uiTask` / 新增 `measTask` | 200 ms | 中 | 谐波方和根、死区/平滑、UI 与上送 |
| 记录 | `defaultTask`(已有) | 事件驱动 | 低 | SOE/动作记录落 `sys_log` |
| 角色 | 载体 | 周期 | 优先级(拟) | 说明 |
| --- | --- | --- | --- | --- |
| 采样节拍 | 定时器中断(TIMx) | **1 ms** | 最高(ISR) | 产生 CONVST 脉冲;ISR 内只置事件/计数,不做重运算 |
| 采集与预处理 | `adcTask` | 1 ms | 高 | `tpafe5160_snapshot()` 取数 → 标定 → 存入采样环 |
| 相量计算 | `adcTask` 内联 或 `algoTask` | 1 ms | 高 | 全周傅氏 → 相量双区交换 |
| 保护判据 | `protectTask` | 1 ms | 高 | 各保护元件 Init/Main → 出口 |
| 遥测与显示 | 复用 `uiTask` / 新增 `measTask` | 200 ms | 中 | 谐波方和根、死区/平滑、UI 与上送 |
| 记录 | `defaultTask`(已有) | 事件驱动 | 低 | SOE/动作记录落 `sys_log` |
> **铁律**:`adcTask` / `protectTask` 的 FS 路径若触碰存储,必须沿用卷锁 try 语义(`vol_lock_wait(0)`),且每任务纳入看门狗 `required_mask` 心跳(见 `docs/子系统设计/看门狗设计说明.md`)。**保护节拍任务不得阻塞在存储 I/O 上**——记录走队列异步落盘。
@@ -104,23 +210,23 @@
参考系统用三重机制保证"采样—相量—保护"三段并发无锁:**采样双缓冲 + 相量双区指针交换 + 遥测标志协议**。本项目沿用同一思想,并复用已有的原子快照范式:
| 机制 | 参考做法 | 本项目做法 |
| ---- | -------------------------------------- | ------------------------------------------------------------------------------ |
| 采样缓冲 | 双缓冲(2 周波 = 40 点),写/读分属两区 | 环形缓冲 + **序号**(`tpafe5160_frame_seq()` 已有)+ 临界区快照,防撕裂 |
| 相量区 | `tVectorRly[2][N]`,算完**原子交换**计算区/使用区指针 | 双区结构体 + 指针/索引原子切换(单核下用临界区或 `__atomic`) |
| 遥测拷贝 | 0x55/0xaa 计算/拷贝握手标志 | 快照 + 序号,或 FreeRTOS 事件标志握手 |
| 取数契约 | —— | **只能用 `tpafe5160_snapshot()`**(`AGENTS.md` 铁律),不用已删除的 `get_buf` / `data_ready` |
| 机制 | 参考做法 | 本项目做法 |
| --- | --- | --- |
| 采样缓冲 | 双缓冲(2 周波 = 40 点),写/读分属两区 | 环形缓冲 + **序号**(`tpafe5160_frame_seq()` 已有)+ 临界区快照,防撕裂 |
| 相量区 | `tVectorRly[2][N]`,算完**原子交换**计算区/使用区指针 | 双区结构体 + 指针/索引原子切换(单核下用临界区或 `__atomic`) |
| 遥测拷贝 | 0x55/0xaa 计算/拷贝握手标志 | 快照 + 序号,或 FreeRTOS 事件标志握手 |
| 取数契约 | —— | **只能用 `tpafe5160_snapshot()`**(`AGENTS.md` 铁律),不用已删除的 `get_buf` / `data_ready` |
### 2.4 与现有子系统的接口
| 保护层需求 | 复用现有能力 | 落点 |
| --------- | ------------------------------------ | ------------------------------------ |
| 定值存取 | **cfg_file 配置引擎**(替代参考的 EEPROM 定值文件) | `App/cfg/cfg_file.c` + 新增定值段 |
| 动作/SOE 记录 | `sys_log`(`/log/run.log`)与运行记录 | `App/log/` |
| 保护定值/测量显示 | 远端显示 UI(`ui_page_ac` 已有 24 行占位) | `Drivers/BSP/UI/ui_page_ac.h` |
| 遥测/事件上送 | 网络栈 + `App/protocol/`(协议预留) | `App/protocol/` + `Drivers/BSP/NET/` |
| 时间戳 | `sys_clock`(RTC 基准) | `App/util/sys_clock.c` |
| 自检留痕 | `selftest.log` / 自检框架 | `App/log/` |
| 保护层需求 | 复用现有能力 | 落点 |
| --- | --- | --- |
| 定值存取 | **cfg_file 配置引擎**(替代参考的 EEPROM 定值文件) | `App/cfg/cfg_file.c` + 新增定值段 |
| 动作/SOE 记录 | `sys_log`(`/log/run.log`)与运行记录 | `App/log/` |
| 保护定值/测量显示 | 远端显示 UI(`ui_page_ac` 已有 24 行占位) | `Drivers/BSP/UI/ui_page_ac.h` |
| 遥测/事件上送 | 网络栈 + `App/protocol/`(协议预留) | `App/protocol/` + `Drivers/BSP/NET/` |
| 时间戳 | `sys_clock`(RTC 基准) | `App/util/sys_clock.c` |
| 自检留痕 | `selftest.log` / 自检框架 | `App/log/` |
---
@@ -130,33 +236,32 @@
### 3.1 L1 采集与预处理
| # | 功能点 | 关键参数 | 完成判据 | 状态 |
| ---- | ------------------ | ------------------------------------------- | --------------------------------------------------------------- | -- |
| L1-1 | 周期 CONVST 重触发 | 1000 Hz(与保护节拍同源) | 示波器见 U3 `BUSY` 连续脉冲;`tpafe5160_frame_seq()` 持续递增 | ⬜ |
| L1-2 | TPAFE 快照消费 | 8 通道 / 帧 | `adc_task` 每拍调 `tpafe5160_snapshot()`,返回 1/0/-1 有处理 | ⬜ |
| L1-3 | STM32 ADC1 启动与扫描 | 9 通道、144 cycles、软件触发 | 全库出现 `HAL_ADC_Start`;9 通道码值随注入变化 | ⬜ |
| L1-4 | 通道语义映射 | 见 `docs/硬件平台/ADC通道映射说明.md`(**按语义取数,不写死下标**) | `UA→buf[6]`、`UN→buf[5]`、`IA→buf[2]`;STM32 侧 `UB→ADC_CHANNEL_14` | ⬜ |
| L1-5 | 通道标定(一次系数 + 零漂) | 每通道 `k`、`b`;系数定点 `2^10` | 注入标准源,读数误差 ≤ 目标精度 | ⬜ |
| L1-6 | 采样有效性校验 | FRSTDATA 跳变、帧序号单调、丢帧计数 | 芯片静默/丢帧被检出并置告警 | ⬜ |
| L1-7 | 等周波采样(软件测频 + 调频闭环) | 20 点/周波;测频范围建议 **45~55 Hz**(参考 40.5~60.5) | 频率偏移 ±2 Hz 时幅值误差 ≤ 1% | ⬜ |
| L1-8 | 自产零序合成 | `3I0 = Ia+Ib+Ic`;外部/自产可选(参考 TLV13) | 零序通道可切换来源,值正确 | ⬜ |
| L1-9 | 二次谐波/五次谐波提取入口 | k=2(涌流)、k=5(选线) | 相量层可产出对应谐波相量 | ⬜ |
| # | 功能点 | 关键参数 | 完成判据 | 状态 |
| --- | --- | --- | --- | --- |
| L1-1 | 周期 CONVST 重触发 | 1000 Hz(与保护节拍同源) | 示波器见 U3 `BUSY` 连续脉冲;`tpafe5160_frame_seq()` 持续递增 | ⬜ |
| L1-2 | TPAFE 快照消费 | 8 通道 / 帧 | `adc_task` 每拍调 `tpafe5160_snapshot()`,返回 1/0/-1 有处理 | ⬜ |
| L1-3 | STM32 ADC1 启动与扫描 | 9 通道、144 cycles、软件触发 | 全库出现 `HAL_ADC_Start`;9 通道码值随注入变化 | ⬜ |
| L1-4 | 通道语义映射 | 见 `docs/硬件平台/ADC通道映射说明.md`(**按语义取数,不写死下标**) | `UA→buf[6]`、`UN→buf[5]`、`IA→buf[2]`;STM32 侧 `UB→ADC_CHANNEL_14` | ⬜ |
| L1-5 | 通道标定(一次系数 + 零漂) | 每通道 `k`、`b`;系数定点 `2^10` | 注入标准源,读数误差 ≤ 目标精度 | ⬜ |
| L1-6 | 采样有效性校验 | FRSTDATA 跳变、帧序号单调、丢帧计数 | 芯片静默/丢帧被检出并置告警 | ⬜ |
| L1-7 | 等周波采样(软件测频 + 调频闭环) | 20 点/周波;测频范围建议 **45~55 Hz**(参考 40.5~60.5) | 频率偏移 ±2 Hz 时幅值误差 ≤ 1% | ⬜ |
| L1-8 | 零序通道接入(外部专用 / 自产切换) | 外部 `UN`/`IN`;自产 `3I0 = Ia+Ib+Ic`(V0.2 起) | 零序通道可切换来源,值正确 | ⬜ |
| L1-9 | 二次谐波/五次谐波提取入口 | k=2(涌流)、k=5(选线) | 相量层可产出对应谐波相量 | ⬜ |
> ⚠️ **N-18 约束**:L1-4 中 `UA/UN/IA` 在 TPAFE、`UB/UC/IB/IC/IN` 在 STM32 ADC。V0.1 上 L1 只做**逐通道独立监视**,不得假设同族量同刻(`UA` 与 `UB` 无共同采样触发)。
### 3.2 L2 相量计算
| # | 功能点 | 关键参数 | 完成判据 | 状态 |
| ---- | ------------ | ----------------------------------------------- | -------------------------------- | -- |
| L2-1 | 全周傅氏系数表 | `sin(2πk/N)·(√2/N)`、`cos(2πk/N)·(√2/N)`,N=20 | 系数表与 `docs/算法/傅氏算法详解.md` §2.3 一致 | ⬜ |
| L2-2 | 基波相量实例 | 4 个实例:C01 基波 I/U、C02 零序基波、C03 二次谐波、C04 五次谐波 | 每实例输出 `{fRe, fIm, fAm, fAmSQ}` | ⬜ |
| L2-3 | 相量有效值输出 | `fAmSQ = √(fRe²+fIm²)` 直接为**有效值**(系数已折算) | 标准源读数 = 设定有效值 | ⬜ |
| L2-4 | 相位输出 | `φ = atan2(fIm, fRe)` | 相位误差 ≤ 目标值 | ⬜ |
| L2-5 | 线/负序/零序合成 | 线电压 `Uab=Ua−Ub` 等;负序 `3U2`/`3I2`;零序 `3U0`/`3I0` | 合成相量可复用于保护元件 | ⬜ |
| L2-6 | 每 1 ms 滑动窗刷新 | 每来新点,窗滑动一格、20 点重算(暴力法) | 相量每拍更新 | ⬜ |
| L2-7 | 双区指针原子交换 | 计算区/使用区切换 | 保护元件读使用区,无撕裂 | ⬜ |
| L2-8 | 遥测谐波轨(可选) | k=1~9,方和根 `√(ΣHk²)` | 与基波轨并行,供 UI/上送 | ⬜ |
| # | 功能点 | 关键参数 | 完成判据 | 状态 |
| --- | --- | --- | --- | --- |
| L2-1 | 全周傅氏系数表 | `sin(2πk/N)·(√2/N)`、`cos(2πk/N)·(√2/N)`,N=20 | 系数表与 `docs/算法/傅氏算法详解.md` §2.3 一致 | ⬜ |
| L2-2 | 基波相量实例 | 4 个实例:C01 基波 I/U、C02 零序基波、C03 二次谐波、C04 五次谐波 | 每实例输出 `{fRe, fIm, fAm, fAmSQ}` | ⬜ |
| L2-3 | 相量有效值输出 | `fAmSQ = √(fRe²+fIm²)` 直接为**有效值**(系数已折算) | 标准源读数 = 设定有效值 | ⬜ |
| L2-4 | 相位输出 | `φ = atan2(fIm, fRe)` | 相位误差 ≤ 目标值 | ⬜ |
| L2-5 | 线/负序/零序合成 | 线电压 `Uab=Ua−Ub` 等;负序 `3U2`/`3I2`;零序 `3U0`/`3I0` | 合成相量可复用于保护元件(**V0.1 仅同转换器内可合成**,见 §1.6) | ⬜ |
| L2-6 | 每 1 ms 滑动窗刷新 | 每来新点,窗滑动一格、20 点重算(暴力法) | 相量每拍更新 | ⬜ |
| L2-7 | 双区指针原子交换 | 计算区/使用区切换 | 保护元件读使用区,无撕裂 | ⬜ |
| L2-8 | 遥测谐波轨(可选) | k=1~9,方和根 `√(ΣHk²)` | 与基波轨并行,供 UI/上送 | ⬜ |
> **双轨有效值**:保护要"基波有效值 + 相位"(抗衰减直流、抗谐波误动);计量/遥测要"真有效值"(谐波方和根)。两者**不可混用**——这是参考系统 `CN_ANA_VEC_SQRT=FALSE` 与遥测谐波轨并存的根本原因。
@@ -166,53 +271,55 @@
**核心集(P0/P1)**
| # | 元件 | 判据要点 | 关键定值 | 状态 |
| ---- | ------- | ----------------------- | ---------------- | -- |
| L3-1 | 三段式相间过流 | 相电流基波 > 定值,经延时出口;返回系数滞回 | Ⅰ/Ⅱ/Ⅲ 段电流 + 延时 | ⬜ |
| L3-2 | 三段式零序过流 | 零序电流 > 定值,经延时出口 | Ⅰ/Ⅱ/Ⅲ 段零序电流 + 延时 | ⬜ |
| L3-3 | 过负荷 | 相电流 > 定值,告警/跳闸可整定 | 过负荷电流 + 延时 | ⬜ |
| L3-4 | 过压 / 欠压 | 相/线电压越限,经延时出口 | 过压定值、失压定值 + 延时 | ⬜ |
| L3-5 | 过频 / 低频 | 频率越限,经延时出口 | 过频、低频定值 + 延时 | ⬜ |
| L3-6 | 零序过压 | 零序电压 > 定值 | 零序过压定值 + 延时 | ⬜ |
| # | 元件 | 判据要点 | 关键定值 | 状态 |
| --- | --- | --- | --- | --- |
| L3-1 | 三段式相间过流 | 相电流基波 > 定值,经延时出口;返回系数滞回 | Ⅰ/Ⅱ/Ⅲ 段电流 + 延时 | ⬜ |
| L3-2 | 三段式零序过流 | 零序电流 > 定值,经延时出口 | Ⅰ/Ⅱ/Ⅲ 段零序电流 + 延时 | ⬜ |
| L3-3 | 过负荷 | 相电流 > 定值,告警/跳闸可整定 | 过负荷电流 + 延时 | ⬜ |
| L3-4 | 过压 / 欠压 | 相/线电压越限,经延时出口 | 过压定值、失压定值 + 延时 | ⬜ |
| L3-5 | 过频 / 低频 | 频率越限,经延时出口 | 过频、低频定值 + 延时 | ⬜ |
| L3-6 | 零序过压 | 零序电压 > 定值 | 零序过压定值 + 延时 | ⬜ |
**扩展集(P2/P3)**
| # | 元件 | 判据要点 | 状态 |
| ----- | ---------- | --------------------- | -- |
| L3-7 | 涌流制动 | 二次谐波占比 > 制动系数,闭锁差动/过流 | ⬜ |
| L3-8 | PT 断线 | 电压突变/负序判据,闭锁电压类保护 | ⬜ |
| L3-9 | CT 断线 | 电流不平衡判据,闭锁 | ⬜ |
| L3-10 | 母线接地告警 | 零序电压 + 零序电流组合 | ⬜ |
| L3-11 | 故障启动(波形启动) | 突变量启动,触发录波/启动元件 | ⬜ |
| L3-12 | 无压/无流闭锁 | 低电压或低电流时闭锁过流 | ⬜ |
| # | 元件 | 判据要点 | 状态 |
| --- | --- | --- | --- |
| L3-7 | 涌流制动 | 二次谐波占比 > 制动系数,闭锁差动/过流 | ⬜ |
| L3-8 | PT 断线 | 电压突变/负序判据,闭锁电压类保护 | ⬜ |
| L3-9 | CT 断线 | 电流不平衡判据,闭锁 | ⬜ |
| L3-10 | 母线接地告警 | 零序电压 + 零序电流组合 | ⬜ |
| L3-11 | 故障启动(波形启动) | 突变量启动,触发录波/启动元件 | ⬜ |
| L3-12 | 无压/无流闭锁 | 低电压或低电流时闭锁过流 | ⬜ |
**延后集(受 N-18 / 产品定义制约)**
| # | 元件 | 制约 |
| ----- | ----------- | -------------------- |
| # | 元件 | 制约 |
| --- | --- | --- |
| L3-13 | 方向元件 / 功率方向 | 需跨转换器相位一致 → V0.1 不可做 |
| L3-14 | 重合闸 | FTU 专有,视 B0 产品定义 |
| L3-15 | 手动跳闸 / 遥控 | 依赖出口硬件与协议定义 |
| L3-14 | 重合闸 | FTU 专有,视 B0 产品定义 |
| L3-15 | 手动跳闸 / 遥控 | 依赖出口硬件与协议定义 |
> **V0.1 可行性**:上表按元件类型分组,但**V0.1 上能否闭环**取决于通道(见 **§1.6**)——核心集中 `IA`/`UA`/`UN` 可做(A 相过流、过负荷、过压/欠压、零序过压),**L3-2 零序过流与 B/C 相过流本期不可做**(`IN`/`IB`/`IC` 削顶);扩展集 L3-7~L3-12 多依赖三相,本期**建接口不使能**。
### 3.4 L4 出口与记录
| # | 功能点 | 说明 | 状态 |
| ---- | --------- | --------------------- | -- |
| L4-1 | 跳闸出口(KO) | 判据满足 → 驱动出口继电器,带保持/脉冲 | ⬜ |
| L4-2 | 告警出口 / 信号 | 告警类动作驱动信号灯/继电器 | ⬜ |
| L4-3 | 出口自检 | 出口回路检测(若有回读) | ⬜ |
| L4-4 | SOE 记录 | 带时标的事件顺序记录 | ⬜ |
| L4-5 | 动作记录 | 保护动作/返回记录,落 `run.log` | ⬜ |
| L4-6 | 故障录波(可选) | 4000 Hz 内部节拍预留 | ⬜ |
| # | 功能点 | 说明 | 状态 |
| --- | --- | --- | --- |
| L4-1 | 跳闸出口(KO) | 判据满足 → 驱动出口继电器,带保持/脉冲 | ⬜ |
| L4-2 | 告警出口 / 信号 | 告警类动作驱动信号灯/继电器 | ⬜ |
| L4-3 | 出口自检 | 出口回路检测(若有回读) | ⬜ |
| L4-4 | SOE 记录 | 带时标的事件顺序记录 | ⬜ |
| L4-5 | 动作记录 | 保护动作/返回记录,落 `run.log` | ⬜ |
| L4-6 | 故障录波(可选) | 4000 Hz 内部节拍预留 | ⬜ |
### 3.5 L5 自检与闭锁
| # | 功能点 | 说明 | 状态 |
| ---- | ------ | ----------------------------------- | -- |
| L5-1 | 定值校验和 | `tagPRS_XXX` 的 `dwTagSum` 自检,定值非法闭锁 | ⬜ |
| L5-2 | 采样通道自检 | 通道码值越界/静默检出 | ⬜ |
| L5-3 | 硬件自检 | 出口回路、电源、时钟 | ⬜ |
| L5-4 | 自检失败闭锁 | 任一项失败 → 闭锁相关保护并告警 | ⬜ |
| # | 功能点 | 说明 | 状态 |
| --- | --- | --- | --- |
| L5-1 | 定值校验和 | `tagPRS_XXX` 的 `dwTagSum` 自检,定值非法闭锁 | ⬜ |
| L5-2 | 采样通道自检 | 通道码值越界/静默检出 | ⬜ |
| L5-3 | 硬件自检 | 出口回路、电源、时钟 | ⬜ |
| L5-4 | 自检失败闭锁 | 任一项失败 → 闭锁相关保护并告警 | ⬜ |
---
@@ -220,36 +327,36 @@
### 4.1 实时性
| 指标 | 目标值 | 依据 |
| ------ | ---------------------------- | ------------------------------ |
| 保护节拍 | **1 ms** | 参考 `CN_PROTECT_PERIOD=1000 µs` |
| 保护采样率 | **1000 Hz**(20 点/周波 @ 50 Hz) | 全周傅氏窗长 |
| 相量刷新周期 | **1 ms** | 每来一点重算 |
| 遥测刷新周期 | **200 ms** | 参考遥测链周期 |
| 出口动作时间 | ≥ 1 周波(20 ms)算法窗 + 定值延时 | 全周波算法固有延时 |
| 内部总线节拍 | 4000 Hz(80 点/周波) | 参考 `CN_WAVE_RATIO=4`(本项目按需裁剪) |
| 指标 | 目标值 | 依据 |
| --- | --- | --- |
| 保护节拍 | **1 ms** | 参考 `CN_PROTECT_PERIOD=1000 µs` |
| 保护采样率 | **1000 Hz**(20 点/周波 @ 50 Hz) | 全周傅氏窗长 |
| 相量刷新周期 | **1 ms** | 每来一点重算 |
| 遥测刷新周期 | **200 ms** | 参考遥测链周期 |
| 出口动作时间 | ≥ 1 周波(20 ms)算法窗 + 定值延时 | 全周波算法固有延时 |
| 内部总线节拍 | 4000 Hz(80 点/周波) | 参考 `CN_WAVE_RATIO=4`(本项目按需裁剪) |
### 4.2 精度
| 指标 | 目标值 | 说明 |
| ------ | --------------------------- | ------------------------- |
| 基波幅值误差 | ≤ 1%(频偏 ±2 Hz 内) | 依赖等周波采样 |
| 相位误差 | ≤ 目标角误差(依产品定义) | 依赖调频闭环 |
| 测频范围 | 建议 45~~55 Hz(参考 40.5~~60.5) | `CN_HERTZ_SOFTFR_MIN/MAX` |
| 定值折算 | 定点系数 `2^10` | 与参考一致 |
| 遥测微调 | ±10%,0.1% 步长(TLV10) | 参考口径 |
| 指标 | 目标值 | 说明 |
| --- | --- | --- |
| 基波幅值误差 | ≤ 1%(频偏 ±2 Hz 内) | 依赖等周波采样 |
| 相位误差 | ≤ 目标角误差(依产品定义) | 依赖调频闭环 |
| 测频范围 | 建议 45~55 Hz(参考 40.5~60.5) | `CN_HERTZ_SOFTFR_MIN/MAX` |
| 定值折算 | 定点系数 `2^10` | 与参考一致 |
| 遥测微调 | ±10%,0.1% 步长(TLV10) | 参考口径 |
> **误差来源与预算**(参考《ADC采集至数据使用全流程详解》§12):采样量化(TPAFE LSB ≈ 152.6 µV)、通道标定残差、窗长偏离整周波(频偏)、系数定点舍入。前三项决定可达精度,最后一项可忽略。
### 4.3 算力与内存预算
| 项 | 估算 | 说明 |
| -------- | ------------------------------- | -------------------------------------- |
| 傅氏乘加 | 20 点 × 2(sin/cos)× 相量数 / 拍 | 参考用暴力法(CPU 余量足够);本项目 168 MHz + FPU 需实测 |
| 相量区 RAM | `tVectorRly[2][N] × sizeof(相量)` | 双区 + 4 实例 |
| 采样缓冲 RAM | 40 点/通道 × 通道数 × 字宽 | 双缓冲 2 周波 |
| 定值区 RAM | 元件数 × 定值项 × 字宽 | 可由 cfg_file 载入 |
| 任务栈 | `adcTask` / `protectTask` 待核算 | 建任务前后各跑 `scripts/stack_report.py` |
| 项 | 估算 | 说明 |
| --- | --- | --- |
| 傅氏乘加 | 20 点 × 2(sin/cos)× 相量数 / 拍 | 参考用暴力法(CPU 余量足够);本项目 168 MHz + FPU 需实测 |
| 相量区 RAM | `tVectorRly[2][N] × sizeof(相量)` | 双区 + 4 实例 |
| 采样缓冲 RAM | 40 点/通道 × 通道数 × 字宽 | 双缓冲 2 周波 |
| 定值区 RAM | 元件数 × 定值项 × 字宽 | 可由 cfg_file 载入 |
| 任务栈 | `adcTask` / `protectTask` 待核算 | 建任务前后各跑 `scripts/stack_report.py` |
> ⚠️ **改内存相关代码后必须刷新快照**:`@build` 出 `.map` 后跑 `scripts/check_mem_numbers.py --write`,同步 `docs/内存管理/RAM使用分析与优化方案.md` §2.1(`mem-numbers` 钩子会因体积变化 FAIL)。
@@ -259,16 +366,57 @@
- **闭环**:测频 → 周期修正 → 采样 → 再测频;参考用片内 EHRPWM 调频,本项目用 TIM 重装载值调整。
- **必要性**:窗长偏离整周波会破坏正交性,直流与二次谐波漏入测量(见 `docs/算法/傅氏算法详解.md` §3)。
---
## 5. 定值参数模型
定值分三类:**固有参数**(只读)、**运行参数**(可整定)、**保护定值**(可整定);地址口径来自 B0(§1.5 表 1,源参考项目 `APP/EquipCfg/Const_CommPara.c`)。
### 5.1 定值分类与地址
| 类 | 地址范围 | 内容 | 属性 |
| --- | --- | --- | --- |
| 固有参数 | `8001H~800AH` | 终端类型/操作系统/制造商/硬件版本/软件版本/校验码/规约类型/型号/ID/MAC | 只读 |
| 运行参数 | `8020H~8058H` | 死区(电流/交流电压/直流电压/功率/频率/功率因数)、PT/CT 变比、负荷越限/重载/过载报警、录波投退与定值、功率置负 | 可整定 |
| 保护定值 | `8820H~8882H` | 过流 I/II/III 段、零序过流 I/II 段、重合闸、低压/低频、励磁涌流闭锁、小电流接地等 | 可整定 |
### 5.2 定值项模型(`tagPRS_XXX`)
每元件一个配置结构:**定值号 / 模拟通道号 / KI·KO 标志 / 校验和** + `Init` / `Main` / 出口函数。定值项与元件一一绑定,便于逐元件自检(L5-1)。
### 5.3 折算与存储
| 维度 | 参考 | 本项目 |
| --- | --- | --- |
| 折算 | `wCoeEEP` / `wCoeCal` / `wCoeRet`,定点系数 `2^10` | 同模型(工程量 ↔ 码值) |
| 载体 | EEPROM 定值文件 | cfg_file(`/config.ini`,NAND + FatFs),新增定值段 |
| 微调 | TLV10 ±10%,0.1% 步长 | cfg_file 微调段(按需) |
### 5.4 定值项清单(按元件)
| 元件 | 定值项(拟) | 单位 |
| --- | --- | --- |
| 过流(A 相) | I 段/II 段/III 段电流定值 + 各段延时 | A / s |
| 过负荷 | 过负荷电流定值 + 延时 + 投退 | A / s |
| 过压 / 欠压 | 过压定值、欠压定值 + 延时 | V / s |
| 零序过压 | 零序过压定值 + 延时 | V / s |
| 过频 / 低频 | 过频定值、低频定值 + 延时 | Hz / s |
| 公共 | 返回系数、PT/CT 变比、通道标定系数 | — |
> ⚠️ **待补**:逐项**取值范围 / 步长 / 默认值**取自参考项目 `APP/EquipCfg/Const_CommPara.c` 的 `CommPara_ConfigTable`(`0x8020~0x8882`);本表在实现各保护元件时逐项落实(见 §10.3)。
---
## 6. 平台适配与差异处理
### 6.1 采样源差异
| 维度 | 参考系统 | 本项目 | 适配要点 |
| ----- | ----------------- | -------------------------------------------------------- | ------------------------------ |
| AD 器件 | 专用同步采样 AD | TPAFE5160(16 位、8 通道同步、±5 V)+ STM32 ADC1(12 位、顺序、0~3.3 V) | 统一到"工程量"层,屏蔽码值差异 |
| 通道数 | 8 实通道(4U+4I,自产零序) | 8 路电气量(4U+4I)+ 温度 | 语义映射见 `docs/硬件平台/ADC通道映射说明.md` |
| 同一时刻性 | 单芯片同步 | **跨转换器无共同触发**(N-18) | V0.1 只做逐通道独立监视 |
| 量程/精度 | 一致 | TPAFE LSB ≈ 152.6 µV vs STM32 LSB ≈ 806 µV | 同族量不可统一算法处理 |
| 维度 | 参考系统 | 本项目 | 适配要点 |
| --- | --- | --- | --- |
| AD 器件 | 专用同步采样 AD | TPAFE5160(16 位、8 通道同步、±5 V)+ STM32 ADC1(12 位、顺序、0~3.3 V) | 统一到"工程量"层,屏蔽码值差异 |
| 通道数 | 8 实通道(4U+4I,自产零序) | 8 路电气量(4U+4I)+ 温度 | 语义映射见 `docs/硬件平台/ADC通道映射说明.md` |
| 同一时刻性 | 单芯片同步 | **跨转换器无共同触发**(N-18) | V0.1 只做逐通道独立监视 |
| 量程/精度 | 一致 | TPAFE LSB ≈ 152.6 µV vs STM32 LSB ≈ 806 µV | 同族量不可统一算法处理 |
### 6.2 N-18 影响与降级口径
@@ -279,25 +427,29 @@
### 6.3 单核 vs 双核
| 维度 | 参考(ARM+DSP) | 本项目(单核) | 适配 |
| ----- | ----------- | ------------------- | ----------------------- |
| 保护计算 | DSP 核独占 | 与 FreeRTOS 任务共享 CPU | 保护任务优先级最高;避免长临界区 |
| 管理/通信 | ARM 核 | 同核分任务 | 依赖现有任务优先级体系 |
| 隔离 | 核间隔离 | 无 | 靠任务优先级 + 栈预算 + 看门狗保证实时性 |
| 维度 | 参考(ARM+DSP) | 本项目(单核) | 适配 |
| --- | --- | --- | --- |
| 保护计算 | DSP 核独占 | 与 FreeRTOS 任务共享 CPU | 保护任务优先级最高;避免长临界区 |
| 管理/通信 | ARM 核 | 同核分任务 | 依赖现有任务优先级体系 |
| 隔离 | 核间隔离 | 无 | 靠任务优先级 + 栈预算 + 看门狗保证实时性 |
### 6.4 零序自产 / 外部
### 6.4 零序:外部专用通道 vs 自产
- 参考:TLV13 选择映射表——外部零序(专用通道)或**自产零序**(`3I0 = Ia+Ib+Ic`)。
- 本项目:V0.1 无专用零序通道 → 一期**自产零序**(软件合成),外部零序待 V0.2 或子板提供。
- 本项目 V0.1 实况(**2026-10-10 更正**,此前"V0.1 无专用零序通道"的表述作废):
- **有外部零序专用通道**——`UN`(零序电压,TPAFE)与 `IN`(零序电流,STM32 ADC),对应点表 `4014` / `4018`;
- **自产零序在 V0.1 不可行**:`Ia` 在 TPAFE、`Ib`/`Ic` 在 STM32,求和属**跨转换器**(N-18)。
- 于是本期:**零序过压**(`UN`,TPAFE,测量有效)可做;**零序过流**(`IN`,STM32 削顶 → 无有效值)不可做。
- V0.2(8 路电气量全上 TPAFE)后可自产,外部/自产可切换(恢复 TLV13 语义)。
- 落点:L1-8。
### 6.5 定值存储
| 维度 | 参考 | 本项目 |
| -- | ------------ | ------------------------------------ |
| 载体 | EEPROM 定值文件 | cfg_file(`/config.ini`,NAND + FatFs) |
| 折算 | `wCoeEEP` 定点 | 同模型(工程量 ↔ 码值) |
| 微调 | TLV10 ±10% | cfg_file 微调段(按需) |
| 维度 | 参考 | 本项目 |
| --- | --- | --- |
| 载体 | EEPROM 定值文件 | cfg_file(`/config.ini`,NAND + FatFs) |
| 折算 | `wCoeEEP` 定点 | 同模型(工程量 ↔ 码值) |
| 微调 | TLV10 ±10% | cfg_file 微调段(按需) |
---
@@ -305,36 +457,38 @@
### 7.1 阶段划分与里程碑
| 阶段 | 名称 | 内容 | 前置 | 里程碑 |
| ------ | ---------- | ------------------------------------------------------------------------- | -------------- | ----------------------- |
| **P0** | 采样与相量底座 | B1(周期 CONVST + `adcTask` 消费 + 建任务 + 栈预算)+ L1 + L2 | B0 + B1 | 每 1 ms 产出正确的基波相量 |
| **P1** | 基础保护元件 | L3-1 三段式过流、L3-2 三段式零序过流、L3-3 过负荷 | P0 | 标准源注入可正确动作 |
| **P2** | 电压/频率类保护 | L3-4 过压/欠压、L3-5 过频/低频、L3-6 零序过压 | P0 | 电压/频率越限正确动作 |
| **P3** | 异常检测与闭锁 | L3-7 涌流制动、L3-8 PT 断线、L3-9 CT 断线、L3-10 母线接地、L3-11 故障启动、L3-12 无压/无流闭锁、L5 自检 | P1/P2 | 异常工况闭锁与告警正确 |
| **P4** | 出口、记录与定值集成 | L4 出口与记录、§5 定值模型落 cfg_file、UI 显示、上送 | P1 | 动作出口 + SOE 记录 + UI 显示闭环 |
| **P5** | 方向/功率类(延后) | L3-13 方向元件等 | V0.2 硬件 / 子板计量 | 跨转换器相位一致后实现 |
| 阶段 | 名称 | 内容 | 前置 | 里程碑 |
| --- | --- | --- | --- | --- |
| **P0** | 采样与相量底座 | B1(周期 CONVST + `adcTask` 消费 + 建任务 + 栈预算)+ L1 + L2 | B0 + B1 | 每 1 ms 产出正确的基波相量 |
| **P1** | 基础保护元件 | **V0.1 有效子集**:过流(A 相,`IA`)、过负荷(A 相)+ 定值模型;B/C 相过流**建接口不使能** | P0 | 标准源注入 A 相可正确动作 |
| **P2** | 电压/频率类保护 | 过压/欠压(`UA`)、过频/低频、零序过压(`UN`) | P0 | 电压/频率越限正确动作 |
| **P3** | 异常检测与闭锁 | L5 自检闭锁、采样通道自检;三相类(涌流/PT·CT 断线/母线接地)**建接口不使能** | P1/P2 | 自检失败闭锁;未使能元件不误动 |
| **P4** | 出口、记录与定值集成 | L4 出口与记录、§5 定值模型落 cfg_file、UI 显示、上送 | P1 | 动作出口 + SOE 记录 + UI 显示闭环 |
| **P5** | 方向/功率类(延后) | L3-13 方向元件等 | V0.2 硬件 / 子板计量 | 跨转换器相位一致后实现 |
> ⚠️ **V0.1 硬件裁剪**(2026-10-10,详见 §1.6):V0.1 上只有 TPAFE 三路(`UA`/`UN`/`IA`)测量有效。故 **P0 骨架全做**(与通道无关),**P1/P2 只做有效通道子集**——A 相过流、A 相过负荷、过压/欠压、零序过压、过频/低频;**三相过流(B/C 相)、零序过流、方向/功率类、PT/CT 断线**依赖 V0.2 硬件(N-18 修复 + 中点偏置),本期**建接口不使能**。
### 7.2 每阶段交付物与验收判据
| 阶段 | 交付物 | 验收判据 |
| -- | ------------------------------------ | ----------------------------------- |
| P0 | `adcTask`/`algo` 模块 + 设计文档 + L0.5 单测 | 标准源读数误差 ≤ 目标;相量每 1 ms 刷新;`@test` 通过 |
| P1 | 过流/零序/过负荷元件 + 定值模型 | 注入 1.2×/0.9× 定值,正确动作/返回;返回系数正确 |
| P2 | 电压/频率元件 | 越限动作时间符合定值延时 |
| P3 | 异常检测 + 自检闭锁 | 断线/涌流工况正确闭锁;自检失败闭锁 |
| P4 | 出口 + 记录 + 定值 UI | 动作驱动出口;SOE 带正确时标;UI 显示实时值 |
| P5 | 方向元件 | 需 V0.2 前置条件满足 |
| 阶段 | 交付物 | 验收判据 |
| --- | --- | --- |
| P0 | `adcTask`/`algo` 模块(采集触发 + 语义映射 + 标定 + 全周傅氏 + 双区交换)+ 设计文档 + L0.5 单测 | TPAFE 三路(`UA`/`UN`/`IA`)标准源读数误差 ≤ 目标;相量每 1 ms 刷新;`@test` 通过 |
| P1 | A 相过流 + A 相过负荷元件 + 定值模型 | 注入 1.2×/0.9× 定值,A 相正确动作/返回;返回系数正确 |
| P2 | 过压/欠压 + 过频/低频 + 零序过压元件 | 越限动作时间符合定值延时 |
| P3 | 自检闭锁 + 采样通道自检;三相类元件建接口 | 自检失败闭锁;未使能元件不误动 |
| P4 | 出口 + 记录 + 定值 UI | 动作驱动出口;SOE 带正确时标;UI 显示实时值 |
| P5 | 方向元件 | 需 V0.2 前置条件满足 |
### 7.3 依赖关系图
```text
B0 产品定义(阻塞)
B0 产品定义 ✅(2026-10-10 已确认,见 §1.5)
└─ B1 ADC 采集链路(周期 CONVST + adcTask + 建任务 + 栈预算)
└─ P0 采样与相量底座
├─ P1 基础保护(过流/零序/过负荷)
├─ P1 基础保护(A 相过流/过负荷)
│ └─ P4 出口/记录/定值
├─ P2 电压/频率保护
└─ P3 异常检测与闭锁
├─ P2 电压/频率保护(UA/UN)
└─ P3 异常检测与闭锁(自检;三相类不使能)
└─ P5 方向/功率类(依赖 V0.2 硬件 / 子板计量)
```
@@ -344,13 +498,12 @@ B0 产品定义(阻塞)
### 8.1 测试分层
| 层 | 对象 | 方式 |
| --------- | ----------------------------------- | ------------------------------------------------------------------------------------------ |
| L0 静态 | 代码规范、文档链接、体积 | pre-commit 钩子(`cppcheck` / `doc-links` / `mem-numbers`) |
| 层 | 对象 | 方式 |
| --- | --- | --- |
| L0 静态 | 代码规范、文档链接、体积 | pre-commit 钩子(`cppcheck` / `doc-links` / `mem-numbers`) |
| L0.5 主机单测 | 傅氏相量、定值解析、保护判据(**算法与 I/O 分离**后天然适格) | `test/host/<模块>/run_unit_test.py`(MSVC 离线编译真实源文件,参考 `test/host/cfg_file/run_unit_test.py`) |
| L1 板端套件 | 采样/相量/保护元件 | `test/run_all_suites.py` 板端套件 |
| L2/L3 台架 | 标准源注入、动作出口、时序 | 台架闭环(COM6 @115200) |
| L1 板端套件 | 采样/相量/保护元件 | `test/run_all_suites.py` 板端套件 |
| L2/L3 台架 | 标准源注入、动作出口、时序 | 台架闭环(COM6 @115200) |
### 8.2 A-4 约束落实
@@ -362,26 +515,26 @@ B0 产品定义(阻塞)
### 8.3 验收判据(保护层)
- 标准源注入:幅值/相位/频率读数误差在目标内;
- 标准源注入:幅值/相位/频率读数误差在目标内(**V0.1 限 TPAFE 三路**);
- 定值动作:1.2× 定值可靠动作、0.9× 定值可靠返回,返回系数符合 `wCoeRet`;
- 时序:动作时间 = 算法窗(≥20 ms)+ 定值延时,误差在允许范围;
- 闭锁:PT/CT 断线、涌流、自检失败工况下相关保护可靠闭锁;
- 闭锁:自检失败工况下相关保护可靠闭锁(V0.1 的 PT/CT 断线、涌流闭锁待 V0.2);
- 记录:SOE/动作记录时标正确(注意板载 RTC 比墙钟慢约 8 h)。
---
## 9. 风险与开放问题
| # | 风险 / 开放问题 | 影响 | 处置方向 |
| -- | ------------------ | --------------------- | -------------------------------------- |
| R1 | **B0 产品定义未定** | 保护元件清单与规模无法锁定 | 先按核心集(P1/P2)推进,扩展集待定义 |
| R2 | **N-18 硬件缺陷** | 方向/功率/矢量类无法在 V0.1 实现 | V0.2 硬件改版;V0.1 取子板计量 |
| R3 | **单核算力** | 1 ms 节拍内完成傅氏 + 全部保护元件 | 实测 CPU 余量;必要时裁剪遥测谐波轨或降低元件扫描频率 |
| R4 | **等周波调频实现** | 频偏时精度不达标 | TIM 重装载调频;先固定 1000 Hz 跑通再上闭环 |
| R5 | **STM32 侧无中点偏置** | 交流量负半周削顶,无法算 RMS | V0.1 只做监视;V0.2 补偏置 |
| R6 | **栈预算** | 新任务栈溢出 | 建任务前后跑 `scripts/stack_report.py`;纳入看门狗 |
| R7 | **出口硬件未确认** | 跳闸出口无法验证 | 确认出口继电器/回读电路;无硬件时先做逻辑级验证 |
| R8 | **TPAFE 自动扫描模式未知** | 影响采样实现方式 | 查手册确认(登记簿 §4 待确认项) |
| # | 风险 / 开放问题 | 影响 | 处置方向 |
| --- | --- | --- | --- |
| R1 | **V0.1 硬件裁剪保护范围**(N-18 + 无中点偏置 → 仅 TPAFE 三路 `UA`/`UN`/`IA` 测量有效) | 三相过流 / 零序过流 / 方向功率类本期无法闭环 | 本期做有效通道子集(§1.6);其余随 V0.2 硬件启用 |
| R2 | **N-18 硬件缺陷** | 方向/功率/矢量类无法在 V0.1 实现 | V0.2 硬件改版;V0.1 取子板计量 |
| R3 | **单核算力** | 1 ms 节拍内完成傅氏 + 全部保护元件 | 实测 CPU 余量;必要时裁剪遥测谐波轨或降低元件扫描频率 |
| R4 | **等周波调频实现** | 频偏时精度不达标 | TIM 重装载调频;先固定 1000 Hz 跑通再上闭环 |
| R5 | **STM32 侧无中点偏置** | 交流量负半周削顶,无法算 RMS | V0.1 只做监视;V0.2 补偏置 |
| R6 | **栈预算** | 新任务栈溢出 | 建任务前后跑 `scripts/stack_report.py`;纳入看门狗 |
| R7 | **出口硬件未确认** | 跳闸出口无法验证 | 确认出口继电器/回读电路;无硬件时先做逻辑级验证 |
| R8 | **TPAFE 自动扫描模式未知** | 影响采样实现方式 | 查手册确认(登记簿 §4 待确认项) |
---
@@ -389,48 +542,53 @@ B0 产品定义(阻塞)
### 10.1 参考系统关键常量
| <u>常量</u> | <u>值</u> | <u>含义</u> |
| -------------------------------- | --------------------- | ---------------------------- |
| <u>`CN_PROTECT_PERIOD`</u> | <u>1000 µs</u> | <u>保护中断周期</u> |
| <u>`CN_SAM_HERTZ`</u> | <u>50</u> | <u>系统频率(Hz)</u> |
| <u>`CN_SAM_RATE`</u> | <u>20</u> | <u>每周波采样点数</u> |
| <u>`CN_SAM_RATIO`</u> | <u>1</u> | <u>保护采样倍率</u> |
| <u>`CN_YCSAM_RATIO`</u> | <u>2</u> | <u>遥测采样倍率</u> |
| <u>`CN_WAVE_RATIO`</u> | <u>4</u> | <u>录波倍率(4000 Hz)</u> |
| <u>`CN_BUFSAM_CYCLE`</u> | <u>2</u> | <u>采样缓冲周波数</u> |
| <u>`CN_BUFSAM_LEN`</u> | <u>40</u> | <u>采样缓冲长度(点)</u> |
| <u>`CN_ANA_VEC_SQRT`</u> | <u>FALSE</u> | <u>保护用基波有效值(非方和根)</u> |
| <u>`CN_ANA_DIF`</u> | <u>FALSE</u> | <u>半周波/差分组件关闭</u> |
| <u>`CN_HERTZ_SOFTFR_MIN/MAX`</u> | <u>40.5 / 60.5 Hz</u> | <u>软测频范围</u> |
| <u>`CN_NUM_YCHUMWAVE`</u> | <u>9</u> | <u>遥测谐波次数上限(`(20>>1)−1`)</u> |
| <u>`CN_NUM_YCAVER`</u> | <u>4</u> | <u>遥测平均点数</u> |
| <u>系数定点</u> | <u>`2^10`</u> | <u>标定系数定标</u> |
| 常量 | 值 | 含义 |
| --- | --- | --- |
| `CN_PROTECT_PERIOD` | 1000 µs | 保护中断周期 |
| `CN_SAM_HERTZ` | 50 | 系统频率(Hz) |
| `CN_SAM_RATE` | 20 | 每周波采样点数 |
| `CN_SAM_RATIO` | 1 | 保护采样倍率 |
| `CN_YCSAM_RATIO` | 2 | 遥测采样倍率 |
| `CN_WAVE_RATIO` | 4 | 录波倍率(4000 Hz) |
| `CN_BUFSAM_CYCLE` | 2 | 采样缓冲周波数 |
| `CN_BUFSAM_LEN` | 40 | 采样缓冲长度(点) |
| `CN_ANA_VEC_SQRT` | FALSE | 保护用基波有效值(非方和根) |
| `CN_ANA_DIF` | FALSE | 半周波/差分组件关闭 |
| `CN_HERTZ_SOFTFR_MIN/MAX` | 40.5 / 60.5 Hz | 软测频范围 |
| `CN_NUM_YCHUMWAVE` | 9 | 遥测谐波次数上限(`(20>>1)−1`) |
| `CN_NUM_YCAVER` | 4 | 遥测平均点数 |
| 系数定点 | `2^10` | 标定系数定标 |
### <u>10.2 术语表</u>
### 10.2 术语表
| <u>术语</u> | <u>含义</u> |
| ------------ | -------------------------------------------- |
| <u>全周傅氏</u> | <u>全周波傅里叶算法,单频 DFT,得基波相量</u> |
| <u>相量</u> | <u>`{fRe, fIm, fAm, fAmSQ}`,实部/虚部/幅值/有效值</u> |
| <u>等周波采样</u> | <u>软件测频 + 调频,保持严格 20 点/周波</u> |
| <u>自产零序</u> | <u>`3I0 = Ia+Ib+Ic` 软件合成</u> |
| <u>双区交换</u> | <u>相量计算区/使用区指针原子切换</u> |
| <u>时间片表</u> | <u>单点/2点/4点/8点调度表</u> |
| <u>TLV</u> | <u>参考系统的参数通道(定值/微调/映射)</u> |
| <u>返回系数</u> | <u>动作值/返回值之比(滞回)</u> |
| 术语 | 含义 |
| --- | --- |
| 全周傅氏 | 全周波傅里叶算法,单频 DFT,得基波相量 |
| 相量 | `{fRe, fIm, fAm, fAmSQ}`,实部/虚部/幅值/有效值 |
| 等周波采样 | 软件测频 + 调频,保持严格 20 点/周波 |
| 外部零序 | 专用 `UN`/`IN` 通道直接取零序量 |
| 自产零序 | `3I0 = Ia+Ib+Ic` 软件合成(V0.2 起可用) |
| 双区交换 | 相量计算区/使用区指针原子切换 |
| 时间片表 | 单点/2点/4点/8点调度表 |
| TLV | 参考系统的参数通道(定值/微调/映射) |
| 返回系数 | 动作值/返回值之比(滞回) |
### <u>10.3 待确认清单</u>
### 10.3 待确认清单
1. <u>保护元件清单(核心集/扩展集边界)——依 B0。</u>
2. 定值取值范围/步长/单位——依产品定义。
3. 出口硬件形态(继电器/回读)——依硬件。
4. 等周波调频范围与精度目标——依产品定义。
5. 是否保留遥测谐波轨(k=1~9)——依 UI/上送需求。
1. 定值逐项取值范围/步长/单位/默认值——源参考项目 `Const_CommPara.c`,实现各元件时落实(见 §5.4)。
2. 出口硬件形态(继电器/回读)——依硬件(R7)。
3. 等周波调频范围与精度目标——依产品定义(R4)。
4. 是否保留遥测谐波轨(k=1~9)——依 UI/上送需求。
5. 遥测/遥信/遥控的 104 上送实现范围与排期——依产品定义。
---
## 变更记录
| 日期 | 变更 | 说明 |
| ---------- | ----- | --------------------------------------------------------------------------------------------------------- |
| 日期 | 变更 | 说明 |
| --- | --- | --- |
| 2026-10-10 | 建立本文档 | 依据参考项目《ADC采集至数据使用全流程详解》等专题文档,规划 CLS100 保护链路在本项目(STM32F4-Base)的分层复现:功能/性能/参数/平台适配/路线图;登记至 `docs/README.md` |
| 2026-10-10 | 增补 §1.5 B0 产品定义 | 从参考项目 `APP/EquipCfg/Const_CommPara.c`(DTU410/F30(Z) 的 104 信息体地址点表)与《检测平台配电终端送检要求(点表)》挖出并确认 B0:上行 **IEC 60870-5-104**(以太网 2404)、持续采集、**1000 Hz**(20 点/周波)、遥测短浮点系数 1、**RS-485 对下 ModBus RTU 采集**;§1.4 的 B0 状态改"已确认" |
| 2026-10-10 | 同步 B0 确认到下游章节 | §7.3 依赖图 B0 由"阻塞"改"已确认";§9 R1 由"B0 未定"改为"B0 残留待确认项(B0-a/b/c)" |
| 2026-10-10 | B0 残留项闭环 + 新增 §1.6 范围评估 | B0-a **本期不做**(`UBA`/`V1`/`V2` 无硬件通道)、B0-b **保留 TCP 8888**(SNTP 5105 不做);B0-c **定为"骨架全做 + 有效通道子集闭环"**;新增 **§1.6** 由 V0.1 硬件(N-18 + 无中点偏置)推导本期可做保护范围 = TPAFE 三路(`UA`/`UN`/`IA`)有效子集;同步 §1.3、§3.3、§6.4(零序口径更正)、§7.1/§7.2、§9 R1 |
| 2026-10-10 | 恢复被外部工具回写的旧稿 | 文件曾被外部格式化工具回写为旧稿:**§1.5/§1.6/§5 丢失、§10 混入 66 组下划线(u)标签、表格被填充对齐**。本次按权威来源重建 §1.5/§1.6、补齐 **§5 定值参数模型**,清除全部下划线标签并把表格压回仓库紧凑风格;内容与 §1.3/§3.3/§6.4/§7/§9 的定稿一致 |