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 < Origin−dlt 进入、> Origin−dlt 离开(SET_ASB 语义同)、
SensTable {300,60,32,21} / SensTable1 {60,32,21,14} 相同
3.6 状态机/时序
- Timer1 5ms tick → 50ms 主节拍(TM1cnt≥10),脉冲 500ms、有限存在 HOLD_TIME=6000(300s)
- 有限存在超时 →
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 的差异要点
- 平台:STM8S003F3 → MA801AS(8051),TIM1 捕获 → PCA 捕获
- Xn 窗口 406/320=1.27、2050/1620=1.27:捕获时钟比例,频率范围设计一致
- 拨码:灵敏度 8 位组合(SA1/SA2)→ 6 位直接编码(P1.0-1);无 SW0
- LED:单 LED → 双 LED(+LED_PWR)
- 看门狗/复位:IWDG+WWDG 写序列 → WDTCR + ISPCR=0x20
- 无 UART、无 IN_DELAY/OUT_DELAY 宏(L 定义但逻辑注释)