docs(vd-analysis): 剔除 TLD-110 对比 + 新增 PD136HA 分析 (SDK 层)
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 层'
This commit is contained in:
@@ -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`(自研) |
|
||||
|
||||
## 目录结构
|
||||
|
||||
@@ -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 代码时要当"平行实现"看,它的差异(量纲/基线/滞回)恰是各家独立取舍。
|
||||
|
||||
|
||||
@@ -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 驱动(参数区) |
|
||||
| 应用算法 | **缺失** |
|
||||
Reference in New Issue
Block a user