From 90df2cfe62eec7b7f92d367f6cdcd12c66e4d979 Mon Sep 17 00:00:00 2001 From: wangfq Date: Thu, 27 Aug 2026 18:35:27 +0800 Subject: [PATCH] =?UTF-8?q?docs(vd-analysis):=20=E5=89=94=E9=99=A4=20TLD-1?= =?UTF-8?q?10=20=E5=AF=B9=E6=AF=94=20+=20=E6=96=B0=E5=A2=9E=20PD136HA=20?= =?UTF-8?q?=E5=88=86=E6=9E=90=20(SDK=20=E5=B1=82)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. cross-model-comparison.md: TLD-110 移出对比总表 (四型号: M1H/PD132L/PD132T/V4B); 测频路线小节改为'周期累积法统一范式', TLD-110 作为例外注记保留 2. models/PD136HA/analysis.md: HC32F005C6PA (华大 M0+) V3.14 — ⚠ 仅官方 SDK 驱动层 (driver/+common/), 无应用算法代码; 工程名遗留 PD132L, 推断为 PD132 系列 HC32 移植 (待应用层佐证); 捕获外设候选 ADT/PCA 3. README: TLD-110 标注'已移出对比表', PD136HA 标注'仅 SDK 层' --- README.md | 3 +- docs/cross-model-comparison.md | 67 ++++++++++++++++++---------------- models/PD136HA/analysis.md | 61 +++++++++++++++++++++++++++++++ 3 files changed, 99 insertions(+), 32 deletions(-) create mode 100644 models/PD136HA/analysis.md diff --git a/README.md b/README.md index 5d24075..7cba762 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,8 @@ | PD132L | STM8S003F3 (IAR) | V1.09 (2020-04) | [models/PD132L/analysis.md](models/PD132L/analysis.md) | `reference/PD132L_V1.09-STM8_20200422` | | PD132T | MA801AS / 8051 (Keil) | V3.01 (2021-06) | [models/PD132T/analysis.md](models/PD132T/analysis.md) | `reference/PD132T_V3.01-20210623` | | M1H | STC12C5202 (8051) | V1.00 (2008-12) | [models/M1H/analysis.md](models/M1H/analysis.md) | `reference/M1H code` | -| TLD-110 | P87LPC762 (8051, 汇编) | V2.33 (2006-07) | [models/TLD-110/analysis.md](models/TLD-110/analysis.md) | `reference/TLD-110(410) code` | +| TLD-110 | P87LPC762 (8051, 汇编) | V2.33 (2006-07) | [models/TLD-110/analysis.md](models/TLD-110/analysis.md) | `reference/TLD-110(410) code`(⚠ 已移出对比总表) | +| PD136HA | HC32F005 (M0+) | V3.14 (2021-11) | [models/PD136HA/analysis.md](models/PD136HA/analysis.md) | `reference/PD136HA_V3.14-20211116`(⚠ 仅 SDK 驱动层,无应用算法) | | DLD154V4B | AT32F421 (M4, FreeRTOS) | V2.8 (2026) | [models/DLD154V4B/analysis.md](models/DLD154V4B/analysis.md) | `vd_detector/DLD154V4B`(自研) | ## 目录结构 diff --git a/docs/cross-model-comparison.md b/docs/cross-model-comparison.md index 876fc3e..86df84a 100644 --- a/docs/cross-model-comparison.md +++ b/docs/cross-model-comparison.md @@ -9,45 +9,50 @@ | PD132L | STM8S003F3 | V1.09 | [models/PD132L/analysis.md](../models/PD132L/analysis.md) | | PD132T | MA801AS (8051) | V3.01 | [models/PD132T/analysis.md](../models/PD132T/analysis.md) | | M1H | STC12C5202 (8051) | V1.00 | [models/M1H/analysis.md](../models/M1H/analysis.md) | -| TLD-110 | P87LPC762 (8051) | V2.33 | [models/TLD-110/analysis.md](../models/TLD-110/analysis.md) | | DLD154V4B | AT32F421 (M4) | V2.8 | [models/DLD154V4B/analysis.md](../models/DLD154V4B/analysis.md) | +| PD136HA | HC32F005 (M0+) | V3.14 | [models/PD136HA/analysis.md](../models/PD136HA/analysis.md)(⚠ 仅 SDK 驱动层,无应用算法) | -## 五型号核心参数对比(2026-08-27) +> TLD-110 分析见 `models/TLD-110/analysis.md`(2006 门控计数法参考,2026-08-27 起**不再纳入对比总表**)。 -| 维度 | TLD-110 | M1H | PD132L | PD132T | DLD154V4B | -|------|---------|-----|--------|--------|-----------| -| 年代 | 2003-2006 | 2008 | 2020 | 2021 | 2026 | -| MCU | P87LPC762 | STC12C5202 | STM8S003F3 | MA801AS | AT32F421 (M4) | -| 语言/系统 | 汇编 | C | C | C | C + FreeRTOS | -| 通道 | 1(代码含双) | 1 | 1 | 1 | 1 | -| 测频方式 | **门控脉冲计数** | PCA 周期捕获 | TIM1 周期捕获 | PCA 周期捕获 | TIM3 周期捕获 | -| 归一化基数 | QT(空载计数) | 32768 | 32768 | 32768 | **131072 (2^17)** | -| 测量窗 | 门控 32.8ms | 32.8ms | 27.3ms | 43.7ms | **2.18ms** | -| IIR 系数 | —(无) | 79(固定) | 79/64 | 79/64 | 79 + 斜率限幅 | -| 基线 | 静态原理(QT 学习) | 100 平均(有车也跟踪) | 100 平均(有车冻结) | 100 平均(有车冻结) | **500 平均 + 冻结超时 10s** | -| 灵敏度表 | {70,55,40,20} | {216,108,36,10} | {300,60,32,21} | {300,60,32,21} | {216,108,36,20} | -| 阈值换算 | QT×表/40960 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 | -| 档位 Δf/f | 0.171%~0.049% | 0.33%~0.015% | 0.92%~0.064% | 0.92%~0.064% | 0.33%~0.031% | -| 进入确认 | 无 | 无 | 无 | 无 | **3 次** | -| 离开判定 | 相邻档滞回 | 简单阈值 | 简单阈值 | 简单阈值 | **平坦性三条件** (CN200910309382) | -| 时序 tick | 门控窗 | 50ms | 50ms | 50ms | **检测 10ms + 时序 50ms(混合)** | -| 看门狗 | WDCON | WDT_CONTR | IWDG+WWDG | WDTCR | **无** | -| **测量节拍**(CAPVD 更新) | 门控 32.8ms | **32.8 ms** | **27.3 ms** | **43.7 ms** | **10 ms** | -| **基线更新周期** | QT 一次性学习 | **3.28 s**(100 窗) | **2.73 s** | **4.37 s** | **5 s**(500 窗) | -| IIR 时间常数 τ | —(无 IIR) | 106 ms | 88 ms / 109 ms | 142 ms | **32 ms** | +## 四型号核心参数对比(2026-08-27) + +| 维度 | M1H | PD132L | PD132T | DLD154V4B | +|------|-----|--------|--------|-----------| +| 年代 | 2008 | 2020 | 2021 | 2026 | +| MCU | STC12C5202 | STM8S003F3 | MA801AS | AT32F421 (M4) | +| 语言/系统 | C | C | C | C + FreeRTOS | +| 通道 | 1 | 1 | 1 | 1 | +| 测频方式 | PCA 周期捕获 | TIM1 周期捕获 | PCA 周期捕获 | TIM3 周期捕获 | +| 归一化基数 | 32768 | 32768 | 32768 | **131072 (2^17)** | +| 测量窗 | 32.8ms | 27.3ms | 43.7ms | **2.18ms** | +| IIR 系数 | 79(固定) | 79/64 | 79/64 | 79 + 斜率限幅 | +| 基线 | 100 平均(有车也跟踪) | 100 平均(有车冻结) | 100 平均(有车冻结) | **500 平均 + 冻结超时 10s** | +| 灵敏度表 | {216,108,36,10} | {300,60,32,21} | {300,60,32,21} | {216,108,36,20} | +| 阈值换算 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 | Origin×表/65536 | +| 档位 Δf/f | 0.33%~0.015% | 0.92%~0.064% | 0.92%~0.064% | 0.33%~0.031% | +| 进入确认 | 无 | 无 | 无 | **3 次** | +| 离开判定 | 简单阈值 | 简单阈值 | 简单阈值 | **平坦性三条件** (CN200910309382) | +| 时序 tick | 50ms | 50ms | 50ms | **检测 10ms + 时序 50ms(混合)** | +| 看门狗 | WDT_CONTR | IWDG+WWDG | WDTCR | **无** | +| **测量节拍**(CAPVD 更新) | **32.8 ms** | **27.3 ms** | **43.7 ms** | **10 ms** | +| **基线更新周期** | **3.28 s**(100 窗) | **2.73 s** | **4.37 s** | **5 s**(500 窗) | +| IIR 时间常数 τ | 106 ms | 88 ms / 109 ms | 142 ms | **32 ms** | > ⚠ 时序数值基于 12MHz 晶振假设推导(测量节拍 = BASE/捕获时钟),**待现场验证**;DLD154V4B 为实测/代码确认(10ms tick τ=32ms)。V4B 归一化基数 131072 是参考型号 32768 的 4 倍 → 测量窗 2.18ms 快 15×、精度高 4 倍。 -> ⚠ 灵敏度表**数值不可跨型号直接比较**:TLD-110 是门控计数域(QT 相对),其余是周期计数域(32768 基数,×65536 比例)。统一换算成 Δf/f 后:**TLD-110 最灵敏档 0.049%,M1H 0.015%,PD132 0.064%**。 +> ⚠ 灵敏度表**数值不可跨型号直接比较**:各型号归一化基数/测量方式不同(32768 基数 ×65536 比例)。统一换算成 Δf/f 后:M1H 最灵敏档 0.015%,PD132 0.064%,V4B 0.031%。 -## 测频路线两派(重要) +## 测频路线(周期累积法为统一范式) -| 路线 | 代表 | 原理 | 噪声特性 | -|------|------|------|---------| -| **门控计数法** | TLD-110 | 固定时间窗数脉冲(频率域) | 受脉冲抖动影响,QT 学习自标定 | -| **周期累积法** | M1H / PD132L / PD132T / DLD 系 | 累加固定数量周期(周期域,LPCNT=BASE/Xn) | 受周期抖动影响,LPCNT 自适应归一化 | +纳入对比表的型号(M1H / PD132L / PD132T / DLD154V4B)**全部采用周期累积法**: -DLD 产品线(154V4B/960Loop/110S/154Pro)全部继承周期累积法,即 M1H→V4B 的血统;PD132 独立同路;TLD-110 是唯一门控计数派。 +``` +累加固定数量周期(周期域,LPCNT=BASE/Xn)→ 受周期抖动影响,LPCNT 自适应归一化 +``` + +> TLD-110(2006,门控计数法)是唯一例外,已移出对比表,见 `models/TLD-110/analysis.md`。 + +DLD 产品线(154V4B/960Loop/110S/154Pro)继承 M1H→V4B 的血统;PD132 独立同路。 ### 同源 / 同路 / 不同路(辨析) @@ -57,7 +62,7 @@ DLD 产品线(154V4B/960Loop/110S/154Pro)全部继承周期累积法,即 M |------|------|-----| | **同源** | 明确继承/移植关系,细节连续 | M1H → DLD154V4B(灵敏度表/映射/IIR 全继承);PD132L → PD132T(文件头明示"实现与 L 一样") | | **同路不同源** | 独立开发撞出相似算法框架(周期累积+IIR+滑动平均+相对阈值是行业主流范式),但细节各取 | M1H vs PD132:灵敏度表 {216,...} vs {300,...}、基线有车也跟踪 vs 有车冻结、离开始终当前档 vs 可固定最高档 | -| **不同路** | 测频原理根本不同 | TLD-110 门控计数 vs 其余周期累积 | +| **不同路** | 测频原理根本不同 | TLD-110 门控计数 vs 周期累积(已移出对比表) | **判断依据**:文件头声明(PD132T 认 PD132L)、灵敏度表数值、基线/离开策略细节。看 PD132 代码时要当"平行实现"看,它的差异(量纲/基线/滞回)恰是各家独立取舍。 diff --git a/models/PD136HA/analysis.md b/models/PD136HA/analysis.md new file mode 100644 index 0000000..0fd4076 --- /dev/null +++ b/models/PD136HA/analysis.md @@ -0,0 +1,61 @@ +# PD136HA 车检器分析 + +> 型号: PD136HA | 固件: V3.14 | 日期: 2021-11-16 | 平台: **HC32F005C6PA**(华大半导体, Cortex-M0+) +> 原始代码: `vd_detector/reference/PD136HA_V3.14-20211116/` +> ⚠ **完整性警示:该工程只有华大官方 SDK 驱动层(driver/ + common/),没有应用层代码(main.c / 检测算法)**——无法做算法级对比,本文档仅分析平台与外设资源。 + +## 1. 平台与工程 + +| 项 | 值 | +|----|-----| +| MCU | HC32F005C6PA(华大半导体,Cortex-M0+,32KB Flash) | +| 外部晶振 | 32 MHz(board 头 `SYSTEM_XTH = 32*1000*1000u`) | +| 工具链 | Keil MDK(.axf/.sct/hex 产物,JLink 调试) | +| 工程名 | **PD132L**(遗留命名——PD136HA 疑似 PD132 系列的 HC32 移植版) | +| 代码规模 | 驱动层 ~30 文件(driver/src 21 个 .c) | +| 固件产物 | PD132L.hex 32KB(仅驱动库编译结果,无应用逻辑) | + +## 2. 外设资源(从驱动层推断硬件能力) + +| 驱动 | 外设 | 车检器相关用途 | +|------|------|----------------| +| adt.c | ADT 高级定时器 | **线圈频率捕获候选**(输入捕获/比较) | +| pca.c | PCA 可编程计数器阵列 | **线圈频率捕获候选**(HC32F005 的 PCA 可做周期测量) | +| uart.c | UART | 调试/通信 | +| adc.c | ADC | 环境/电压监测 | +| wdt.c | WDT | 看门狗(区别于 V4B 的无狗) | +| spi.c / i2c.c | SPI / I2C | EEPROM/扩展(board 头有 EVB I2C EEPROM) | +| flash.c | Flash | 参数存储 | +| crc.c | CRC | 校验 | +| gpio.c / sysctrl.c / reset.c / lvd.c / lpm.c / trim.c / ram.c / bgr.c / bt.c / vc.c | 基础外设 | — | + +**board_stkhc32f005.h 是华大 STK 开发板定义**(按键/ LED/ SPI/ I2C EEPROM),**不是车检器板**——说明工程是从华大 SDK 例程模板改的,应用板引脚定义不在本工程内。 + +## 3. 与 PD132 系列的关系(推断,待应用代码确认) + +| 证据 | 推断 | +|------|------| +| 工程名/产物名都是 PD132L | PD136HA 很可能是 PD132L(STM8)向 HC32F005(M0+)的移植 | +| 时间线 | PD132L V1.09 (2020-04) → PD136HA V3.14 (2021-11),间隔 1.5 年,符合换代节奏 | +| 版本号 | V3.14 高于 PD132T V3.01——PD136 是更晚的系列 | +| MCU 升级 | STM8S003 (8 位) → HC32F005 (M0+ 32 位),是 PD132 系列的升级换代 | + +⚠ 但**无法确认算法继承关系**:无应用层代码,无法对比灵敏度表/滤波/基线。若按 PD132 系惯例(PD132T 移植 PD132L),PD136HA 大概率沿用周期累积法 + {300,60,32,21} 系灵敏度表——**待应用代码佐证**。 + +## 4. 缺口与建议 + +- [ ] **补齐应用层代码**(main.c + 检测算法文件)才能完成算法分析 +- [ ] 拿到应用层后:确认测频外设(ADT 还是 PCA)、归一化基数、灵敏度表、时序 +- [ ] 对比表暂不纳入 PD136HA(无算法参数可比),README 索引标注"仅 SDK 层" + +## 5. 参数速查(仅平台级) + +| 参数 | 值 | +|------|-----| +| MCU | HC32F005C6PA (Cortex-M0+) | +| 晶振 | 32MHz 外部 | +| 捕获外设候选 | ADT / PCA | +| 看门狗 | 有 WDT 驱动 | +| 通信 | UART / SPI / I2C | +| 存储 | Flash 驱动(参数区) | +| 应用算法 | **缺失** |