diff --git a/docs/测试说明/ADC前端注入验证流程.md b/docs/测试说明/ADC前端注入验证流程.md index cfc0b88e..1e69841d 100644 --- a/docs/测试说明/ADC前端注入验证流程.md +++ b/docs/测试说明/ADC前端注入验证流程.md @@ -79,6 +79,19 @@ `adc:` 行是 2026-10-27 新增的(`App/task/adc_task.c` 心跳块),此前只有 `cal:` 的三路, 验 8 个通道要复位二十余次。现在**全程不必复位**。 +**「码」是什么**:ADC 输出的**原始整数**,中文常写「码值」/「AD 码」,英文对应 raw code / counts。 +它表示"多少个最小刻度(LSB)",**本身不是物理量**——电压 = 码 × LSB,而两片转换器的 LSB 不同: + +| 转换器 | 位数与极性 | 码的范围 | 1 码 = | 换算示例 | +|---|---|---|---|---| +| TPAFE5160 | 16 位双极性 | −32768 ~ +32767(共 65536 码 = 10 V 跨度) | 152.59 µV | 11430 码 × 152.59 µV ≈ **1.744 V** | +| STM32 ADC1 | 12 位单极性 | 0 ~ 4095(共 4096 码 = 3.3 V 跨度) | 805.66 µV | 1000 码 × 805.66 µV ≈ **0.806 V** | + +本文一律用"码"而不是"伏",有两个理由:① 固件 `adc:` 行打印的就是码,抄数不用心算; +② **标定还没做,把码换成伏正是本次要验证的事**——先换算再用,等于默认了尚未验证的系数。 +判据里的"码值绝对值 ≤ 10"= 短接后读数离 0 不超过 10 个刻度,即 TPAFE 侧 ≈1.5 mV、 +STM32 侧 ≈4 mV。 + ⚠ `adc:` 行某路取数失败时该槽打 0,所以"9 路全 0"要读作"没数据",判据是同一份心跳里 `frames` 是否还在涨。 @@ -260,3 +273,4 @@ TPAFE 是双极性、二进制补码,可以注负压;STM32 是单极性, | 2026-10-27 | §2 的 ASCII 拓扑图换成 SVG(`docs/images/ADC前端电路.svg`,生成器 `tools/arch_diagram/gen_adc_frontend_svg.py`)。ASCII 版把 C44 / R32 画成挂在 ADC7 下的一根竖线,读起来像 2:1 分压——正是本节要否掉的结论;新图把 `ADC7` 与 `ADC7_GND` 画成两个节点,并加 STM32 侧对照面板 | | 2026-10-27 | **§5.1 步骤 0 判据更正**:原写"端子侧应量到 1 kΩ 量级(串阻 + 转换器输入阻抗**并联**)"两处错——① 端子到 AGND 是**串联**通路(1k + 芯片 1 MΩ + 1k ≈ 1.002 MΩ),1 kΩ 只在**串阻两端**成立;② 芯片输入阻抗是 **1 MΩ 恒定**(`docs/芯片手册/TPAFE5160.md` "Analog Input Impedance" 节),不是可与 1 kΩ 并联出 1 kΩ 的量级。改为三行分测表(串阻两端 / TPAFE 侧对 AGND / STM32 侧对 AGND),并写明本步**只排除短路、不验收正确性**;§8 已知坑补对应一行。`docs/硬件平台/ADC通道映射说明.md` §7"前端偏置"行同步补 1 MΩ 与源阻抗匹配依据 | | 2026-10-27 | **§5.2 表格可读性修正**:原表单元格里写了 `\|码\|`(未转义竖线),被 GFM 当成列分隔符,整表渲染成乱码;改为"码值绝对值 ≤ 10 / ≤ 5"(§6 判据汇总同病同修)。同时 §5.2 补"做什么"四步(断电短接 → 上电读 `adc:` → 抄进 §9.1 → 断电换下一路),并明确**本节只给判据、要填的表在 §9.1**;§9.1 记录表新增"空载码值(浮空)"列与填法说明,使空载与短接两个数都被记下来 | +| 2026-10-27 | **§4 补「码」的定义**:用户反馈"码这个单位第一次见"。补 16 位双极性(−32768~+32767、1 码 152.59 µV)与 12 位单极性(0~4095、1 码 805.66 µV)两个刻度对照表、换算示例(11430 码 ≈ 1.744 V,与 `cal:` 行的 1743 mV 自洽),并写明本文为何一律用码而不用伏:固件打印的就是码,且**把码换成伏正是本次要验证的事** |