- 应用层 main.c(832行) 到位,补全算法级分析
- 血统实锤:工程名 PD132L-HD,文件头明示硬件用 PD132L_V1.02/替换 PD132LA_V1.06
- 周期累积法同框架:LPCNT=32768/Xn、IIR 79/64(实际64)、有车冻结基线、相对阈值>>16
- 独立改动:灵敏度表 {162,81,54,28}/{81,54,32,18}(Δf/f 0.247%~0.043%)、
基线窗口 100→256(5.59s)、进入/离开单次判定(去抖注释)、双继电器输出
- 时序量化:测量节拍 21.8ms、基线 5.59s、IIR τ 87ms(12MHz 假设待验证)
- 对比总表升级五型号,同源辨析补 PD132L→PD136HA
5.6 KiB
5.6 KiB
跨型号参数对比总表
各型号参考代码的核心参数横向对比。数值量纲以各型号归一化基数为准,横向比较必须先换算口径(Δf/f = 表值/基数)。
参与型号
| 型号 | 平台 | 版本 | 文档 |
|---|---|---|---|
| PD132L | STM8S003F3 | V1.09 | models/PD132L/analysis.md |
| PD132T | MA801AS (8051) | V3.01 | models/PD132T/analysis.md |
| M1H | STC12C5202 (8051) | V1.00 | models/M1H/analysis.md |
| DLD154V4B | AT32F421 (M4) | V2.8 | models/DLD154V4B/analysis.md |
| PD136HA | HC32F005 (M0+) | V3.14 | models/PD136HA/analysis.md(PD132L 同源移植版) |
TLD-110 分析见
models/TLD-110/analysis.md(2006 门控计数法参考,2026-08-27 起不再纳入对比总表)。
五型号核心参数对比(2026-08-27)
| 维度 | M1H | PD132L | PD132T | PD136HA | DLD154V4B |
|---|---|---|---|---|---|
| 年代 | 2008 | 2020 | 2021 | 2021 | 2026 |
| MCU | STC12C5202 | STM8S003F3 | MA801AS | HC32F005 (M0+) | AT32F421 (M4) |
| 语言/系统 | C | C | C | C | C + FreeRTOS |
| 通道 | 1 | 1 | 1 | 1 | 1 |
| 测频方式 | PCA 周期捕获 | TIM1 周期捕获 | PCA 周期捕获 | ADTIM4 周期捕获 | TIM3 周期捕获 |
| 归一化基数 | 32768 | 32768 | 32768 | 32768 | 131072 (2^17) |
| 测量窗 | 32.8ms | 27.3ms | 43.7ms | 21.8ms | 2.18ms |
| IIR 系数 | 79(固定) | 79/64 | 79/64 | 79/64(实际 64) | 79 + 斜率限幅 |
| 基线 | 100 平均(有车也跟踪) | 100 平均(有车冻结) | 100 平均(有车冻结) | 256 平均(有车冻结) | 500 平均 + 冻结超时 10s |
| 灵敏度表 | {216,108,36,10} | {300,60,32,21} | {300,60,32,21} | {162,81,54,28} | {216,108,36,20} |
| 离开表 | 同表 | {60,32,21,14} | {60,32,21,14} | {81,54,32,18} | {108,72,18,14} |
| 阈值换算 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 |
| 档位 Δf/f | 0.33%~0.015% | 0.92%~0.064% | 0.92%~0.064% | 0.247%~0.043% | 0.33%~0.031% |
| 进入确认 | 无 | 无 | 无 | 无(单次,去抖已注释) | 3 次 |
| 离开判定 | 简单阈值 | 简单阈值 | 简单阈值 | 简单阈值+脉冲延迟 | 平坦性三条件 (CN200910309382) |
| 时序 tick | 50ms | 50ms | 50ms | 5ms?×10=50ms | 检测 10ms + 时序 50ms(混合) |
| 看门狗 | WDT_CONTR | IWDG+WWDG | WDTCR | WDT 820ms | 无 |
| 测量节拍(CAPVD 更新) | 32.8 ms | 27.3 ms | 43.7 ms | 21.8 ms | 10 ms |
| 基线更新周期 | 3.28 s(100 窗) | 2.73 s | 4.37 s | 5.59 s(256 窗) | 5 s(500 窗) |
| IIR 时间常数 τ | 106 ms | 88 ms / 109 ms | 142 ms | 87 ms | 32 ms |
⚠ 时序数值基于 12MHz 晶振假设推导(测量节拍 = BASE/捕获时钟),待现场验证;DLD154V4B 为实测/代码确认(10ms tick τ=32ms)。V4B 归一化基数 131072 是参考型号 32768 的 4 倍 → 测量窗 2.18ms 快 15×、精度高 4 倍。
⚠ 灵敏度表数值不可跨型号直接比较:各型号归一化基数/测量方式不同(32768 基数 ×65536 比例)。统一换算成 Δf/f 后:M1H 最灵敏档 0.015%,PD132 0.064%,V4B 0.031%。
测频路线(周期累积法为统一范式)
纳入对比表的型号(M1H / PD132L / PD132T / PD136HA / DLD154V4B)全部采用周期累积法:
累加固定数量周期(周期域,LPCNT=BASE/Xn)→ 受周期抖动影响,LPCNT 自适应归一化
TLD-110(2006,门控计数法)是唯一例外,已移出对比表,见
models/TLD-110/analysis.md。
DLD 产品线(154V4B/960Loop/110S/154Pro)继承 M1H→V4B 的血统;PD132 系(L/T/136HA)独立同路,其中 PD136HA 是 PD132L 的 HC32 同源移植。
同源 / 同路 / 不同路(辨析)
参考代码之间有三种关系,别把"框架相似"当"血统继承":
| 关系 | 含义 | 例 |
|---|---|---|
| 同源 | 明确继承/移植关系,细节连续 | M1H → DLD154V4B(灵敏度表/映射/IIR 全继承);PD132L → PD132T(文件头明示"实现与 L 一样");PD132L → PD136HA(工程名 PD132L-HD、文件头明示"硬件用 PD132L_V1.02/替换 PD132LA_V1.06",LPCNT/IIR/基线/滞回全继承,但灵敏度表与基线窗口独立改动) |
| 同路不同源 | 独立开发撞出相似算法框架(周期累积+IIR+滑动平均+相对阈值是行业主流范式),但细节各取 | M1H vs PD132:灵敏度表 {216,...} vs {300,...}、基线有车也跟踪 vs 有车冻结、离开始终当前档 vs 可固定最高档 |
| 不同路 | 测频原理根本不同 | TLD-110 门控计数 vs 周期累积(已移出对比表) |
判断依据:文件头声明(PD132T 认 PD132L)、灵敏度表数值、基线/离开策略细节。看 PD132 代码时要当"平行实现"看,它的差异(量纲/基线/滞回)恰是各家独立取舍。
跨型号通用结论
- 灵敏度表不能照搬数值:必须按各自归一化基数/测量方式换算 Δf/f 后再比较
- 离开阈值语义三派:TLD-110 相邻档滞回 / M1H-PD132 同档滞回表 / PD132 可固定最高档
- Xn/计数窗口跨平台按捕获时钟缩放(PD132L→T 1.27×)
- 拨码编码随硬件重排:组合位 / 直接编码 / 反码(M1H SENS=3-(sw&0x03))各不相同
- M1H 是 DLD 产品线算法血统源头(灵敏度表/映射/IIR 全部继承),分析新 DLD 型号前先读 M1H
待补型号
- 其他新参考代码(CH592EVT / CH32V208 等 SDK 类不算车检器型号,不归档)