Files
vd-analysis/docs/cross-model-comparison.md
wangfq db5e108620 fig(family): 六型号总览图 + PD132T↔PD136HA 档位对齐图;待实测清单 ⑧
- docs/img/family-overview.{svg,png}(tools/plot_family_overview.py)
  面板A 窗长/τ 条形;面板B 检测延迟 vs Δf/f(六型号按各自档0 判据);
  归一化延迟表(@1.1× / @2× / @10× 判据)+ 进入确认与口径脚注
  关键:@10×(强信号) 全部=1 窗 ⇒ 8.2/8.7/10.0/10.9/21.9/27.3ms;@1.1×(近阈值) 7~9 窗 ⇒ M1H 57ms ~ PD136HA 197ms
- docs/img/sens-alignment-pd132t-pd136ha.{svg,png}(tools/plot_sens_alignment.py)
  四档 进入/离开 双段条形 + 同档偏差(−46%~+69%) + 最近档映射 + 换型 4 步 + 两端档无对应警示
- 待实测清单新增 ⑧ 弱信号复测(0.10% 车:PD132T 档1 ≈76ms 应检出 / PD136HA 档1 应检不到)
- 文档接入:cross-model-comparison.md 新增「六型号总览图」节;comparison §5.4 嵌入对齐图;measurement doc §10 加指引
- README tools 段补 3 个绘图脚本;表格校验 0 异常(16 文件)
2026-09-11 11:27:58 +08:00

14 KiB
Raw Permalink Blame History

跨型号参数对比总表

各型号参考代码的核心参数横向对比。数值量纲以各型号归一化基数为准,横向比较必须先换算口径(Δf/f = 表值/65536——阈值代码 Origin×表>>16 的分母;Origin 在 Δf/f 分子分母约掉,与归一化基数无关)。

参与型号

型号 平台 版本 文档
PD132L STM8S003F3 V1.09 models/PD132L/analysis.md
PD132T Megawin MA8011-T 80C518KB/256B;板上标记 MA801AS V3.01 models/PD132T/analysis.md
M1H STC12C5202 (8051) V1.00 models/M1H/analysis.md
DLD154V4B AT32F421 (M4) V4.36.40 models/DLD154V4B/analysis.md
DLD154Pro CH591R/CH592 (RISC-V) V3.05 models/DLD154Pro/analysis.md
PD136HA HC32F003C4 (M0+;⚠ 工程档位仍标 F005C6PA) V3.14 models/PD136HA/analysis.mdPD132L 同源移植版)

TLD-110 分析见 models/TLD-110/analysis.md2006 门控计数法参考,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 MA8011-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 MHz12M/4 官方手册直证) 1.5 MHzPCLK0/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)
测量窗 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 平均(有车冻结+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%
进入确认 有:IN_DELAY=10(≈0.6s 无(无 IN_DELAY 判定,进入脉冲立即;仅脉冲定时用 OUTCNT 无(单次,去抖已注释) 3~5 次(按Q档) 3 次
离开判定 简单阈值(SET_DLY 可跳过确认) 简单阈值 简单阈值(SENUP 可固定离开阈值=14 简单阈值+脉冲延迟 简单滞回 3~5 次防抖 + 低Q 环带超时 2.5s(平坦性 #if 禁用) 简单滞回 3 次防抖(平坦性 #if 禁用)
灵敏度表可配 编译期 编译期 编译期 编译期 编译期 运行时可配(BLE 写 Flash
时序 tick 60msT1 溢出 5.46ms ×11;⚠ 勘误) 50ms 50ms5ms×10 手册直证) 5ms?×10=50ms(⚠ 待实测) 检测 10ms + 时序 50ms 检测 8.74ms + 时序 5ms/50ms
看门狗 WDT_CONTR IWDG+WWDG WDTCR WDT 820ms IWDT ~1.64sV2.10 双保险喂狗) WWDG 558ms
测量节拍CAPVD 更新) 8.19 ms(⚠ 勘误) 27.3 ms 10.92 ms(勘误) 21.85 ms 10 ms 8.74 ms
基线更新周期 0.82 s100 窗;⚠ 勘误) 2.73 s 1.09 s(勘误) 5.59 s256 窗) 5 s500 窗) 4.37 s500 窗)
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

测量节拍是区间,不是定值2026-09-11 补):LPCNT = ⌊BASE/Xn₀⌋整数除法且学习后冻结,窗长 = ⌊BASE/Xn₀⌋·Xn₁ 个 tick ⇒ 上表中"测量节拍 / 基线更新周期 / IIR 时间常数"三行数值均为标称上限。站点实际值 = 标称 × (BASEr₀)/BASE × f₀/f_nowr₀ = BASE mod Xn₀):100kHz 站点 0.39%、60kHz 站点 2.34%、带内最差 6.2%Xn₀=2049);深占压(Δf/f +5%,频率升高)窗长再 4.8%Δf/f 口径不受影响Value/Origin = Xn₁/Xn₀ 精确,余数完全约掉)。公式/数值表/位宽约束(INT8U LPCNT ⇒ 需 Xn>129)见 measurement-window-quantization.md

IIR 系数 79/64 的量化对比(α/τ/阶跃响应/噪声抑制/单频衰减/模拟验证)见 filter-coefficient-79-vs-64.md2026-08-28 新增;2026-08-31 v2 扩展:时间常数公式详解 + 释放路径影响 + 方案 A 案例)。

时序数值来源(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=2538bit 自动重装,每 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=0154Pro 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 §5.4。

六型号总览图(窗长 / τ / 检测延迟,2026-09-11 新增)

车检器六型号总览

(矢量版 docs/img/family-overview.svg;生成脚本 tools/plot_family_overview.py,型号参数内置、改数即重出。图中延迟为「判据越线」口径,不含输出级 50ms 节拍与进入确认——确认时间见面板脚注)

说明:面板 A 的条形与面板 B 的曲线全部按本文口径计算(窗长 = ⌊BASE/Xn⌋·Xn/f_cap 标称值;τ = 节拍×256/α;延迟由 CAPVD_n = Δf/f·[1(1−α/256)^n] 反解 n)。归一化(按各自档0 判据的 1.1×/2×/10× 倍数)后,六型号的差异只剩「窗长 × τ」两件事:@10×(强信号)全部 = 1 窗 ⇒ 10.9 / 21.9 / 27.3 / 8.2 / 8.7 / 10.0 ms@1.1×(近阈值)= 7~9 窗 ⇒ PD136HA 196.7ms 与 PD132L 191.2ms 最慢、M1H 57.3ms 与 DLD154Pro 61.2ms 最快。

测频路线(周期累积法为统一范式)

纳入对比表的型号(M1H / PD132L / PD132T / PD136HA / DLD154V4B / DLD154Pro全部采用周期累积法

累加固定数量周期(周期域,LPCNT=⌊BASE/Xn₀⌋,**学习后冻结**
⇒ 窗长 = LPCNT·Xn₁ 个 tick(≤ BASE tick**按站点线圈频率浮动 0 ~ −6.2%**,深占压再 +5%
⇒ 但比值口径精确:Value/Origin = Xn₁/Xn₀(floor 余数约掉)

TLD-110(2006,门控计数法)是唯一例外,已移出对比表,见 models/TLD-110/analysis.md

DLD 产品线(154V4B/154Pro/960Loop/110S)继承 M1H 血统,且 154Pro 是 V4B 的直接移植(同源);PD132 系(L/T/136HA)独立同路,其中 PD136HA 是 PD132L 的 HC32 同源移植。

同源 / 同路 / 不同路(辨析)

参考代码之间有三种关系,别把"框架相似"当"血统继承"

关系 含义
同源 明确继承/移植关系,细节连续 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 周期累积(已移出对比表)

判断依据:文件头声明(PD132T 认 PD132L)、灵敏度表数值、基线/离开策略细节。看 PD132 代码时要当"平行实现"看,它的差异(量纲/基线/滞回)恰是各家独立取舍。

跨型号通用结论

  1. 灵敏度表不能照搬数值:必须按各自归一化基数/测量方式换算 Δf/f 后再比较
  2. 离开阈值语义三派TLD-110 相邻档滞回 / M1H-PD132 同档滞回表 / PD132 可固定最高档
  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 实际 tickARR=0xF159 与注释「5ms」不自洽,反推 82.4ms)—— 决定其 500ms / 300s / 240s 秒数的授权
  • PD132T「双沿 ⇒ 半周期」现场确认(示波器量线圈频率或 P23)—— 确认线圈频段落 23.4~118kHz
  • PD132L 捕获沿已由 models/PD132L/analysis.md(TIM1_CC3 下降沿)说明,如需可再源码复核
  • PD136HA 恢复/替代频率窗口检查:其 // if(Xn>400 && Xn<2030) 被注释 ⇒ 8 位 LPCNT 失去保护(Xn<129 时截断 ⇒ 异常线圈可能报"堵车"而非"故障"),且丢失"线圈异常 → 故障"路径。见 measurement-window-quantization.md §5