docs(ADC): 更正注入验证口径——已知电压注入 2026-10-27 台架已闭环
数据可信.md §2.6 原写「ADC 从未采过已知电压」,那是 2026-10-23 挂账 时的现状,与 2026-10-27 的台架实测矛盾——按现状重写:实测 × 判据表 + ④ 段(端子 → AINn 子板变比)缺口 + M4 承诺边界(只到 ADC 引脚电压、 eng = 0);§2.6 节号与「承诺边界」口径保留,代码头注释的引用不断。 同族陈旧现在时一并更正:继电保护规划「引脚级注入验证仍为待做项」、 ADC通道映射 §7.1「不填任何实测数值」、ADC输入层单测说明「板端无信 号源、无法验证读到的是哪只脚」、adc_input.c 与 test/host/adc_input 两份注释「注入验证做不了」→ 统一改成「台架已一次性验过(§8.1), 主机单测与开机自检仍必要」。首帧悬案等历史叙述删除,只留结论。 顺带:ADC 输入层单测计数 101 → 103(runner 报 103/103 与 CHECK 调用 点 103 处双源互证),test/host/README.md 同数同步。 验证:@build 0 错 0 警(Code=236456 RO=28124 RW=1876 ZI=137084); test/host/adc_input 103/103 rc=0;check_doc_links --all 0 处失效; 该批文件里的变更记录节按同日裁定一并清理。
This commit is contained in:
+1
-1
@@ -56,7 +56,7 @@
|
||||
| `cfg_file/stub/` | 桩头文件(`dbg_log.h`),覆盖 MCU 版以在 PC 上编译 |
|
||||
| `phasor/run_unit_test.py` | **相量层(L2)单测**:离线编译真实 `App/algo/phasor.c` + `sample_ring.c`(**无需任何桩**,纯算法),57 用例覆盖傅氏系数表 / 幅值·相位 / 谐波抑制与提取 / 频偏 / 采样环 / 双区原子交换 |
|
||||
| `phasor/phasor_test.c` | 测试单元本体(`#include` 两个生产源码 + 合成任意波形) |
|
||||
| `adc_input/run_unit_test.py` | **ADC 输入层(L1)单测**:离线编译真实 `App/algo/adc_input.c`,**101** 用例给每个 Rank 注入互异码值**逐通道钉死映射**,并覆盖 DMA 挂载失败 / **乒乓半区选择(撕裂帧防线)** / 超拍丢帧 / 停摆 / HAL 回调句柄守卫 / **停摆拍陈旧帧** / 参数错等真机难复现分支 |
|
||||
| `adc_input/run_unit_test.py` | **ADC 输入层(L1)单测**:离线编译真实 `App/algo/adc_input.c`,**103** 用例给每个 Rank 注入互异码值**逐通道钉死映射**,并覆盖 DMA 挂载失败 / **乒乓半区选择(撕裂帧防线)** / 超拍丢帧 / 停摆 / HAL 回调句柄守卫 / **停摆拍陈旧帧** / 参数错等真机难复现分支 |
|
||||
| `adc_input/adc_input_test.c` | 测试单元本体(`#include` 生产源码 + HAL / TPAFE 可注入桩) |
|
||||
| `adc_input/stub/` | 桩头文件(`adc.h` / `tpafe5160.h`) |
|
||||
| `vol_lock/run_unit_test.py` | **卷锁单测**:离线编译真实 `App/fs/vol_lock.c`,33 断言点覆盖创建 / 获取 / 释放契约(**fail-open 不变量**:创建失败仍返回 1 且零阻塞)/ 幂等 / 超时透传 |
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
* - tpafe5160.h-> tpafe5160_snapshot(可注入 新帧/无新帧/参数错 + 帧内容)
|
||||
*
|
||||
* 为什么要主机侧单测(而不是只用板端套件):
|
||||
* 1. 本层核心是"**通道号 <-> Rank 顺序 <-> 语义**"三者的映射正确性。板端**无信号源**
|
||||
* (见 docs/硬件平台/ADC通道映射说明.md §8),无法注入已知电压去验证"读到的是
|
||||
* 哪只脚";主机侧可直接给每个 Rank 注入互不相同的码值,从而**逐通道钉死映射**
|
||||
* (这是唯一能在离线端证伪"通道宏写错 -> 读到另一只脚"的手段)。
|
||||
* 1. 本层核心是"**通道号 <-> Rank 顺序 <-> 语义**"三者的映射正确性。台架只在 2026-10-27 一次性
|
||||
* 验过映射(实测记录 docs/硬件平台/ADC通道映射说明.md §8.1),不占 CI、不能每改必跑;主机侧
|
||||
* 给每个 Rank 注入互不相同的码值,**逐通道钉死映射**——离线端唯一能证伪"通道宏写错 -> 读到
|
||||
* 另一只脚"的手段。
|
||||
* 2. HAL 启动失败 / 转换超时 / 参数错等分支在真机上极难稳定复现,主机侧一次钉死。
|
||||
* 3. 不占 MCU 的 RAM,毫秒级完成。
|
||||
*
|
||||
|
||||
@@ -13,10 +13,10 @@
|
||||
`test/host/common/unit_test_harness.py`(本文件只做声明)。
|
||||
|
||||
为什么要主机侧单测(而不是只用板端套件):
|
||||
本层核心是"**通道号 <-> Rank 顺序 <-> 语义**"三者映射的正确性。板端无信号源
|
||||
(docs/硬件平台/ADC通道映射说明.md §8),无法注入已知电压验证"读到的是哪只脚";
|
||||
主机侧给每个 Rank 注入互不相同的码值,即可**逐通道钉死映射**,并一次钉死
|
||||
HAL 启动失败 / 转换超时 / 参数错等真机难复现的分支。
|
||||
本层核心是"**通道号 <-> Rank 顺序 <-> 语义**"三者映射的正确性。台架只在 2026-10-27 一次性验过
|
||||
映射(实测记录 docs/硬件平台/ADC通道映射说明.md §8.1),不占 CI、不能每改必跑;主机侧给每个
|
||||
Rank 注入互不相同的码值,**逐通道钉死映射**,并一次钉死 HAL 启动失败 / 转换超时 / 参数错等
|
||||
真机难复现的分支。
|
||||
|
||||
用法(仓库根目录):
|
||||
python test/host/adc_input/run_unit_test.py
|
||||
|
||||
Reference in New Issue
Block a user