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 异常
This commit is contained in:
wangfq
2026-09-11 08:42:41 +08:00
parent f5bdbfae05
commit 01d574c4a9
6 changed files with 30 additions and 20 deletions
@@ -1,7 +1,7 @@
# PD136HA → DLD154V4B 交付对齐分析
> **日期**2026-09-11
> **依据**`reference/PD136HA_V3.14-20211116/`HC32F005,固件 V3.14 / 2021-11-16,源 `user/main.c`
> **依据**`reference/PD136HA_V3.14-20211116/`**HC32F003C4**,固件 V3.14 / 2021-11-16,源 `user/main.c`MCU 归属更正见 §2.3
>     `DLD154V4B/utilities/at32f421_freertos_demo/`AT32F421F8P7,固件 V4.36.40,源 `src/TaskLoop.c`
>     `models/PD136HA/analysis.md`、`models/DLD154V4B/analysis.md`
> **场景**:现场/客户在用 PD136HA,评估以 DLD154V4B 替换后的**灵敏度一致性、手感差异、配置迁移、异常行为**。
@@ -31,7 +31,7 @@
| 项 | PD136HA | DLD154V4B | 对齐含义 |
|---|---|---|---|
| MCU | HC32F005M0+ | AT32F421F8P7M4120MHz | — |
| MCU | **HC32F003C4**(M0+,用户确认;⚠ Keil 工程档位仍为 F005C6PA,重编译前须改 | AT32F421F8P7M4120MHz | — |
| 运行形态 | 裸机主循环 | FreeRTOS 多任务 | — |
| **归一化基数 BASE** | **32768**2^15 | **131072**2^17 | **差 4 倍** |
| 测量窗 | **21.85ms**12MHz 晶振**已确认**2026-09-11 | **1.09ms**131072 / 120MHz | 快 ~20× |
@@ -110,7 +110,7 @@ CAPVD = LPCNT × Xn_分频后 = 32768 ← 与 N 无关
| 型号 | 捕获时钟 | 寄存器依据 | 测量窗(32768 tick |
|---|---|---|---|
| PD132T | **3MHz** = 12MHz/4 | `TH0=TL0=252`4 分频溢出)+ `AUXR=0xC0`T0x12=1 → T0 走 SYSCLK/1+ `CMOD=0x04`T1 `TH1/TL1=0x15A0`→60000 计数 = **5ms**ISR 注释「定时5ms」「5*10=50ms」)⇒ SYSCLK = **12MHz** | **10.92 ms** |
| PD132T**MA801** | **3MHz** = 12MHz/4 | `CMOD=0x04; //时钟源为定时器0溢出`(作者原注)+ **Megawin 手册 CPS 表:`CMOD[3:1]=010 ⇒ 定时器0溢出`** ✓ 两法互证;`TH0=TL0=252`(8bit 自动重载,每 4 个输入时钟溢出 = 注释「时钟/4」)+ `TMOD=0x12` + `AUXR=0xC0`(×12/1T 位)T1 `TH1/TL1=0x15A0`→60000 计数 = **5ms**ISR 注释「定时5ms」/「5*10=50ms」)⇒ 定时器输入 = **12MHz** = SYSCLK ⇒ 1T 生效,T0 同为 12MHz ⇒ PCA = 12M/4 | **10.92 ms** |
| PD132L | **1.2MHz** = 12MHz/10 | `TIM1_PSCRL=0x09`(10 分频)+ 外部 12MHz 晶振(`CLK_ECKR`/`CLK_SWR=0xB4``CLK_CKDIVR&=0xF8` 无分频) | 27.3 ms |
| PD136HA | **1.5MHz** = XTH(12MHz)/8 ✅**已确认** | `enCntClkDiv = AdtClkPClk0Div8`PCLK0/8+ `CLK_INIT()``XTH_CR \|= 0x07`(作者注释「**8-16MHZ**,最强驱动」)→ 直取 XTH、**无 PLL / 无 HCLK_PRS·PCLK_PRS 分频** ⇒ PCLK0 = XTH = **12MHz****用户确认 2026-09-11:外部晶振也是 12M**);`Delay_ms` 1330 次/ms 亦印证 ~12MHz | **21.85 ms** |
@@ -121,6 +121,15 @@ CAPVD = LPCNT × Xn_分频后 = 32768 ← 与 N 无关
> ✅ **PD136HA 前端全链闭合(2026-09-11**:线圈 → 9015×2 振荡 → CD4060 整形 + **÷32Q5** → `LP` → P23 → ADTIM4`AdtClkPClk0Div8` = **1.5MHz**)。三块拼图分别来自:用户口径(CD4060 同 PD132 / 晶振 12M)、PD132T 图纸像素取证(÷32)、PD136HA 源码(`CLK_INIT` 无 PLL、`AdtClkPClk0Div8`)。
>
> ⚠ **别被 demo 板常量误导**`common/board_stkhc32f005.h:64` 写着 `#define SYSTEM_XTH (32*1000*1000u) ///< 32MHz` —— 那是 **STK 官方 demo 板**的晶振值,本产品**不用**`CLK_INIT()` 自配 XTH,注释档位 816MHz)。作者在 `Delay_ms` 旁自注的 `//12MHZ????` 那个问号,现已由硬件口径消除。
>
> 🔧 **MCU 归属更正(2026-09-11,用户口径 + 源码取证)**
>
> - **PD132T = Megawin(笙泉科技)MA801** —— 板上标记 MA801ASSFR 头 `USER/REG_MA801.H` 首行即 `/* for Megawin MA801 */`;其中 `sbit CEX1 = P3^5` ✓ **与图纸 LP→MCU pin9 完全吻合**。此前文档记「STC12C2052」系按寄存器地址相似所致的误判 —— **已更正,且 3MHz/10.92ms 结论不变**。
> - ⚠ MA801 **专册未取得**(聚合站受限);CPS 表引自 **Megawin 同族手册 `MG82F6D17` v1.02**SFR 映射逐地址一致:CMOD=0xD9 / CCAPM0=0xDA / CCAPM1=0xDB / CL=0xE9 / CH=0xF9 / CCAP0L=0xEA)。**结论对位布局分歧免疫**:无论按经典 PCA 的 2 比特(CPS1:CPS0=10)还是 Megawin 的 3 比特(CPS[2:0]=010)解读,`CMOD=0x04` 都落在 **「Timer0 溢出」** ✓
> - `AUXR=0xC0` 的位定义未获 MA801 手册直接佐证,但由 **T1 侧独立反证**(60000 计数 = 5ms ⇒ 定时器输入 12MHz ⇒ 1T/×12 位确实生效);两定时器共用同一次写入 ⇒ T0 同为 12MHz ✓
> - **PD136HA = HC32F003C4**(小华半导体 HDSC,用户确认)。⚠ 工程档位仍是 `HC32F005C6PA`Keil `<Device>`+ startup `hc32f005c6ua` ⇒ **重编译前须改器件档位**;实测固件 `Code=11148 RO=268 RW=88 ZI=608` ⇒ ROM≈11.1KB / RAM≈696BF003(16KB/2KB) 与 F005(32KB/4KB) 都装得下 ✓。Keil 工程 `<Cpu>… CLOCK(12000000) …` 亦**独立佐证 12MHz** ✓
> - ⚠ **双沿捕获的意外发现**PD132T `CCAPM1=0x31` = **CAPP+CAPN 双沿捕获**(旧稿写「下降沿捕获」**有误**),ISR 内 `loop1_Xn = 本次捕获 − 上次捕获` ⇒ **Xn 实为「半周期」**(对 50% 占空方波)。⇒ 线圈绝对频段按半周期重算:PD132T 窗 406~2050 ⇒ **≈23.4~118kHz**PD136HA/PD132L ⇒ **≈11.8~60kHz**(与代码遗留注释 `//高频:48-1100,低频:22-550`(单位存疑)大体相容)。
> - **⚠ 灵敏度/偏差口径不受影响**`CAPVD/32768 = f_旧/f_新` 是**比值**,半/整周期因子同进分子分母相互约掉 —— 与 §2.2「分频比 N 被约掉」同理 ✓
**÷32 代入后,两族图纸读数完全自洽**:
@@ -366,6 +375,7 @@ PD136HA **没有**线圈电感质量判定;DLD154V4B 有**四级电感监视**
- [ ] **⑦ 输出模式**:确认 DIP7 / SW_3 位置与道闸期望(存在 vs 脉冲),并按 §8.4 极性核对
- [ ] **⑧ 相邻车道串扰**:若现场线距偏小,档1/档2 差值(−12% / −30%)会导致误触发倾向变化
- [ ] **⑨ 前端电路复核**:分频比**已定案 ÷32(CD4060 Q5**,依据 = PD132T 图纸(`models/PD132T/PD132T.A_Ver2.01-20210609_Logic.pdf`)+ 固件捕获脚三重互证(§2.3)。现场**可用示波器 5 分钟复核**:量 PD136HA 的 **P23** 方波频率应 = 线圈频率 ÷ 32(低频档线圈约 1.5~3.5kHz)。**晶振 12MHz 已确认**(用户 2026-09-11)⇒ PCLK0 = 12MHz、捕获时钟 1.5MHz、测量窗 21.85ms 全部落定,此项仅剩"物理量一遍"的确认价值。仍缺的是 **PD136HA 本体原理图**(影响谐振电容档位与"高频/低频"档位布线,**不影响分频比**)。另注意 CD4060 施密特整形的抗幅值漂移优势在 V4B 上消失(§2.5)
- [ ] **⑩ 器件档位与频段口径(2026-09-11 新增)**:① Keil 器件档位(HC32F005C6PA / startup C6UA)与实际芯片(**HC32F003C4**)不一致 ⇒ **重编译前先在 Keil 改正档位**,避免用错器件配置;② 现场量一次线圈频率(示波器接线圈两端,或量 P23)可**一次终结两个悬案**:P23 方波频率 = 线圈频率 ÷ 32 ✓,以及 Xn 的「半周期」口径下线圈标称是落 **23.4~118kHz** 还是 **46.8~236.6kHz**(后者意味着 Xn 为整周期,即 ISR 需另有整周判据)
---