Files
vd-analysis/models/PD132T/analysis.md
T

105 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PD132T 车检器分析
> 型号: PD132T | 固件: V3.01 | 日期: 2021-06-23 | 平台: **MA801AS**8051 内核, Keil C51
> 原始代码: `vd_detector/reference/PD132T_V3.01-20210623/`USER/main.c 458 行)
> 说明: 文件头明确"**实现与 PD132L_V1.09 一样的功能**"——PD132L 的 8051 移植版,核心算法逐行对应。
## 1. 平台与工程
| 项 | 值 |
|----|-----|
| MCU | MA801AS(泉州,8051 内核) |
| 工具链 | Keil C51`.uvproj`,含 `STARTUP.A51` |
| 时钟 | `AUXR=0xC0`(内部时钟相关);Timer0 8bit 自动重装 252 给 PCA 提供时钟(÷4) |
| 看门狗 | **WDTCR**0x3C → ~1.05s);复位用 `ISPCR=0x20`ISP 软复位) |
| 调试 | 无 UART |
## 2. 硬件资源
| 引脚 | 功能 |
|------|------|
| PCA CEX1 | 线圈捕获(CCAPM1 下降沿 + 中断) |
| P1.6 | SOLA 继电器 A(脉冲/存在输出) |
| P1.7 | SOLB 继电器 B(存在输出) |
| P3.3 | LED_DET 检测指示灯 |
| P3.2 | LED_PWR 电源指示灯(**PD132L 没有** |
| P1.0 / P1.1 | SENS0 / SENS1 灵敏度拨码(**直接编码 0~3**) |
| P1.2 | SENUP 自动/手动离开阈值(≈L 的 SET_ASB |
| P1.3 | FLT 增强滤波 |
| P1.4 | PLUS 脉冲模式 |
| P1.5 | HOLD 有限存在 |
## 3. 检测算法(与 PD132L 对应)
### 3.1 频率测量
- PCA 捕获(CCAPM1=0x31 下降沿捕获 + 中断);Timer0 8bit 自动重装 252 作 PCA 时钟源(CMOD=0x04
- 每周期得 `Xn`;有效性窗口 **406 < Xn < 2050**(≈ PD132L 的 1.27 倍,捕获时钟不同)
- 归一化:`LPCNT = 32768 / Xn`,累加得 CAPVD ≈ 32768
### 3.2 滤波
- IIR`Flt_Reg = ALFA_CAP1(79)`FLT 开)/ `ALFA_CAP2(64)`(关),`Δ×Flt_Reg>>8` 双向
### 3.3 基线 / 3.4 进入离开 / 3.5 灵敏度表
- 与 PD132L **完全一致**100 次平均基线、`CAPVD < Origindlt` 进入、`> Origindlt` 离开(SET_ASB 语义同)、
`SensTable {300,60,32,21} / SensTable1 {60,32,21,14}` 相同
-**离开阈值受 SET_ASBSENUP)拨码控制**ON → 分档 `SensTable1[SensLevel] {60,32,21,14}`OFF(出厂默认)→ 强制 `SensTable1[3]` = **恒 14**0.021% Δf/f)——DLD154V4B 替换对齐基准(V2.11
### 3.6 状态机/时序
- Timer1 5ms tick → 50ms 主节拍(TM1cnt≥10),脉冲 500ms、有限存在 HOLD_TIME=6000300s
- 有限存在超时 → `ISPCR=0x20` 软复位(对应 L 的 WWDG 复位)
- 线圈断开 → 继电器全断 + LED 快闪 6 次
## 4. 拨码与配置
| 位 | 开关 | 含义 |
|----|------|------|
| swok bit2 (P1.2) | SENUP | 自动/手动离开阈值 |
| swok bit3 (P1.3) | FLT | 增强滤波 |
| swok bit4 (P1.4) | PLUS | 脉冲模式 |
| swok bit5 (P1.5) | HOLD | 有限存在 |
| swok bit0-1 (P1.0-1) | SENS0/1 | 灵敏度 **0~3 直接编码** |
去抖:连续 6 次一致生效;灵敏度变化 → `ISPCR=0x20` 复位
## 5. 参数速查表
| 参数 | 值 | 对比 PD132L |
|------|-----|------------|
| 归一化基数 | 32768 | 相同 |
| Xn 有效窗口 | 406 ~ 2050 | ≈1.27× |
| IIR 系数 | 79 / 64 | 相同 |
| 基线窗口 | 100 | 相同 |
| 灵敏度表 | {300,60,32,21}/{60,32,21,14} | 相同 |
| tick | 5ms → 50ms | 相同 |
| 脉冲宽 | 500ms | 相同 |
| 有限存在 | 300s | 相同 |
| 看门狗 | WDTCR 1.05s | L=IWDG 1.02s+WWDG |
| 上电延时 | 750ms | L=800ms |
## 5.1 时序/速率/周期速查(2026-08-27 补)
> 推导假设系统时钟 12MHz(MA801 内部,**待现场验证**);公式:测量节拍 = BASE/捕获时钟。
| 量 | 公式/值 | 数值 | 对比 PD132L |
|----|---------|------|------------|
| 捕获时钟 | Timer0(252) 溢出/4 = 12M/4/4 | **0.75 MHz** | L=1.2MHz |
| **测量节拍**CAPVD 更新) | 32768 / 0.75MHz | **43.7 ms** | L=27.3ms(慢 1.6×) |
| **基线更新周期** | 100 窗 × 43.7ms | **4.37 s** | L=2.73s |
| IIR 时间常数 τ | 43.7ms × 256/79 | **142 ms** | L=88ms |
| 进入响应 | 1 个测量节拍 | ~44 ms | L=27ms |
| 离开响应 | 1 节拍 + 脉冲 | ~44 ms + 500ms | 同结构 |
| 上电稳定 | delay_5ms(750) + LPCNT 学习 | ~1 s | 同 |
## 6. 与 PD132L 的差异要点
1. 平台:STM8S003F3 → MA801AS8051),TIM1 捕获 → PCA 捕获
2. **Xn 窗口 406/320=1.27、2050/1620=1.27**:捕获时钟比例,频率范围设计一致
3. 拨码:灵敏度 8 位组合(SA1/SA2)→ 6 位直接编码(P1.0-1);无 SW0
4. LED:单 LED → 双 LED+LED_PWR
5. 看门狗/复位:IWDG+WWDG 写序列 → WDTCR + ISPCR=0x20
6. 无 UART、无 IN_DELAY/OUT_DELAY 宏(L 定义但逻辑注释)