# 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}` 相同 - ⚠ **离开阈值受 SET_ASB(SENUP)拨码控制**: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=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 的差异要点 1. 平台:STM8S003F3 → MA801AS(8051),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 定义但逻辑注释)