docs(MA801): 官方手册直证 —— PD132T 捕获时钟 3MHz/10.92ms 全链闭环,间接论证升级为直证

- 用户提供 Megawin MA801/MA802 官方手册(CN vA10 / 2013-04),归档为 models/PD132T/MA801_MA802_Datasheet_A10.pdf
- 三处关键定义均为手册原文:
  · AUXR(0x8EH) b7=T0X12 b6=T1X12(0=SYSCLK/12,1=SYSCLK)⇒ 0xC0 使 T0/T1 按 1 个时钟周期计数(§14)
  · CMOD(0xD9H) CPS1:CPS0 位于 b2:b1,编码 10 = 定时器0溢出(手册示例 CMOD=0x02⇒SYSCLK/2 自校验)
  · 器件 = 1-T 80C51 / 8KB Flash / 256B RAM / max 25MHz
- ⇒ 0xC0(T0 走 SYSCLK)+ TMOD=0x12 & TH0=252(每 4 周期溢出)+ CMOD=0x04(T0 溢出)= PCA 3MHz;T1 5ms 反证 SYSCLK=12MHz
- 文档中「同族手册 MG82F6D17 代理 + T1 侧反证」的间接论证全部改写为官方直证;4 文件同步;表格校验 0 异常
This commit is contained in:
wangfq
2026-09-11 08:47:41 +08:00
parent 01d574c4a9
commit 382a23594c
4 changed files with 12 additions and 6 deletions
@@ -110,7 +110,7 @@ CAPVD = LPCNT × Xn_分频后 = 32768 ← 与 N 无关
| 型号 | 捕获时钟 | 寄存器依据 | 测量窗(32768 tick |
|---|---|---|---|
| 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** |
| PD132T**MA801** | **3MHz** = 12MHz/4 ✅**全链官方手册直证** | ① `AUXR=0xC0` ⇒ T0X12=T1X12=1 ⇒ 定时器按 **1 个时钟周期**计数(手册 §14:「AUXR.T0X12 和 AUXR.T1X12 用来设置定时器 0/1 的定时器率为 1 个时钟周期」;`0`=SYSCLK/12、`1`=SYSCLK);② `TMOD=0x12` + `TH0=TL0=252` ⇒ T0 8bit 自动重载,每 **4** 个 SYSCLK 溢出= 作者注释「时钟/4」);③ `CMOD=0x04` `CPS1:CPS0=10`**PCA 时钟 = 定时器 0 溢出**(手册编码表;作者原注「时钟源为定时器0溢出」同此);④ T1 `TH1/TL1=0x15A0`→60000 计数 = **5ms**ISR 注释「定时5ms」/「5*10=50ms」)⇒ SYSCLK = **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** |
@@ -125,8 +125,11 @@ CAPVD = LPCNT × Xn_分频后 = 32768 ← 与 N 无关
> 🔧 **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 ✓
> - ✅ **MA801/MA802 官方手册已取得并逐条核对**`models/PD132T/MA801_MA802_Datasheet_A10.pdf`Megawin,版本 A10 / 2013-04**用户 2026-09-11 提供**)。三处关键定义**均为手册原文**:
> 1. `AUXR`0x8EH= `T0X12(b7) T1X12(b6) URM0X6 EADCI ESPI ENLVFI -- --`b7/b6 位定义 `0` = SYSCLK/12、`1` = **SYSCLK** ⇒ `0xC0` 使 T0/T1 均按 **1 个时钟周期**计数(§14 原文:「AUXR.T0X12 和 AUXR.T1X12 用来设置定时器 0/1 的定时器率为 1 个时钟周期」)
> 2. `CMOD`0xD9H)时钟源编码表 = `00: SYSCLK/12 / 01: SYSCLK/2 / **10: 定时器0溢出** / 11: ECI`,且 `CPS1:CPS0` 位于 **b2:b1**2 比特布局;**自校验**:手册示例 `CMOD=0x02 ⇒ 系统时钟/2` ✓)⇒ `0x04` ⇒ **Timer0 溢出** ✓ 与作者原注**逐字一致**
> 3. 器件特性:**1-T 80C51 内核**、**8KB Flash**、**256B RAM**、最大 25MHz、外部晶振 + 内置 IRCO(6MHz);§14.2.5 示例即写「SYSCLK = 12MHz 晶振」✓
> - ⇒ 原先依赖「同族手册 `MG82F6D17` + T1 侧反证」的**间接论证已全部升级为官方直证**,本链条不再有未取证环节 ✓
> - **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 被约掉」同理 ✓