docs(adc): 补节奏判据(注入前后 1000 Hz),删步骤 3 并重排编号
节奏:注入前(20:58 开机)与注入后(21:29)各取两行相隔 10 s 的 frames= 心跳,两边都是 Δ9998 码 / 约 10.0 s ≈ 1000.1 Hz, idle=0、adc1_rc=0、adc1_err=0。卡 0 判据 5 的口径正是「注入前后」 帧计数仍严格 1000 Hz,故达标。adc1_gap/tgap/skip 为开机以来累计值, 10 s 内只增 3/2/1(约 0.03 %),属正常漏检量级。 至此六项判据全部 PASS:零点、线性、斜率、映射、极性、节奏。 删除 §5.4 步骤 3(逐通道映射):步骤 1 零点本身就是逐路独立激励, 短接哪路就看那路塌不塌,与「注入哪路只动哪路」是同一件事,重复做 没有增量信息。删除的唯一代价(原方案还含「其余七路仍在零点附近」 的串扰检查,而步骤 1 时其余七路浮空且本身在漂)已压进第 6 节判据表 的「映射」行括注,不单独占一节。 重排编号:5.5→5.4、5.6→5.5、5.7→5.6;步骤名同步 步骤4→3、5→4、 6→5,使「§5.N = 步骤 N-1」的对应关系恢复;第 4 节读数出口表里 「步骤 5 的节奏判据」同步改为「步骤 4」。全仓无其它文档引用本文 步骤号(已 grep 确认)。
This commit is contained in:
+28
-25
@@ -74,7 +74,7 @@
|
||||
| `adc: UA=.. UB=.. UC=.. UN=.. IA=.. IB=.. IC=.. IN=.. T=..` | 每 10 s | **9 路原始码值** | 本次验证的主读数 |
|
||||
| `cal: ua_mv=.. un_mv=.. ia_mv=.. vl=.. cl=..` | 每 10 s | UA/UN/IA 折算后毫伏 + 标定/削顶位图 | 旁证:码值 → 电压是否自洽 |
|
||||
| `first: UA=.. … T=..` | 每次开机一次 | 9 路原始码值 | 与 `adc:` 行互校(同序同格式) |
|
||||
| `frames=.. idle=.. adc1_err=.. tgap=..` | 每 10 s | 采集健康计数 | 步骤 5 的节奏判据 |
|
||||
| `frames=.. idle=.. adc1_err=.. tgap=..` | 每 10 s | 采集健康计数 | 步骤 4 的节奏判据 |
|
||||
|
||||
`adc:` 行是 2026-10-27 新增的(`App/task/adc_task.c` 心跳块),此前只有 `cal:` 的三路,
|
||||
验 8 个通道要复位二十余次。现在**全程不必复位**。
|
||||
@@ -192,19 +192,7 @@
|
||||
三条残差 −2.0 / +3.5 / −1.4 码,落在读数噪声内,**无系统性弯曲**——即前端在这三个点上确实是
|
||||
线性的,不存在未识别的分压元件。这是"③ 段变比 = 1:1"在台架上的第一次直接证据。
|
||||
|
||||
### 5.4 步骤 3:逐通道映射(8 路各一次)——**已并入步骤 1,不再单独执行**
|
||||
|
||||
> **为什么不单独做**:步骤 1(零点)本身就是**逐路、单点、独立**的——短接哪一路、就看那一路
|
||||
> 塌不塌。8 路各做一次,等于对每一路都独立证明了"这个物理端子 ↔ 这个语义通道"的对应关系,
|
||||
> 与本节原方案的判据("注入哪路只动哪路")**是同一件事**,只是激励从 +1.0 V 换成了 0 V。
|
||||
> 2026-10-27 实测 8 路全部在**预期的那一路**塌到 0~5 码,映射正确,故本节删去,不重复劳动。
|
||||
>
|
||||
> ⚠ **删掉它唯一的代价**:原方案还含一条"其余七路仍在零点附近",即**串扰**检查。步骤 1 时
|
||||
> 其余七路是浮空的(TPAFE ≈11430、STM32 ≈1000 且本身在漂),小幅串扰看不出来;只有
|
||||
> **大幅**串扰(一个满量程注入串到别路)才会露馅。所以现在的口径是:**映射已证、串扰未单独证**。
|
||||
> 若日后怀疑串扰(如某路读数被邻路带偏),再按原方案单独注 1.0 V 复验,届时本节恢复。
|
||||
|
||||
### 5.5 步骤 4:极性(只 TPAFE 三路)
|
||||
### 5.4 步骤 3:极性(只 TPAFE 三路)
|
||||
|
||||
TPAFE 是双极性、二进制补码,可以注负压;STM32 是单极性,负半周测不了。给 UA/UN/IA 各加一个
|
||||
**−1.0 V** 点。
|
||||
@@ -223,16 +211,27 @@ TPAFE 是双极性、二进制补码,可以注负压;STM32 是单极性,
|
||||
**2026-10-27 实测结论:PASS。** 三路 −1.0 V 点全部为负,落在 −6566~−6568(相对 −6554 偏
|
||||
−0.18 %~−0.21 %);对称性偏差 0.27 %~0.34 %,远小于 2 % 判据。**补码符号位解释正确**。
|
||||
|
||||
### 5.6 步骤 5:节奏(注入期间顺带看)
|
||||
### 5.5 步骤 4:节奏(注入期间顺带看)
|
||||
|
||||
注入期间 `frames=` 应仍**严格 1000 Hz 递增**(10 s 间隔 +10000 左右),`idle=0`,
|
||||
`adc1_err=0`。这一条替代了原方案里"用示波器看 U3.14 BUSY 有脉冲"的判据——不需要示波器。
|
||||
|
||||
**2026-10-27:本轮未取数。** 注入时现场只读了 `adc:` 行,没同步记 `frames=`。
|
||||
补做很简单:任意注入过程中抓两行 `frames=`(相隔 10 s),差值应在 10000 左右、`adc1_err=0`。
|
||||
在此之前本项记 **待补**,不算 PASS。
|
||||
**2026-10-27 实测结论:PASS。** 注入**前**(20:58 那次开机)与注入**后**(21:29)各取两行相隔
|
||||
10 s 的心跳,两边都是 **Δ9998 码 / ≈10.0 s ≈ 1000.1 Hz**,`idle=0`、`adc1_rc=0`、`adc1_err=0`:
|
||||
|
||||
### 5.7 步骤 6:回写
|
||||
| 时点 | `frames=` 两行 | Δ | 折算 |
|
||||
|---|---|---|---|
|
||||
| 注入前(20:58) | 29997 → 39995 | 9998 | 1000.5 Hz |
|
||||
| 注入后(21:29) | 1819639 → 1829637 | 9998 | 1000.1 Hz |
|
||||
|
||||
⚠ **口径说明**:这两次是"注入**前后**",不是"注入**进行中**"——卡 0 判据 ⑤ 要的正是"注入前后
|
||||
`tpafe5160_frame_seq()` 仍严格 1000 Hz 递增",故按此口径已达标。若日后要连"进行中"也钉住,
|
||||
在任一注入过程里再抓两行即可(注入不改变 TIM3 硬件触发,理论上无影响,但没测过就不算证过)。
|
||||
|
||||
`adc1_gap` / `tgap` / `skip` 是**本次开机以来的累计值**(548 / 363 / 183),10 s 内只增 3 / 2 / 1,
|
||||
占比约 0.03 %,属正常漏检量级,不是停摆。
|
||||
|
||||
### 5.6 步骤 5:回写
|
||||
|
||||
1. 把实测斜率、零点、映射结果写进 `docs/硬件平台/ADC通道映射说明.md` §8,把"尚未执行"改成
|
||||
实测值 + 日期;
|
||||
@@ -247,14 +246,18 @@ TPAFE 是双极性、二进制补码,可以注负压;STM32 是单极性,
|
||||
| 零点 | TPAFE 码值绝对值 ≤ 30;STM32 码值绝对值 ≤ 5 | 8 路全部 **0~5 码**(≤4.0 mV) | PASS | 有真实偏置,需查前端;可能超出补偿上限 |
|
||||
| 线性 | R² ≥ 0.999 | **0.9999997**(UA 三点) | PASS | 前端非线性或注入源带载失真 |
|
||||
| 斜率 | 偏差 ≤ 2 % | **−0.14 %**(6544.2 vs 6553.6 码/V) | PASS | 前端有未识别元件,或转换器档位/参考错 |
|
||||
| 映射 | 注入哪路只动哪路 | 8 路短接各自塌到**本路**(步骤 1 代偿) | PASS | 语义表与物理通道不符(`k_adc_map[]` 错) |
|
||||
| 映射 | 注入哪路只动哪路 | 8 路短接各自塌到**本路**(步骤 1 代偿;串扰未单独证) | PASS | 语义表与物理通道不符(`k_adc_map[]` 错) |
|
||||
| 极性 | −1.0 V → −6554 码 | −6566 / −6568 / −6566,对称性 ≤0.34 % | PASS | 补码符号处理错 |
|
||||
| 节奏 | 注入期间仍 1000 Hz | **待补**(本轮未记录 `frames=`) | 待补 | 注入改变了输入共模,触发转换异常 |
|
||||
| 节奏 | 注入期间仍 1000 Hz | 注入前/后各 **Δ9998 / 10 s ≈ 1000 Hz**,`idle=0`、`adc1_err=0` | PASS | 注入改变了输入共模,触发转换异常 |
|
||||
|
||||
**总体结论(2026-10-27)**:除"节奏"一项未取数外,**零点、线性、斜率、映射、极性五项全部 PASS**。
|
||||
这五项合起来证明了三件事:① ③ 段(`AINn` ↔ 转换器引脚)**变比确为 1:1**,无隐藏分压;
|
||||
② 8 路语义 ↔ 物理端子**一一对应**;③ TPAFE 补码符号位解释正确。
|
||||
`docs/任务规划/数据可信.md` 卡 0 的核心判据(②③④⑥)至此闭环,仅剩"节奏"待补一次 `frames=` 读数。
|
||||
**总体结论(2026-10-27)**:**六项全部 PASS**。合起来证明了三件事:
|
||||
① ③ 段(`AINn` ↔ 转换器引脚)**变比确为 1:1**,无隐藏分压(斜率偏差 −0.14 %);
|
||||
② 8 路语义 ↔ 物理端子**一一对应**(零点步骤逐路代偿);
|
||||
③ TPAFE 补码符号位解释正确(对称性 ≤0.34 %)。
|
||||
`docs/任务规划/数据可信.md` 卡 0 的判据 ①②③④⑤⑥ 至此全部闭环。
|
||||
|
||||
⚠ **两项残留口径**(不影响本轮 PASS,但别当成已验证):**串扰**未单独证(见上表"映射"行);
|
||||
**节奏**只测了注入前后、没测注入进行中。两项若日后怀疑,各自的补做方法已写在对应小节。
|
||||
|
||||
|
||||
## 7. 安全红线
|
||||
|
||||
Reference in New Issue
Block a user