Files
vd-analysis/docs/pd132t-vs-pd136ha-comparison.md
T
wangfq 9c88b1d7b0 fig(compare): PD132T↔PD136HA 响应对比图(时域 + 延迟扫描)
- docs/img/response-compare-pd132t-pd136ha.{svg,png},生成脚本 tools/plot_response_compare.py
- 面板A:CAPVD 阶梯响应(+0.5% 与 +0.15%);面板B:检测延迟 vs Δf/f(对数扫描,含 τ 主导陡升段与阈值以下灰区)
- 数值:+0.5% ⇒ 10.9 vs 21.8 ms(窗长主导,2.0×);+0.15% ⇒ 32.6 vs 152.3 ms(τ 主导,4.7×);+0.10% ⇒ PD132T 76.2 ms / PD136HA 档1 检不到
- 落文档:pd132t-vs-pd136ha-comparison.md §5.5 新增;measurement-window-quantization.md §10 新增;README tools 补脚本
- 表格校验 0 异常(16 文件)
2026-09-11 11:15:09 +08:00

30 KiB
Raw Blame History

PD132T ↔ PD136HA 双型号对比分析(同血统两代:8051 → Cortex-M0+

2026-09-11 · 对比对象:PD132T V3.012021-06-23PD136HA V3.142021-11-16 定位:同血统对比(不是替换评估)。两者都源自 PD132L 系 —— PD132T = PD132L 的 8051 移植,PD136HA = PD132L 的 M0+ 重写移植。 依据models/PD132T/analysis.mdmodels/PD136HA/analysis.mddocs/hardware-loop-frontend-pd132t-vs-v4b.md、两份交付对齐报告,以及 2026-09-11 新增取证(MA801 官方手册 A10、PD132T 逻辑图纸像素取证、HC32F003C4 用户口径)。 口径纪律(见 §5):只比 表值/65536(Δf/f),绝不比表值本身;档位是正索引0 = 最低灵敏/大阈值)。


0. 结论摘要

# 维度 结论 判定
1 血统 同源 —— PD132T「实现与 PD132L_V1.09 一样的功能」;PD136HA 工程名 PD132L-HD、文件头「硬件使用 PD132L_V1.02,替换软件 PD132LA_V1.06」
2 硬件前端 完全同构:线圈 → 9015 PNP×2 振荡 → CD4060 施密特整形 + ÷32Q5 → MCU
3 线圈频段 两者覆盖同一频段 ≈23.4~118kHz —— PD132T 走「3MHz 双沿捕获(Xn = 半周期)」、PD136HA 走「1.5MHz 单沿Xn = 整周期)」,两项差异恰好互相抵消:判据常数 C = 32·f_cap/边沿系数 同为 4.8×10⁷ ⇒ 这就是两者 Xn 窗口常量几乎逐字相同(4062050 vs 4002030)的真正原因 关键
4 归一化基数 同为 32768(换 MCU 未重定标)⇒ 相对阈值 表值/65536直接跨型号对比
5 测量节拍(端到端时序图见 measurement-window-quantization.md §9 10.88ms → 21.76ms(100kHz 站点实测口径;标称上限 10.923/21.845ms)⇒ 每窗有效平均 1088 → 2176 个线圈周期(积分深度 ×2)|⚠ 节拍是区间:按站点线圈频率浮动 0 ~ −6.2%,深占压(Δf/f +5%)窗长 4.8%(见 measurement-window-quantization.md ⚖️ 权衡
6 滤波 / 基线 IIR τ:29.638ms → 7687ms(慢 2~2.9×);基线窗 100 → 2561.09s → 5.59s ⚠ PD136HA 更稳更慢
7 判据强度 两者均为单次越线判定(无进入/离开确认计数)—— 响应快、抗单点扰动弱 ⚖️ 相同
8 灵敏度表 重标定:进入 {300,60,32,21} → {162,81,54,28}。档位一一照搬会产生 −46%~+69% 偏差 ⇒ 跨代必须按 Δf/f 重新对齐 不可照搬档位
9 输出 / 时序 同为双继电器(存在 + 脉冲)、脉冲 500ms、HOLD 300sPD136HA 新增延时档 0/0.6/1.6/3sLC_HOLD 240s 重学基线 功能增强
10 异常处理 PD132T:线圈断 → 继电器全断 + LED 快闪 6 次(不复位);PD136HA:无捕获 → 整机复位 + LED 闪、HOLD 超时 → 复位 🔁 策略不同
11 资源 8KB Flash / 256B RAMMA801)→ 实测 ROM 11.1KB / RAM 696BHC32F003C4 = 16KB/2KB)⇒ 代码量 +40% 反超 8KB,资源 ×2 代际升级
12 设计取向 PD132T = 响应优先(快窗 / 快滤波 / 浅基线 / 故障不断流);PD136HA = 抗扰优先(慢窗 / 慢滤波 / 深基线 / 重试复位) 主线

1. 血统与平台

PD132T PD136HA
固件版本 V3.012021-06-23 V3.142021-11-16;版本史 V3.11→V3.12→V3.13→V3.14
血统自述 文件头「实现与 PD132L_V1.09 一样的功能 文件头「硬件使用 PD132L_V1.02,替换软件 PD132LA_V1.06」;工程名 PD132L-HDAuthor = YSHE
MCU Megawin MA801(笙泉科技,1-T 80C518KB Flash / 256B RAMmax 25MHz;板上标记 MA801AS HC32F003C4(小华半导体 HDSCCortex-M0+16KB Flash / 2KB RAM;⚠ 工程档位仍标 HC32F005C6PA
工具链 Keil C51.uvproj + STARTUP.A51 Keil MDK.uvprojx + JLink
应用层规模 main.c 458 行 main.c 832 行 + 华大 SDK 驱动层
固件占用 8KB 内(未记录精确值) Code=11148 RO=268 RW=88 ZI=608ROM≈11.1KB / RAM≈696B
系统时钟 外部 12MHzAUXR=0xC0 ⇒ T0/T1 都按 1 个时钟周期计数(官方手册直证) 外部 12MHz(用户确认);CLK_INIT() 直取 XTH无 PLL / 无 HCLK_PRS·PCLK_PRS 分频
看门狗 WDTCR(≈1.05s WDT 820ms,主循环 300ms 喂狗
软复位手段 ISPCR=0x20ISP 软复位) Reset_RstPeripheralAll()(整机复位)
调试口 无 UART 无 UART(未见调试串口)

同源的五条硬证据LPCNT = 32768 / Xn 逐字一致 · IIR 79/64 双系数 · 有车冻结基线 · 相对阈值 ×表 >> 16 · HOLD 常量 6000300s)。 代际的四条硬改动:捕获外设 PCA → ADTIM4 · 基线窗 100 → 256 · 灵敏度表全新标定 · 新增延时档与 LC_HOLD。

1.1 器件事实(2026-09-11 取证,均有出处)

器件 事实 证据
MA801 1-T 80C51 / 8KB Flash / 256B RAM / max 25MHz 官方手册 models/PD132T/MA801_MA802_Datasheet_A10.pdf(用户提供);USER/REG_MA801.H 首行 /* for Megawin MA801 */
MA801 AUXR(0x8EH) b7=T0X12、b6=T1X121 ⇒ SYSCLK);CMOD(0xD9H) CPS1:CPS0 = b2:b110 ⇒ 定时器0溢出 同上,手册 §14 / PCA 章节
HC32F003C4 实际装机器件(此前文档按 SDK 头记 HC32F005 用户口径 2026-09-11;工程 <Device> 仍为 F005C6PA ⇒ 重编译前须改档位
HC32F003C4 12MHz 晶振、PCLK0 = XTH、捕获 = PCLK0/8 = 1.5MHz CLK_INIT() + AdtClkPClk0Div8Keil <Cpu> … CLOCK(12000000) … 独立佐证
二者 前端都是 CD4060 ÷32Q5 PD132T 图纸逐脚像素扫描(476px 唯一引出)+ 用户口径「PD136 与 PD132 接 CD4060 的电路一样」

2. 硬件前端与信号链( 同构,且同一线圈频段

2.1 信号链对照

PD132T :线圈(LP1) → 9015 PNP×2 振荡 → CD4060(U1) 施密特整形 + ÷32(Q5) → LP → P3.5 = CEX1/PCA 捕获
PD136HA:线圈       → 9015 PNP×2 振荡 → CD4060      施密特整形 + ÷32(Q5) → LP → P23(AF3) = ADTIM4_CHA

同构结论:两代前端的振荡级、整形级、分频比全部相同(用户口径「PD136 跟 PD132 接 CD4060 的电路是一样的」+ PD132T 图纸像素取证 ÷32/Q5)⇒ 唯一的硬件差异是 MCU。这是「纯软件换代、前端不动」的教科书案例。

2.2 ÷32 的取证链(两型号共用)

证据 内容
图纸像素扫描 PD132T 逻辑图纸 800dpi 逐行游程扫描:CD4060 的 10 个 Q 输出中只有 Q5(pin5) 有线(476px,其余均 99px 空脚桩)→ 网络 LP
交叉核对 REG_MA801.Hsbit CEX1 = P3^5 ✓ 与图纸页1 MCU U2 pin9 = CEX1/T1/P3.5 完全吻合
固件互证 CMOD = 0x04; //时钟源为定时器0溢出(作者原注)= MA801 手册 CPS 编码 10 ⇒ T0 溢出 ✓
用户口径 PD136HA 与 PD132 的 CD4060 电路相同 ⇒ PD136HA 也是 ÷32

2.3 Xn 窗口常量为什么几乎逐字相同?(同一线圈频段)

两型号的 Xn 窗口常量分别是 406~2050PD132T)与 400~2030PD136HA)—— 差异 <2%。但两者的捕获时钟差 2×3MHz vs 1.5MHz)。原因在于触发沿约定也差 2×,两者恰好抵消:

型号 捕获沿 Xn 物理含义 判据关系式 判据常数 C
PD132T CCAPM1=0x31双沿 半周期 Xn = 32·f_cap / (2·f_coil) 32 × 3.0MHz / 2 = 4.8×10⁷
PD136HA AdtHwTrigCHxARise单沿 整周期 Xn = 32·f_cap / f_coil 32 × 1.5MHz / 1 = 4.8×10⁷
PD132L 参照) 单沿(与 PD136HA 同框架,推断 整周期 同上 32 × 1.2MHz / 1 = 3.84×10⁷

两型号判据常数完全相同(4.8×10⁷),故:

型号 Xn 窗口 解出的线圈频段
PD132T 406 ~ 2050 23.4 ~ 118.2 kHz
PD136HA 400 ~ 2030 23.6 ~ 120.0 kHz
PD132L 320 ~ 1620 23.7 ~ 120.0 kHz(常数 0.8× ⇒ 窗口 0.8× ✓ 自洽)

结论:PD132T 与 PD136HA 支持的是同一个线圈频段(≈23.4~118kHz,而不是"高频档 / 低频档"两种。移植时窗口常量几乎不用改,正是因为 f_cap × 2(双沿)f_cap ÷ 2(单沿) 的比值恰好相消。

本文修正一处旧口径2026-09-11 早前在 hardware-loop-frontend-pd132t-vs-v4b.md §8 与对齐报告 §2.3 写的「两型号线圈频段差 2×」有误(把 PD132T 的半周期口径与 PD136HA 的整周期口径直接相比所致)。正确结论是本节的同一频段。现场用示波器量一次线圈频率即可最终确认(若实测落在 23~118kHz ✔)。

说明:PD132L 侧的"单沿"是由「其窗口 320~1620 = PD136HA 的 0.8× = 时钟比 1.2/1.5」推断,非源码直证(PD132L 源码的捕获沿配置未在本轮核)。

2.4 量化等效与抗扰(两代相同的部分)

  • 两代都是 CD4060 施密特整形 + ÷32 硬件分频平均 ⇒ 一个 Xn 内部已平均 32 个原始线圈周期,且整形后方波过零点几乎不受幅值漂移影响 ⇒ 雨天 / 金属路面 / 底盘高度变化下的幅值漂移免疫,两代共有(这一点在替换到 DLD154V4B 直连振荡时会丢失,见前端专项 §2.5)。
  • 分辨率:两者累积域都是 32768 计数 ⇒ Δf/f = 表值/65536 口径一致;绝对码值分辨率相同(差异只在窗口长度 ⇒ 平均深度)。

3. 频率测量与归一化( 差异集中区)

3.1 捕获外设与流程

PD132TMA801 PD136HAHC32F003C4
捕获外设 PCA 模块 1CCAPM1=0x31CAPP|CAPN 双沿 + ECCF 中断) ADTIM4 通道 AAdtHwTrigCHxARise 上升沿捕获)
捕获时钟源 PCA 时钟 = T0 溢出CMOD=0x04)→ T0 8bit 自动重装 252(每 4 个 SYSCLK 溢出) ADTIM4 计数时钟 = PCLK0/8
捕获时钟 3 MHz(= 12MHz ÷ 4,官方手册直证) 1.5 MHz= 12MHz ÷ 8,源码 + Keil 时钟设置)
中断 CAP1_isr() interrupt 6 Tim4_IRQHandler
学习 loop1_LPCNT = 32768 / XnCapCnt > 100 后,算一次即冻结 同(同条件冻结)
测量 累积 LPCNT 个 Xn ⇒ CAPVD 同(CapSumCAPVD
频率范围过滤 保留:406 < Xn < 2050 已注释禁用(V3.14 去掉环路指示 LED 时一并屏蔽)⇒ 当前无频率过滤

实现同源、外设不同:算法是同一套"周期累积法"PD136HA 只是把 PCA 换成 M0+ 的 ADTIM4。8051 版用 CCAPM1 双沿是为了在 PCA 上"每半周期就有一次比较/捕获机会"(半个周期的分辨率换 2× 有效时钟);M0+ 版没必要做这个技巧,直接单沿整周期。

3.2 时序量对照

公式 PD132T PD136HA 比值
捕获时钟 3 MHz 1.5 MHz PD132T 快 2×
测量节拍CAPVD 更新) ⌊32768/Xn₀⌋·Xn₁ / f_cap 10.88 ms100kHz 站点) 21.76 ms PD136HA 慢 2×
每窗有效平均的线圈周期数 窗长(tick) / 32 × 边沿系数@100kHz 站点) 1088 2176 PD136HA 深 2×
状态机节拍 50msT1 5ms × 10 50msTIM1 × 10 相同
上电稳定 750ms 延时 + 学习 1s 延时 + LED 自检闪 6 次 + 学习 接近

⚠ PD136HA 的 TIM1 ARR=0xF159(61785) 与注释「5ms」不自洽(按 12MHz/16 反推为 82.4ms),代码逻辑按 5ms 自洽(60 tick = 300ms 喂狗、10 tick = 50ms)⇒ 绝对时间待现场示波器验证PD132T 侧 T1 60000 计数 = 5ms 已由 ISR 注释 + 手册定时器率直证)。

3.3 归一化与口径

  • 两者 dlt = Origin × 表值 >> 16Origin 来自学习/基线 ⇒ 相对阈值 = 表值/65536(Δf/f,与 BASE、与捕获时钟、与 ÷32 全部无关。
  • BASE 都是 32768(家族内"同源移植不重定标"的路线;DLD 线则是 131072/524288 重定标路线)。
  • 跨型号灵敏度可以直接用百分比对比(§5 的做法)。

4. 滤波与基线(PD136HA 明显更"重"

4.1 一次 IIR 对比

PD132T PD136HA
结构 Δ×α >> 8 双向(与 PD132L 一致) Δ×α >> 8 单向累加(同框架)
系数 79FLT 拨码=快)/ 64FLT 拨码=增强滤波) 初始化 79,主循环每次强制 6479 分支 SET_FLT 已注释)⇒ 实际恒 α=64
拨码可调 FLT 位可切 79/64 不可调(增强滤波档位事实上被移除)
τ(产品线口径 T×256/α 35.4ms(α79/ 43.7ms(α64 87.4ms(α64
τ(精确 T/ln(1−α/256) 29.6ms / 38.0ms 76.0ms
节拍 10.92ms 21.85ms

PD136HA 的滤波时间常数是 PD132T 的 2~3 倍(慢窗 + 更慢系数 + 系数不可调)。

4.2 基线

PD132T PD136HA
窗口 100 次平均 256 次平均(V3.1499 → 255>>8 即均值)
更新周期 1.09 s 5.59 s
有车冻结 相同 相同
有车期基线行为 冻结 冻结(+ LC_HOLD 240s 超时后强制重学,见 §7)

4.3 有效积分深度(判据的"抗噪储备")

型号 每窗平均线圈周期 滤波 τ 基线窗 综合取向
PD132T ≈1092 29.6~38 ms 100 响应优先:约 1.1~1.5s 内完成基线跟踪,进/出响应 ~11ms 量级
PD136HA ≈2185 76~87 ms 256 抗扰优先5.6s 基线,进/出响应 ~22ms 量级 + 更重滤波

两者都没有进入/离开确认计数(PD132L 的 IN_DELAY/OUT_DELAY 在两条线上均被注释)⇒ 抗单点扰动全靠 IIR + 基线,PD136HA 的"更稳"来自本节三项(窗 / 滤波 / 基线)叠加,代价是响应变慢约 2×。

5. 判据与灵敏度(⚠ 不可按档位号照搬)

5.1 判据结构(两型号完全同构)

// 两者相同:进入 = CAPVD 下穿 Origindlt;离开 = 回升越 Origindlt(离开表)
loop1_dlt_ORG = (Origin * SensTable [SensLevel]) >> 16;   // 进入表
loop1_dlt_ORG = (Origin * SensTable1[SensLevel]) >> 16;   // 离开表
  • 相对阈值 = 表值 / 65536Δf/f),与 BASE(都是 32768)、与捕获时钟、与 ÷32 全无关 ⇒ 两型号百分比可直接比
  • 档位是正索引SensTable[0] = 最大阈值 = 最低灵敏[3] = 最高灵敏。
  • 两者都是单次越线判定,无进入/离开确认计数(§4.3)。

5.2 灵敏度表对照(进入 / 离开)

DIP(SENS) PD132T 进入 表值 → Δf/f PD136HA 进入 表值 → Δf/f PD136HA vs PD132T
0 0x00 300 → 0.4578% 162 → 0.2472% 46.0%(更灵敏)
1 0x20 60 → 0.0916% 81 → 0.1236% +35.0%(更钝)
2 0x10 32 → 0.0488% 54 → 0.0824% +68.8%(更钝)
3(默认) 0x30 21 → 0.0320% 28 → 0.0427% +33.3%(更钝)
PD132T 离开 表值 → Δf/f PD136HA 离开 表值 → Δf/f PD136HA vs PD132T
0 60 → 0.0916% 81 → 0.1236% +35.0%
1 32 → 0.0488% 54 → 0.0824% +68.8%
2 21 → 0.0320% 32 → 0.0488% +52.4%
3 14 → 0.0214% 18 → 0.0275% +28.6%

读法PD136HA 的进入表整体比 PD132T 钝 33~69%(除档 0,它反而更灵敏 46%);离开表则整体更钝 29~69%。⇒ 两代的灵敏度标定不是简单缩放,是重新设计(PD136HA 档 0 拉宽、档 1~3 收紧,呈"两段式")。

5.3 滞回带对照

PD132T 滞回带 (入−出)/入 PD136HA 滞回带 备注
0 80.0% 50.0% PD132T 档 0 的离开线极低(表 60 vs 300)⇒ 保持极"黏"
1 46.7% 33.3%
2 34.4% 40.7%
3 33.3% 35.7% 两代在最高灵敏档基本一致(≈34~36%)

5.4 跨代档位换算表(照搬档位号 = 错)

PD132T → PD136HA(按 Δf/f 找最近档)

PD132T 档 进入 Δf/f 最近的 PD136HA 档 进入偏差 离开偏差 可用性
0 0.4578% 00.2472% 46.0% +35.0% ⚠ 无对应档(PD136HA 最钝档仍仅 PD132T 档 0 的一半阈值)
1 0.0916% 20.0824% 10.0% 0.0% 最佳匹配
2 0.0488% 30.0427% 12.5% 14.3% ⚠ 可用(略钝)
3 0.0320% 30.0427% +33.3% +28.6% ⚠ 只能到 PD136HA 最高灵敏档(仍比 PD132T 钝 1/3)

PD136HA → PD132T(反向):档 0→1(−63%,严重不匹配)· 档 1→1(−26%)· 档 2→1(+11%)· 档 3→2+14%)⇒ PD136HA 的钝档在 PD132T 上没有对应PD132T 最钝档 0.4578% 也比它钝得多)。

结论

  1. 档位号绝对不能照搬 —— 一一映射会产生 46%~+69% 的相对阈值偏差(相当于灵敏度差近 2 倍)。
  2. 两代的有效公共区间只有中间两档(PD132T 档 1/2 ↔ PD136HA 档 2/3)。
  3. 跨代迁移必须:先按现场原档位的 Δf/f 查出目标档,再现场复测(与 DLD154V4B 那套"档0 需复测"的结论同源:档 0/最高灵敏档永远是风险区)。

5.5 响应速度对比(图 + 数值)

PD132T vs PD136HA 响应对比

(矢量版 docs/img/response-compare-pd132t-pd136ha.svg;生成脚本 tools/plot_response_compare.py,曲线按本节公式真算)

车辆信号 Δf/f PD132T(窗 10.880ms / α79 PD136HA(窗 21.760ms / α64 比值
+0.5%(大型车完全占据) 10.9 ms(第 1 窗) 21.8 ms(第 1 窗) 2.0×
+0.15%(中型车 / 边角占压) 32.6 ms(第 3 窗) 152.3 ms(第 7 窗) 4.7×
+0.10% 76.2 ms(第 7 窗) 档1 检不到(判据 0.1236% > 0.10%
  • 判据:CAPVD_n = Δf/f·[1(1−α/256)^n] ≥ 档位判据(n = 第 n 次窗更新)⇒ 延迟 = (n+1)·T_win;图 B 的平坦段 = 1 窗下限陡升段 = τ 主导
  • 大信号由「窗长」决定2.0× 全部来自 21.760/10.880);近阈值由「τ」决定PD136HA 窗 2× 且 τ 2.56× ⇒ ≈4.7×)
  • 同一档位号的判据本身不同PD132T 档1 = 0.0916% vs PD136HA 档1 = 0.1236%,差 +35%):0.10% 的信号在 PD132T 档1 能检(76 ms),在 PD136HA 档1 完全检不到 ⇒ 与 §5.4 的档位偏差结论互为印证 —— 换型必须按 Δf/f 重标定档位,不能照搬档位号
  • 两处未计入:输出级 50 ms 主节拍量化(继电器实际动作再加 ≤50 ms)、无进入确认(两者均为单次越线判定)

6. 状态机、输出与时序

6.1 数据流(两代同构)

捕获中断(PCA / ADTIM4) → Xn → 累积 LPCNT 个 → CAPVD(=CAP_OK)
        ↓ 主循环
IIR → 基线(无车时更新/有车冻结) → 进入/离开判据 → VD_FLAG / FLAG_OUT
        ↓ 50ms 状态机
输出映射(继电器 / 脉冲)

6.2 输出对照

PD132T PD136HA
继电器 双路P1.6 = SOLA(脉冲/存在)、P1.7 = SOLB(存在) 双路P33 = RLY2存在 VD_FLAG)、P34 = RLY1脉冲
脉冲宽度 500ms 500ms
脉冲模式拨码 PLUSP1.4):标贴 ON ⇒ 离开脉冲;标贴 OFF ⇒ 进入脉冲 SET_PLUSDIP):=1 ⇒ 存在输出VD_FLAG|FLAG_OUT);=0 ⇒ 离开脉冲
延时档 {0, 0.6, 1.6, 3.0}sDELAY_TIME[4]={0,12,32,60} × 50ms tick
LED LED_DET(检测)+ LED_PWR(新增,PD132L 无) LEDA(有车指示 + 上电自检闪 6 次);V3.14 移除环路小 LED
拨码去抖 连续 6 次一致生效 连续 6 次采样一致(swcnt>5
灵敏度变更 ISPCR=0x20 软复位 Reset_RstPeripheralAll() 复位

功能差异要点PD136HA 的「脉冲延时档」是 PD132T 完全没有的能力(0.6/1.6/3s 可配)——若现场 PD132T 靠外部控制器做延时,迁到 PD136HA 后可由检测器自身承担;反之 PD136HA → PD132T 迁移会丢失该功能


7. 超时与异常处理(策略不同:降级维持 vs 主动复位)

场景 PD132T PD136HA
线圈断 / 无捕获 继电器全断 + LED 快闪 6 次(降级告警,等线圈恢复) LOOP_OK=0FLAG_CUT整机复位 + LED 闪(主动重启自愈)
存在保持超时 HOLD_TIME = 6000 × 50ms = **300s**ISPCR=0x20 软复位 HOLD_TIME = 6000 × 50ms = **300s** → 整机复位
环路锁定 / 长期占压 无独立机制 LC_HOLD_TIME = 4800 × 50ms = **240s**重新学习基线(不整机复位)
灵敏度拨码变化 生效后软复位 复位
看门狗 WDTCR1.05s WDT 820ms,主循环 300ms 喂狗
上电 750ms 延时(线圈稳定)→ 学习 1s 延时 + LED 自检闪 6 次(继电器自检)→ 学习

评述

  • PD132T 偏"降级维持":线圈断只断继电器 + 闪灯告警,不死机 —— 对"线圈临时被金属杂物短路/振荡受扰"的现场更友好(扰动过去即恢复)。
  • PD136HA 偏"主动自愈":无捕获直接整机复位,且多了 LC_HOLD 240s 重学基线(针对长期占压后基线漂移);代价是复位本身会中断输出,道闸场景下必须配合控制器侧超时。
  • 两者 HOLD 常量逐字同源6000 tick × 50ms = 300s)—— 印证"同源移植保留超时语义"。

8. 拨码与配置迁移(不可"位置照搬")

PD132T PD136HA
拨码引脚 P1.0/P1.1 = SENS0/1P1.2 = SENUPP1.3 = FLTP1.4 = PLUSP1.5 = HOLD P35/P26/P25/P24 = DIP58(延时 2bit / 脉冲模式 / 存在保持);P03/P32 = DIP910(灵敏度 2bit
电气极性 低有效:标贴 ON = 电平 02026-08-28 用户确认,电路反相) 引脚上拉 + DIP 接地 ⇒ ON = 读出 0(与 PD132L / DLD154V4B 同构)
灵敏度编码 直接二进制 0~3P1.0/P1.1 组合编码(表见 §5.2 的 DIP(SENS) 列:0x00→档0 / 0x20→档1 / 0x10→档2 / 0x30→档3
增强滤波 FLT 位切 79/64 无此位(恒 α=6479 分支已注释)
脉冲模式 PLUS:ON ⇒ 离开脉冲 / OFF ⇒ 进入脉冲 SET_PLUS=1 ⇒ 存在输出 / =0 ⇒ 离开脉冲
存在保持 HOLD DIP8SET_HOLD
延时档 DIP 2bit ⇒ 0 / 0.6 / 1.6 / 3.0s
灵敏度离开阈值特例 SENUP 位:标贴 ON ⇒ 离开恒 14OFF ⇒ 分档 无此特例(离开恒分档)

迁移结论(双向都不可以位置照搬)

  1. 灵敏度编码方式不同(直接编码 vs DIP9/10 组合);
  2. PD132T 的 FLT(增强滤波)在 PD136HA 没有对应(功能被移除)⇒ 现场若依赖"增强滤波档",迁到 PD136HA 后滤波特性是固定值;
  3. PLUS 语义不同("进入脉冲" vs "存在输出")—— 同名不同义,最易踩
  4. PD132T 的 SENUP(离开恒 14 的特例)在 PD136HA 无对应;
  5. 唯一"可搬"的是灵敏度档位所表达的 Δf/f 目标(§5.4 换算表),不是拨码位置本身。

9. 两代设计取向解读(为什么这么改)

  1. 硬件前端一个字没动(同 ÷32、同振荡级、同线圈)⇒ 换代是纯主板/软件升级,现场线圈与接线可原样沿用(换型成本最低的一类改动)。⚠ 前提是线圈电感在检测器可工作范围内(两条线都无 V4B 那种电感四级质量门)。
  2. 判据口径一个字没动BASE 32768 / 表值 >> 16 / LPCNT = 32768/Xn / 有车冻结基线 / HOLD=300s 全部继承 ⇒ 现场"相对阈值百分比"的经验可以跨代沿用(这正是 §5 能用 Δf/f 直接对比的原因)。
  3. 参数全部重标定:灵敏度四档、IIR 系数、基线窗 —— 说明"移植 ≠ 直接抄参数"PD136HA 是带标定的重写(§5.4 的 −46%~+69% 偏差就是标定差异的量化证据)。
  4. 8051 的技巧在 M0+ 上不再需要PD132T 的「3MHz 双沿捕获」用半周期分辨率换 2× 有效时钟;PD136HA 直接用硬件单沿捕获 + 更低时钟(1.5MHz)实现等价的时间分辨率(判据常数 C 相同 ⇒ 同一线圈频段)。这是"用硬件能力替代软件技巧"的典型。
  5. 取向从"响应优先"转向"抗扰优先"(同一代内 V3.11→V3.14 的改动也朝这个方向:基线 99→255):窗 2×、τ 2~3×、基线 2.56×,代价是进/出响应慢约 2×、最小可检占压由 ~11ms 级变为 ~22ms 级(高速车场景需注意)。
  6. 异常策略从"降级维持"转向"主动自愈"(整机复位 / 重学基线)—— 与 M0+ 的复位与外设重置能力更强、以及"无人值守"部署需求相符;但复位会中断输出,道闸/会车场景需在控制器侧做超时兜底。

10. 风险与待验证清单

  • ① PD132T「双沿 ⇒ 半周期」的现场确认:示波器量线圈频率(或量 P23),确认落在 23.4~118kHz;若实测为另外一档(46.8~236.6kHz)则说明 ISR 另有整周判据 —— 只影响 §2.3 的绝对频段表述,不影响 Δf/f 口径。
  • ② PD136HA 的 TIM1 节拍ARR=0xF159(61785) 与注释「5ms」不自洽(12MHz/16 反推 82.4ms)⇒ 现场示波器验证 5ms/50ms/300ms 三级节拍。若实际非 5ms,则 §6/§7 的秒数(300s/240s/500ms)需按真实 tick 重算(常量同源,秒数授权于 tick)。
  • ③ PD136HA 工程器件档位.uvprojx 仍为 HC32F005C6PA,实际芯片 HC32F003C4重编译前改正档位(实测 ROM 11.1KB < 16KB ✓ 容量无碍)。
  • ④ 频率过滤缺失的影响PD136HA 的 400 < Xn < 2030 已注释禁用 ⇒ 线圈异常时不会走"数值超窗"分支,而是走 LOOP_OK/FLAG_CUT整机复位;PD132T 保留过滤。异常线圈现场的表现差异需实测(复位 vs 保持输出)。
  • ⑤ PD132L 捕获沿:§2.3 表中 PD132L 的"单沿"是推断(由窗口比 0.8× = 时钟比推得),未读其源码的捕获配置 ⇒ 需补证。
  • ⑥ 端点档复测PD132T 档 00.4578%)与 PD136HA 档 00.2472%)在两代之间无对应档;现场若停在这两个档位,换型必须专项复测。
  • ⑦ 旧文件勘误 已落地(同日提交):docs/hardware-loop-frontend-pd132t-vs-v4b.md §8 与 docs/pd136ha-to-dld154v4b-delivery-alignment.md §2.3 中「两型号线圈频段差 2×」已改为「同一频段 ≈23.4~118kHz」(见 §2.3)。

11. 结论与可复用经验

11.1 一句话结论

PD132T 与 PD136HA 是"同一前端、同一判据口径、不同代 MCU + 重新标定参数"的两代产品:线圈可原样沿用、阈值百分比口径可跨代沿用,但灵敏度档位、滤波、基线、异常策略全部需要按 Δf/f 与现场行为重新对齐

11.2 同源移植的"保留项 / 重标定项"清单(可直接套用到下一次)

类别 内容 证据
保留 硬件前端(÷32 + 施密特整形 + 振荡级) §2.1
保留 判据常数 C(⇒ 同一线圈频段) §2.34.8×10⁷)
保留 BASE=32768 / 表值>>16 / LPCNT=32768/Xn / 有车冻结基线 §3.3、§4.2
保留 脉冲 500ms / HOLD 6000 tick300s/ 50ms 状态机节拍 / 拨码 6 次去抖 §6、§7
重标定 灵敏度四档(进入 + 离开,−46%~+69% 偏差) §5.2
重标定 IIR 系数与基线深度(τ 2~3×、窗 2.56×) §4
重定 捕获外设与时钟(PCA 3MHz 双沿 → ADTIM4 1.5MHz 单沿) §3.1
重设 异常策略(降级维持 → 主动自愈)、延时档、FLT 档移除 §6、§7、§8

11.3 方法学沉淀(跨型号对比的固定四步)

  1. 算判据常数 C = 32·f_cap/边沿系数 → 立刻判断两型号是否覆盖同一线圈频段(本轮正是这一步发现了"窗口常量几乎相同"的真正原因);
  2. 只比 表值/65536(Δf/f),并给出档位换算表 + 偏差%(禁止按档位号照搬);
  3. 比时间维:测量节拍 × IIR τ × 基线窗 ⇒ 得"抗噪储备"与"响应延迟"的权衡;
  4. 比异常策略:降级维持 vs 主动复位 —— 这一项对道闸/会车现场的影响往往大于灵敏度差异本身。

附录 A:证据索引

结论 出处
PD132T = MA8011-T / 8KB / 256BAUXR b7=T0X12、CMOD CPS=b2:b1 models/PD132T/MA801_MA802_Datasheet_A10.pdf(官方手册,用户 2026-09-11 提供)+ USER/REG_MA801.H
÷32Q5 models/PD132T/PD132T.A_Ver2.01-20210609_Logic.pdf 逐脚像素扫描 + 用户口径「PD136 与 PD132 的 CD4060 电路相同」
PD132T 捕获 3MHz / 节拍 10.92ms USER/main.c:281-290CMOD=0x04/TH0=252/TMOD=0x12+ AUXR=0xC0(:359) + 手册 §14
PD132T 双沿捕获 / Xn=半周期 USER/main.c:283CCAPM1=0x31+ ISR 相邻捕获差
PD136HA = HC32F003C4 / 12MHz 晶振 / PCLK0/8 用户口径 2026-09-11 + user/main.c:507-523(CLK_INIT) + INIT_Timer4()(AdtClkPClk0Div8) + Keil <Cpu> CLOCK(12000000)
PD136HA 单沿捕获 / 窗 400~2030(已注释) user/main.c Tim4_IRQHandler + Adt_CfgHwCaptureA(AdtHwTrigCHxARise)
PD136HA 基线 256 / α 恒 64 / 延时档 / HOLD·LC_HOLD user/main.cV3.14
两型号灵敏度表与 Δf/f models/PD132T/analysis.md §3.5、models/PD136HA/analysis.md §6

附录 B:相关文档

  • 前端专项:docs/hardware-loop-frontend-pd132t-vs-v4b.md
  • 交付对齐(替换评估):docs/pd136ha-to-dld154v4b-delivery-alignment.mddocs/pd132t-to-v4b-delivery-alignment.md
  • 跨型号总表:docs/cross-model-comparison.md
  • 单型号分析:models/PD132T/analysis.mdmodels/PD136HA/analysis.md