docs(cross-model): 总表审计复核 —— M1H 捕获时钟勘误(1.0MHz→4MHz/8.19ms)+ 新增捕获沿/捕获时钟/判据常数三行

- 新增 3 行(关键):**捕获沿 / 周期口径** · **捕获时钟 f_cap** · **判据常数 C = 32·f_cap/边沿系数**
-  判据常数揭示:PD132T(3MHz 双沿)与 PD136HA(1.5MHz 单沿)的 C 同为 4.8×10⁷
  ⇒ 两者覆盖同一线圈频段 23.4~118kHz;PD132L(1.2MHz 单沿)C=3.84×10⁷ ⇒ 窗口 0.8× 自洽
- ⚠ M1H 勘误(同类错误):原 1.0MHz/32.8ms 沿用了与 PD132T 同源、**已被 MA801 官方手册证伪**的
  「T0 走 SYSCLK/4」捷径 ⇒ 正确 = **4MHz / 8.19ms**(基线 0.82s、τ 22~27ms、主节拍 60ms)
  三条自洽反证:① AUXR=0xC0 无其他解释 ② HOLD 5500×60ms=330s(≈PD132T 300s;12T 读法 66min 不合理)
  ③ IN_DELAY=10 ≈0.6s 进入确认(12T 读法 7.2s 不合理)。**仍待 STC12C5202 手册 AUXR 位定义落锤**(已入「待补证」)
- ⚠ M1H 记录纠错:「进入确认 无」有误 —— 代码有 `IN_DELAY=10` / `OUT_DELAY=38`(≈0.6s / 2.28s,SET_DLY 可跳过)
- 其他更新:PD136HA 21.8→21.85ms、基线 +LC_HOLD 240s 重学、PD132T 双系数 τ 35.4/43.7ms、SENUP 离开阈值特例、
  PD132T tick 升级为官方手册直证、同源行补「PD132T↔PD136HA 前端同构(÷32)」、
  结论#3 改为按 `f_cap/边沿系数` 缩放、新增结论 #6(先算判据常数)/#7(异常策略差异)
- 同步修订 models/M1H/analysis.md(数值 + 时间常量 + 前后矛盾两处)
- 表格校验 0 异常(14 文件)
This commit is contained in:
wangfq
2026-09-11 09:13:44 +08:00
parent f876c36d05
commit 0c05726699
2 changed files with 57 additions and 34 deletions
+34 -15
View File
@@ -7,46 +7,55 @@
| 型号 | 平台 | 版本 | 文档 |
|------|------|------|------|
| PD132L | STM8S003F3 | V1.09 | [models/PD132L/analysis.md](../models/PD132L/analysis.md) |
| PD132T | **MA801AS / Megawin MA801** (8051) | V3.01 | [models/PD132T/analysis.md](../models/PD132T/analysis.md) |
| PD132T | **Megawin MA801**1-T 80C518KB/256B;板上标记 MA801AS | V3.01 | [models/PD132T/analysis.md](../models/PD132T/analysis.md) |
| M1H | STC12C5202 (8051) | V1.00 | [models/M1H/analysis.md](../models/M1H/analysis.md) |
| DLD154V4B | AT32F421 (M4) | **V4.36.40** | [models/DLD154V4B/analysis.md](../models/DLD154V4B/analysis.md) |
| DLD154Pro | CH591R/CH592 (RISC-V) | V3.05 | [models/DLD154Pro/analysis.md](../models/DLD154Pro/analysis.md) |
| PD136HA | **HC32F003C4** (M0+) | V3.14 | [models/PD136HA/analysis.md](../models/PD136HA/analysis.md)PD132L 同源移植版) |
| PD136HA | **HC32F003C4** (M0+;⚠ 工程档位仍标 F005C6PA) | V3.14 | [models/PD136HA/analysis.md](../models/PD136HA/analysis.md)PD132L 同源移植版) |
> TLD-110 分析见 `models/TLD-110/analysis.md`2006 门控计数法参考,2026-08-27 起**不再纳入对比总表**)。
## 六型号核心参数对比(2026-08-27)
## 六型号核心参数对比(首版 2026-08-27**2026-09-11 复核更新**
| 维度 | M1H | PD132L | PD132T | PD136HA | DLD154V4B | DLD154Pro |
|------|-----|--------|--------|---------|-----------|-----------|
| 年代 | 2008 | 2020 | 2021 | 2021 | 2026 | 2026 |
| MCU | STC12C5202 | STM8S003F3 | **Megawin MA801** | **HC32F003C4** (M0+) | AT32F421 (M4) | CH591R/CH592 (RISC-V) |
| MCU | STC12C5202 | STM8S003F3 | **Megawin MA801**1-T 80C51 | **HC32F003C4** (M0+) | AT32F421 (M4) | CH591R/CH592 (RISC-V) |
| 语言/系统 | C | C | C | C | C + FreeRTOS | C + BLE(TMOS) |
| 通道 | 1 | 1 | 1 | 1 | 1 | 1 |
| 测频方式 | PCA 周期捕获 | TIM1 周期捕获 | PCA 周期捕获 | ADTIM4 周期捕获 | TIM3 周期捕获 | TMR0 下降沿捕获 |
| **捕获沿 / 周期口径** | **双沿**`CCAPM0=0x31` 同 PD132T 结构)⇒ **Xn=半周期** | 下降沿(TIM1_CC3)⇒ 整周期 | **双沿**`CCAPM1=0x31`)⇒ **Xn=半周期** | **单沿**`AdtHwTrigCHxARise`)⇒ 整周期 | 直连振荡,**1 Xn = 1 原始周期** | 下降沿(TMR0)⇒ 整周期 |
| **捕获时钟 f_cap** | **4 MHz**(T0 溢出 12M/3;⚠ 待手册确认) | 1.2 MHz12M/10PSC=9 | **3 MHz**12M/4 ✅官方手册直证) | **1.5 MHz**PCLK0/8 | 120 MHzIP tick 8.33ns | 60 MHz(实测配置) |
| **判据常数 `C=32·f_cap/边沿系数`** | ⚠ 待核(前端分频未取证;若同 ÷32 ⇒ 6.4×10⁷) | 3.84×10⁷ | **4.8×10⁷** | **4.8×10⁷** | N/A(直连:1 Xn = 1 线圈周期) | N/A(同左) |
| 归一化基数 | 32768 | 32768 | 32768 | 32768 | 131072 (2^17) | **524288 (2^19)** |
| 测量窗 | 32.8ms | 27.3ms | **10.92ms**(勘误) | 21.8ms | **1.09ms(硬)**/10ms(软) | **8.74ms** |
| 测量窗 | **8.19ms**(⚠ 勘误,待手册确认) | 27.3ms | **10.92ms**(勘误) | 21.85ms | **1.09ms(硬)**/10ms(软) | **8.74ms** |
| IIR 系数 | 79(固定) | 79/64 | 79/64 | 79/64(实际 64 | 79 + 斜率限幅 5% | 79 + 斜率限幅 5% |
| 基线 | 100 平均(有车也跟踪) | 100 平均(有车冻结) | 100 平均(有车冻结) | 256 平均(有车冻结) | 500 平均+冻结超时/环境重校准/释放后补偿 | **500 平均+冻结超时/稳定性双条件** |
| 基线 | 100 平均(有车也跟踪) | 100 平均(有车冻结) | 100 平均(有车冻结) | 256 平均(有车冻结+**LC_HOLD 240s 重学**) | 500 平均+冻结超时/环境重校准/释放后补偿 | **500 平均+冻结超时/稳定性双条件** |
| 灵敏度表 | {216,108,36,10} | {300,60,32,21} | {300,60,32,21} | {162,81,54,28} | **{337,71,38,25}**(方案BV4.06 起) | {108,54,28,14} |
| 离开表 | 同表 | {60,32,21,14} | {60,32,21,14} | {81,54,32,18} | **{51,27,18,12}**(方案B | {81,32,16,12} |
| 阈值换算 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 |
| 档位 Δf/f | 0.33%~0.015% | **0.46%~0.032%** | **0.46%~0.032%** | 0.247%~0.043% | **0.514%~0.038%**(方案BPD132T 对齐表 0.46%~0.032% 为备选) | **0.165%~0.021%** |
| 进入确认 | 无 | 无 | 无 | 无(单次,去抖已注释) | **3~5 次(按Q档)** | **3 次** |
| 离开判定 | 简单阈值 | 简单阈值 | 简单阈值 | 简单阈值+脉冲延迟 | **简单滞回 3~5 次防抖 + 低Q 环带超时 2.5s**(平坦性 #if 禁用) | **简单滞回 3 次防抖**(平坦性 #if 禁用) |
| 进入确认 | **有:`IN_DELAY=10`**(≈0.6s | 无 | 无(IN/OUT_DELAY 已注释,同 PD132L | 无(单次,去抖已注释) | **3~5 次(按Q档)** | **3 次** |
| 离开判定 | 简单阈值`SET_DLY` 可跳过确认) | 简单阈值 | 简单阈值(`SENUP` 可固定离开阈值=14 | 简单阈值+脉冲延迟 | **简单滞回 3~5 次防抖 + 低Q 环带超时 2.5s**(平坦性 #if 禁用) | **简单滞回 3 次防抖**(平坦性 #if 禁用) |
| 灵敏度表可配 | 编译期 | 编译期 | 编译期 | 编译期 | 编译期 | **运行时可配(BLE 写 Flash** |
| 时序 tick | 50ms | 50ms | 50ms | 5ms?×10=50ms | 检测 10ms + 时序 50ms | **检测 8.74ms + 时序 5ms/50ms** |
| 时序 tick | **60ms**T1 溢出 5.46ms ×11;⚠ 勘误) | 50ms | 50ms5ms×10 ✅手册直证) | 5ms?×10=50ms(⚠ 待实测) | 检测 10ms + 时序 50ms | **检测 8.74ms + 时序 5ms/50ms** |
| 看门狗 | WDT_CONTR | IWDG+WWDG | WDTCR | WDT 820ms | **IWDT ~1.64s**V2.10 双保险喂狗) | **WWDG 558ms** |
| **测量节拍**CAPVD 更新) | **32.8 ms** | **27.3 ms** | **10.92 ms**(勘误) | **21.8 ms** | **10 ms** | **8.74 ms** |
| **基线更新周期** | **3.28 s**100 窗) | **2.73 s** | **1.09 s**(勘误) | **5.59 s**256 窗) | **5 s**500 窗) | **4.37 s**500 窗) |
| IIR 时间常数 τ | 106 ms | 88 ms / 109 ms | **35.4 ms**勘误;精确 29.6 | 87 ms | 32 ms | **28 ms** |
| **测量节拍**CAPVD 更新) | **8.19 ms**(⚠ 勘误) | **27.3 ms** | **10.92 ms**(勘误) | **21.85 ms** | **10 ms** | **8.74 ms** |
| **基线更新周期** | **0.82 s**100 窗;⚠ 勘误 | **2.73 s** | **1.09 s**(勘误) | **5.59 s**256 窗) | **5 s**500 窗) | **4.37 s**500 窗) |
| IIR 时间常数 τ | **22~27 ms**(⚠ 勘误) | 88 ms / 109 ms | **35.4 / 43.7 ms**α79/α64;精确 29.6 / 38.0 | 87 ms(精确 76.0 | 32 ms | **28 ms** |
> IIR 系数 79/64 的量化对比(α/τ/阶跃响应/噪声抑制/单频衰减/模拟验证)见 [filter-coefficient-79-vs-64.md](filter-coefficient-79-vs-64.md)2026-08-28 新增;**2026-08-31 v2 扩展:时间常数公式详解 + 释放路径影响 + 方案 A 案例**)。
> ⚠ 时序数值:DLD154Pro 为 60MHz 实测配置(8.74ms 测量节拍);DLD154V4B 为实测/代码确认(10ms tick τ=32ms);其余基于 12MHz 晶振推导(测量节拍 = BASE/捕获时钟):**PD136HA 晶振 12MHz 已确认**(用户 2026-09-11)、PD132T 12MHz`AUXR=0xC0`+T1 5ms 寄存器反证)、PD132L 12MHz(代码注释);M1H / TLD-110 仍属"12T 机器周期"假设。归一化基数三代三变(32768→131072→524288):V4B 是参考型号 32768 的 4 倍 → 测量窗 1.09ms 快 30×(V4.27 修正 120MHz tick 口径)、精度高 4 倍;154Pro 是 V4B 的 4 倍(60MHz 下 8.74ms 软件测量节拍)
> **时序数值来源(2026-09-11 复核)**DLD154Pro 为 60MHz 实测配置(8.74ms);DLD154V4B 为实测/代码确认(10ms tickτ=32ms);PD132 系(L/T/136HA**全部基于 12MHz 晶振** —— PD136HA:用户确认 + `CLK_INIT()` 直取 XTH + Keil `<Cpu> CLOCK(12000000)`**PD132TMA801 官方手册直证**`AUXR` b7/b6 = T0X12/T1X12 ⇒ 定时器按 1 个时钟周期计数;`CMOD` `CPS1:CPS0=10` ⇒ PCA 时钟 = 定时器 0 溢出);PD132L:代码注释。公式:测量节拍 = BASE / 捕获时钟
>
> ⚠ **M1H 捕获时钟已勘误为 4 MHz**(原表 1.0MHz/32.8ms 沿用了与 PD132T 同源、**已被官方手册证伪**的"T0 走 SYSCLK/4"捷径):`AUXR=0xC0`(⇒ T0 走 SYSCLK=12MHz+ `TH0=TL0=253`8bit 自动重装,每 **3** 个时钟溢出)⇒ PCA 时钟 = **4MHz** ⇒ 测量窗 **8.19ms**、基线 **0.82s**、τ **22~27ms**、主节拍 = T1 溢出 5.46ms × 11 = **60ms**。三条自洽反证:① `AUXR=0xC0` 的 b7/b6 在 STC 1T 系列即 T0x12|T1x12(该写入无其他解释);② T1 重装 0(65536 计数)⇒ HOLD 5500 tick = **330s**(与 PD132T 的 300s 同设计目标;12T 读法为 66min,不合理);③ `IN_DELAY=10` ⇒ **≈0.6s 进入确认**12T 读法 7.2s,不合理)。**最终以 STC12C5202 手册 `AUXR` 位定义落锤**(见"待补证")。
>
> 归一化基数三代三变(32768→131072→524288):V4B 是参考型号 32768 的 4 倍 ⇒ 测量窗 1.09ms(硬)较 PD132L 27.3ms 快 **25×**、较 PD136HA 快 **20×**、较 M4 前身 M1H8.19ms)快 7.5×(V4.27 修正 120MHz tick 口径)、绝对精度高 4 倍;154Pro 是 V4B 的 4 倍(60MHz 下 8.74ms 软件测量节拍)。
> ⚠ 灵敏度表**数值不可跨型号直接比较**:各型号归一化基数/测量方式不同(32768 基数 ×65536 比例)。统一换算成 Δf/f 后:M1H 最灵敏档 0.015%PD132 0.032%**V4B 0.038%(方案BV4.06 起;PD132T 对齐表 0.032% 保留为备选 `USE_PLANB_TABLE=0`**154Pro 0.021%(⚠ 2026-08-28 修正:PD132 曾误用基数 32768 当分母算成 0.064%,正确分母是代码 `>>16` 的 65536)。
> ⚠ **同族内档位同样不可照搬**PD132T ↔ PD136HA 一一映射偏差 **46%~+69%**(两端档差异最大:PD132T 最钝档 0.458% 无对应档;其最高灵敏档 0.032% 亦比 PD136HA 最高档钝 1/3)。跨代必须按 Δf/f 换算后现场复测,见 [pd132t-vs-pd136ha-comparison.md](pd132t-vs-pd136ha-comparison.md) §5.4。
## 测频路线(周期累积法为统一范式)
纳入对比表的型号(M1H / PD132L / PD132T / PD136HA / DLD154V4B / DLD154Pro**全部采用周期累积法**:
@@ -65,7 +74,7 @@ DLD 产品线(154V4B/154Pro/960Loop/110S)继承 M1H 血统,且 154Pro 是
| 关系 | 含义 | 例 |
|------|------|-----|
| **同源** | 明确继承/移植关系,细节连续 | M1H → DLD154V4B(灵敏度表/映射/IIR 全继承);**DLD154V4B → DLD154Pro**(文件头明示"算法移植自 V4B TaskLoop V2.0"IIR/斜率限幅/稳定期/500 窗基线/冻结/进入 3 次全继承,但基数重定标 131072→524288、离开降级简单滞回、灵敏度表改运行时可配);PD132L → PD132T(文件头明示"实现与 L 一样");**PD132L → PD136HA**(工程名 PD132L-HD、文件头明示"硬件用 PD132L_V1.02/替换 PD132LA_V1.06"LPCNT/IIR/基线/滞回全继承,但灵敏度表与基线窗口独立改动) |
| **同源** | 明确继承/移植关系,细节连续 | M1H → DLD154V4B(灵敏度表/映射/IIR 全继承);**DLD154V4B → DLD154Pro**(文件头明示"算法移植自 V4B TaskLoop V2.0"IIR/斜率限幅/稳定期/500 窗基线/冻结/进入 3 次全继承,但基数重定标 131072→524288、离开降级简单滞回、灵敏度表改运行时可配);PD132L → PD132T(文件头明示"实现与 L 一样");**PD132L → PD136HA**(工程名 PD132L-HD、文件头明示"硬件用 PD132L_V1.02/替换 PD132LA_V1.06"LPCNT/IIR/基线/滞回全继承,但灵敏度表与基线窗口独立改动**PD132T ↔ PD136HA 前端同构**:同 9015×2 振荡 + CD4060 **÷32(Q5)**,换代只换 MCU |
| **同路不同源** | 独立开发撞出相似算法框架(周期累积+IIR+滑动平均+相对阈值是行业主流范式),但细节各取 | M1H vs PD132:灵敏度表 {216,...} vs {300,...}、基线有车也跟踪 vs 有车冻结、离开始终当前档 vs 可固定最高档 |
| **不同路** | 测频原理根本不同 | TLD-110 门控计数 vs 周期累积(已移出对比表) |
@@ -75,10 +84,20 @@ DLD 产品线(154V4B/154Pro/960Loop/110S)继承 M1H 血统,且 154Pro 是
1. **灵敏度表不能照搬数值**:必须按各自归一化基数/测量方式换算 Δf/f 后再比较
2. **离开阈值语义三派**TLD-110 相邻档滞回 / M1H-PD132 同档滞回表 / PD132 可固定最高档
3. **Xn/计数窗口跨平台按捕获时钟缩放**PD132L→T 1.27×)
3. **Xn 窗口按 `f_cap / 边沿系数` 缩放**(不是只按时钟):PD132L(1.2MHz 单沿)→PD132T(3MHz **双沿**) = (3/1.2)/2 = 1.25 ≈ 实测 1.27×;PD132L→PD136HA(1.5MHz 单沿) = 1.25×**PD132L/T/136HA 覆盖同一线圈频段 ≈23.4~118kHz**(判据常数 CPD132T/PD136HA 同为 4.8×10⁷、PD132L 3.84×10⁷ 故窗口 0.8×)
4. **拨码编码随硬件重排**:组合位 / 直接编码 / 反码(M1H SENS=3-(sw&0x03))各不相同
5. M1H 是 DLD 产品线算法血统源头(灵敏度表/映射/IIR 全部继承),分析新 DLD 型号前先读 M1H
6. **跨型号对比先算判据常数** `C = 32·f_cap/边沿系数`:可立刻判定两型号是否覆盖同一线圈频段(本轮据此查明 PD132T/PD136HA 窗口常量近乎相同的真正原因);**捕获沿必须实测/查源码确认**,不能从窗口常量反猜
7. **异常策略差异常大于灵敏度差异**:PD132T「降级维持」(断输出告警、不复位)vs PD136HA「主动自愈」(整机复位 / 240s 重学基线)—— 复位会中断输出,道闸/会车场景必须配控制器侧超时
## 待补型号
- [ ] 其他新参考代码(CH592EVT / CH32V208 等 SDK 类不算车检器型号,不归档)
## 待补证(2026-09-11 审计新增)
- [ ] **M1H 的 `AUXR` 位定义**STC12C5202 手册)—— 为 M1H 捕获时钟 4MHz/8.19ms 落锤。另两种读法(1MHz/32.8ms、333kHz/98.4ms)已被自洽性检验排除,但需手册证据
- [ ] **M1H 前端分频比**(是否同为 9015×2 + CD4060 ÷32)—— 决定其判据常数 C 与线圈频段换算;若同 ÷32 则 C = 6.4×10⁷
- [ ] **PD136HA 的 TIM1 实际 tick**`ARR=0xF159` 与注释「5ms」不自洽,反推 82.4ms)—— 决定其 500ms / 300s / 240s 秒数的授权
- [ ] **PD132T「双沿 ⇒ 半周期」现场确认**(示波器量线圈频率或 P23)—— 确认线圈频段落 23.4~118kHz
- [ ] **PD132L 捕获沿**已由 `models/PD132L/analysis.md`(TIM1_CC3 下降沿)说明,如需可再源码复核