Files
DLD110SV4B/docs/coil-eval-design-basis-review.md
T

104 lines
8.0 KiB
Markdown
Raw 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.
# 环路线圈健康评估设计依据 — 技术评审与 DLD110S 字段映射
> **评审日期**2026-08-26
> **评审人**:小飞(配合王工)
> **评审对象**`docs/coil-eval-design-basis.md` V1.1(第三方应用设计依据)
> **配套产品**DLD110SCH591R BLE 单线圈,固件 V4.20 / 硬件 V4.01
---
## 1. 总体结论
设计依据文档**数据质量高、公式全部核验通过**,可作为第三方应用(小程序)的评估规范。但它是**通用行业文档**(FHWA/NEMA 口径),落地到 DLD110S 必须做字段映射——**DLD110S 实际上报的字段与文档参数体系不是一一对应**,尤其"电感量 L / Q 值 / R_DC / Vpp"四项 DLD110S **不直接上报**,需要换算或降级处理。
## 2. 公式与数据核验结果(全部通过)
| 核验项 | 结果 |
|---|---|
| §3.2.1 频率-电感表 32 格(8 L × 4 C) | ✅ 全部正确,最大偏差 0.24%(表格四舍五入) |
| 交叉验证 59μH @ 四档电容 | ✅ 114.1 / 99.9 / 80.7 / 75.2 kHz,与 vd960Loop 实测 114/100/81/75 一致 |
| §3.2.2 Δf/f = -(1/2)×ΔL/L | ✅ 正确(f ∝ L^-1/2 微分) |
| §3.4.1 Q 算例 13.5 | ✅ Q=2πfL/R = 2π×20k×94μ/0.87 = 13.6 |
| §3.5.1 R_DC 算例 0.36Ω | ✅ 21.6m×0.0083×2 = 0.359Ω |
| §3.3.2 Class3 汽车 3.2%/5.4% | ✅ 3.0/94μH=3.2%、5.0/94μH=5.3%(含引线口径) |
| §3.3.2 3M 专利 5.0% | ✅ 3.5μH/70μH=5.0%6ft 方环无引线口径) |
| 中国工程实践 150~250μH → 频率 | ✅ 36~72kHz 落在 DLD110S 量程内 |
> ⚠ 注意 §3.3.2 表内 **ΔL/L 口径不一致**NEMA 表用"含 100ft 引线总电感 94μH"3M 专利用"裸环 70μH"。两个口径差 34%,小程序实现时**必须统一基准**(建议统一用裸环 L_loop 或含引线 L_total,别混用)。
## 3. 关键口径对齐:variation ↔ ΔL/LDLD110S 上报字段的核心)
DLD110S 0xC0 主动上报的 `variation` 是**周期域差值**`variation = Origin CAPVD`),不是文档 §3.3 直接定义的 ΔL/L。换算关系(CAPVD ∝ T = 2π√(LC),即周期 ∝ √L):
```
variation/Origin = 1 √(1 + ΔL/L) 精确
ΔL/L ≈ 2 × variation/Origin 一阶(|ΔL/L|≪1 时残差 <0.2%
Δf/f ≈ variation/Origin 频域对应(与文档式 2-47 完全一致)
```
**结论**:文档 §3.2.2 的 `Δf/f = -(1/2)×ΔL/L` 与 DLD110S 的 variation 口径**自洽**——`variation/Origin ≈ Δf/f ≈ -(1/2)×ΔL/L`。第三方应用两种实现路径等价:
| 路径 | 做法 | 注意 |
|---|---|---|
| A. 用频率 | Δf/f = (f_报 f_基)/f_基,ΔL/L ≈ −2×Δf/f | 需要自建基线 f_基(无车时频率) |
| B. 用 variation | ΔL/L ≈ 2×variation/Origin | 需要 Origin**但 DLD110S 不上报 Origin** ⚠️ |
> 🚨 **DLD110S 上报缺陷**0xC0 只有 `frequency` + `variation`**没有 Origin/CAPVD**。小程序走路径 B 算不出 ΔL/L,**必须走路径 A**(用上报频率自建无车基线,或用 0x24 读参数/上电初始频率当基线)。这是小程序实现时最大的坑。
## 4. DLD110S 字段映射表(设计依据 → 实际上报)
| 设计依据参数 | 优先级 | DLD110S 是否有 | 实际来源 | 实现说明 |
|---|---|---|---|---|
| 谐振频率 f | ★★★ | ✅ | 0xC0 偏移 7-93B LE | `freq = sclk_freq/(CAPVD/LPCNT) + 360`+360 经验补偿,见 §5 |
| 电感量 L | ★★★ | ⚠️ 间接 | 反推:L = 1/(4π²f²C) | 需知道当前电容档(freq_level)才能反推;或依赖用户输入的几何参数算理论值 |
| ΔL / ΔL/L | ★★★ | ⚠️ 间接 | variation + 自建频率基线 | 走路径 A:ΔL/L ≈ 2×(f_报−f_基)/f_基 |
| 品质因数 Q | ★★ | ❌ | 无 | 文档 §7 已留口:无 Q 上报时用 R_DC + 频率间接评估,或直接降级跳过 |
| 直流电阻 R_DC | ★★ | ❌ | 无(人工输入) | C 类测量来源,小程序表单提供输入框即可 |
| 振荡峰峰值 Vpp | ★ | ❌ | condition 字段可替代 | 0xC0 偏移 1 低 4 位 `condition`(0~15,环境活跃度),**不是 Vpp 但可当健康度粗判** |
| 基线漂移 | ★★ | ⚠️ 间接 | 频率长期趋势 | 固件有基线跟踪(WINDOW_ORIGIN=500 窗 4.4s),variation 被自动基线吸收,**漂移监测必须用上报频率的长期趋势,不能用 variation** |
**condition 字段语义**(固件 peripheral_main.c):`g_env_activity/10`>150 取 15**线圈断开强制 15**。
→ 小程序可直接展示:condition≥15 → 环境活跃/疑似断开,再结合 `loop1_FLAG_CUT`0xC0 偏移 3 bit7)+ 断开次数(偏移 4-6)区分。
## 5. DLD110S 四档电容与频率档位(FLEVEL)
- 固件 `g_freq_level = loopFreq_Level - 1`0~3),硬件 GPIO `FLEVEL_H/L` 组合切档:
- 0=高频(FLEVEL_H_LOW, FLEVEL_L_LOW
- 1=中高(LOW, HIGH
- 2=中低(HIGH, LOW
- 3=低频(HIGH, HIGH
- **0x23 设置参数 Data[0] 高 4 位 = loopFreq_Level**1~40x24 回读同位置)
- 0xC0 偏移 1 `freq_level<<4` 直接上报当前档位 → 小程序评估频率必须用**上报的 freq_level 对应电容**查表,不能假设档位
- ⚠️ **待现场验证**:设计依据说四档电容 = 33/43/66/76nFvd960Loop 口径)。DLD110S 的 FLEVEL 是否就是这四个值,**需按原理图/实物确认**(固件只有 GPIO 切换,无电容值信息)。默认沿用 33/43/66/76,但评估前先核实。
- ⚠️ **频率 +360 补偿**:上报 freq 加了经验值 360Hz。对频率判据(±10%~±20%)影响可忽略(0.36%@100kHz),但**反推电感量 L 时别把 360 当真实频率**,建议先用 `f_真实 = f_报 360` 再算 L。
## 6. DLD110S 灵敏度档位(评估检测能力时用)
| KEY_SA1 | KEY_SA2 | g_freq_sens | 档位 | sens_in | Δf/f 阈值 | ΔL/L 阈值(×2) |
|---|---|---|---|---|---|---|
| 1 | 1 | 0 | 最低 | 108 | 0.165% | 0.330% |
| 0 | 1 | 1 | 中 | 54 | 0.082% | 0.165% |
| 1 | 0 | 2 | 最高 | 28 | 0.043% | 0.085% |
- 🚨 **灵敏度由硬件拨码决定,0x23 设置的 sensitvity 不生效**0x24 回读 = 拨码档位+1
- 对照设计依据 §3.3.4:轿车 S≥1% 正常、摩托车 S≥0.1% 正常 → DLD110S 最高档(0.085% ΔL/L 阈值)能覆盖摩托车临界场景,符合 NEMA Class 2 可靠检测下限(0.32%... 实际 0.32% > 0.085%,裕量充足)
- 小程序评估"检测能力"时:**按 0x24 回读的拨码档位**查表,别用 0x23 设置值;或者直接用百分比阈值(S≥1% 轿车 / S≥0.1% 摩托)评估实际车辆事件信号强度,不依赖档位号
## 7. 小程序评估实现检查清单(上传评估数据后逐项核对)
1. **频率判据**:理论频率是否按"用户输入几何参数 → FHWA 表 → 叠加引线 → 选当前 freq_level 电容"计算?±10%/±20% 阈值是否实现?
2. **电感反推**:是否用 `L = 1/(4π²(f_报−360)²C)`C 是否取自上报 freq_level
3. **ΔL/L 路径**:是否走频率基线(路径 A)?**有没有错误地直接用 variation 当 ΔL/L 或除以错误基准?**
4. **符号位**variation 3B 补码符号扩展(`if (v & 0x800000) v |= 0xFF000000`)是否正确?
5. **灵敏度档位**:是否读 0x24(拨码档位+1)而非 0x23 设置值?
6. **condition 判读**:是否区分"环境活跃" vs "线圈断开"(结合 FLAG_CUT / 断开次数)?
7. **综合评级**:是否按 §4.3 规则(★★★ 参数异常 → ❌,开路/停振 → 🚨)?
8. **口径统一**:ΔL/L 基准是否统一(裸环 vs 含引线)?
## 8. 建议回填给设计依据文档 V1.2 的修订点
1. §3.3.2 两个口径表加注"基准不同"(94μH 含引线 vs 70μH 裸环)
2. §7 待确认项补:DLD110S 上报缺 Origin → 建议固件后续版本在 0xC0 增加 Origin/CAPVD 字段(一行),第三方就能直接算 ΔL/L
3. §3.6 建议的"自检布尔量"对 DLD110S 可用 `condition` + `FLAG_CUT` 组合实现,建议写进产品协议文档
4. 频率 +360 补偿要写进协议(已写进 ble-protocol.md 第 6 节,本文档评估方须知晓)