Files
vd-analysis/models/PD132T/analysis.md
T
wangfq 01d574c4a9 docs: MCU 归属更正(PD132T=Megawin MA801 / PD136HA=HC32F003C4)+ 双沿捕获⇒Xn 半周期口径
- 用户口径 + 源码取证:PD132T 用 USER/REG_MA801.H(首行 for Megawin MA801;sbit CEX1=P3^5 ✓ 与图纸 LP→pin9 吻合),
  此前「STC12C2052」系按寄存器地址相似的误判 ⇒ 已更正;3MHz/10.92ms 结论不变
  · CMOD=0x04 作者原注「时钟源为定时器0溢出」+ Megawin 手册 CPS 表(CPS[2:0]=010⇒T0 溢出)两法互证(对 2/3 比特布局分歧免疫)
  · AUXR=0xC0 无 MA801 专册直证,由 T1 0x15A0=60000 计数=5ms 反证定时器输入 12MHz ⇒ 1T 生效
- PD136HA 实际芯片 = HC32F003C4(用户确认,小华 HDSC);工程档位 F005C6PA/startup C6UA 不一致 ⇒ 重编译前须改;
  实测 Code=11148 RO=268 RW=88 ZI=608 ⇒ ROM≈11.1KB / RAM≈696B;Keil <Cpu> CLOCK(12000000) 独立佐证 12MHz
- PD132T CCAPM1=0x31 实为双沿捕获(旧稿「下降沿」有误)⇒ ISR 的 Xn 是半周期 ⇒ 线圈绝对频段重算
  (PD132T ≈23.4~118kHz / PD136HA·PD132L ≈11.8~60kHz);Δf/f 为比值口径 ⇒ 灵敏度结论不受影响
- 同步 6 文件(报告 §2.3 更正块 + §11⑩、前端专项、PD132T/PD136HA 分析稿、跨型号表、README);表格校验 0 异常
2026-09-11 08:42:41 +08:00

6.8 KiB
Raw Blame History

PD132T 车检器分析

型号: PD132T | 固件: V3.01 | 日期: 2021-06-23 | 平台: Megawin MA801(笙泉科技,8051 内核, Keil C51;板上标记 MA801ASSFR 头 USER/REG_MA801.H 原始代码: vd_detector/reference/PD132T_V3.01-20210623/USER/main.c 458 行) 原理图: models/PD132T/PD132T.A_Ver2.01-20210609_Logic.pdf(本仓附件,2026-09-01 归档) 硬件前端对比: docs/hardware-loop-frontend-pd132t-vs-v4b.mdCD4060 分频 vs V4B 直连) 说明: 文件头明确"实现与 PD132L_V1.09 一样的功能"——PD132L 的 8051 移植版,核心算法逐行对应。

1. 平台与工程

MCU Megawin MA801(笙泉科技,8051 内核;板上标记 MA801AS。SFR 头 USER/REG_MA801.H 首行即 /* for Megawin MA801 */;此前文档误记「STC12C2052」,系按寄存器地址相似所致,2026-09-11 用户口径更正)
工具链 Keil C51.uvproj,含 STARTUP.A51
时钟 AUXR=0xC0(内部时钟相关);Timer0 8bit 自动重装 252 给 PCA 提供时钟(÷4)
看门狗 WDTCR0x3C → ~1.05s);复位用 ISPCR=0x20ISP 软复位)
调试 无 UART

2. 硬件资源

引脚 功能
PCA CEX1 线圈捕获(CCAPM1=0x31 = CAPP|CAPN 双沿捕获 + ECCF 中断;sbit CEX1 = P3^5 ✓ 与图纸 LP→MCU pin9 吻合)
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 = CAPP+CAPN 双沿捕获 + 中断。⚠ 旧稿写"下降沿"有误);Timer0 8bit 自动重装 252 作 PCA 时钟源(CMOD=0x04; //时钟源为定时器0溢出 作者原注)
  • 每周期得 Xn;有效性窗口 406 < Xn < 2050(≈ PD132L 的 1.27 倍,捕获时钟不同)
  • 归一化:LPCNT = 32768 / Xn,累加得 CAPVD ≈ 32768

3.2 滤波

  • IIRFlt_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} 相同
  • 拨码低有效(电路反相,标贴与电平相反):标贴 ON → 电平 0;标贴 OFF → 电平 1(2026-08-28 用户确认)。
  • 离开阈值受 SET_ASB(SENUP)控制,看标贴位置:标贴 ON(电平0, SET_ASB=0)→ 强制 SensTable1[3] = 恒 140.021% Δf/f);标贴 OFF(电平1, SET_ASB=1)→ 分档 SensTable1[SensLevel] {60,32,21,14}出厂默认标贴全 OFF = 分档——DLD154V4B 替换对齐基准取决于现场 SENUP 标贴位置(V2.11

3.6 状态机/时序

  • Timer1 5ms tick → 50ms 主节拍(TM1cnt≥10),脉冲 500ms、有限存在 HOLD_TIME=6000300s
  • 有限存在超时 → ISPCR=0x20 软复位(对应 L 的 WWDG 复位)
  • 线圈断开 → 继电器全断 + LED 快闪 6 次

4. 拨码与配置

开关 标贴 ON(电平0 标贴 OFF(电平1
swok bit0-1 (P1.0-1) SENS0/1 灵敏度档位 = 电平值(直接编码 0~3;标贴全 ON=0 低灵敏,全 OFF=3 高灵敏) 同左
swok bit2 (P1.2) SENUP 离开恒 14else 离开分档 {60,32,21,14}if
swok bit3 (P1.3) FLT Flt_Reg=64(慢/平滑=增强滤波开) Flt_Reg=79(快)
swok bit4 (P1.4) PLUS 离开脉冲(else 进入脉冲(if
swok bit5 (P1.5) HOLD 无 HOLDelse HOLD 300sif

⚠ 拨码低有效(标贴 ON = 电平 0 = 位 0)。代码 if(SET_X) 为真(位=1)对应标贴 OFF;标贴 ON 走 else 分支。2026-08-28 用户确认,与电路一致。

去抖:连续 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(已确认,2026-09-11;公式:测量节拍 = BASE/捕获时钟。

2026-09-11 勘误(捕获时钟 0.75MHz → 3MHz:旧稿按「T0 走 SYSCLK/4」推算 0.75MHz 无寄存器依据。实配 TH0=TL0=2524 分频溢出)+ AUXR=0xC0T0x12=1 ⇒ T0 走 SYSCLK/1+ CMOD=0x04(PCA 时钟取 T0 溢出),作者注释即 //溢出供PCA时钟,时钟/4;并由 T1 TH1/TL1=0x15A0(60000 计数)⇒ ISR 注释「定时5ms」反证 SYSCLK=12MHz ✓ ⇒ PCA 捕获时钟 = SYSCLK/4 = 3MHz,测量节拍 10.92ms(若晶振为 11.0592MHz 则 11.85ms)。 连带影响:IIR τ、基线更新周期、进入/离开响应三行同步勘误;线圈频率窗结论不受影响(N×f_cap 乘积不变:旧 ÷128×0.75MHz = 新 ÷32×3MHz = 96MHz)。 详见 docs/pd136ha-to-dld154v4b-delivery-alignment.md §2.3。

公式/值 数值 对比 PD132L
捕获时钟 Timer0(252) 溢出/4T0 走 SYSCLK/1AUXR=0xC0 → T0x12=1)⇒ 12M/4 3 MHz(勘误) L=1.2MHz
测量节拍CAPVD 更新) 32768 / 3MHz 10.92 ms(勘误) L=27.3ms快 2.5×
基线更新周期 100 窗 × 10.92ms 1.09 s(勘误) L=2.73s(慢 2.5×)
IIR 时间常数 τ 10.92ms × 256/79 35.4 ms(精确 29.6ms L=88ms
进入响应 1 个测量节拍 ~11 ms(勘误) L=27ms
离开响应 1 节拍 + 脉冲 ~11 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 定义但逻辑注释)