docs(measurement): 测量节拍是区间 —— 周期累积法的窗口量化(用户提出)+ 全仓回灌
- 新文件 docs/measurement-window-quantization.md:窗长 = ⌊BASE/Xn₀⌋·Xn₁ tick(LPCNT 整数除法 + 学习后冻结)
· 标称 BASE/f_cap(10.92/21.85ms)是【上限】,实际 = 标称 ×(BASE−r₀)/BASE × f₀/f_now
· 站点偏差:100kHz −0.39%(PD132T 10.88ms / PD136HA 21.76ms)、60kHz −2.34%、带内最差 −6.20%(Xn₀=2049)
· 深占压(频偏 −5%)窗再 +5.3%;"检测阈值"量级(≤0.46%)可忽略
· ✅ Δf/f 口径不受影响:Value/Origin = Xn₁/Xn₀ 精确(余数完全约掉)—— 灵敏度/交付结论全部保持
· ⚠ 新发现:loop1_LPCNT 为 INT8U(≤255),同族靠 406<Xn<2050 保证 ≤80;
PD136HA 该窗口已注释 ⇒ Xn<129 时 8 位截断 ⇒ 异常线圈可能报"堵车"而非"故障"(建议恢复或加钳位)
- 新增 tools/window_calc.py(内置六型号参数,实跑验证文档全部数字)
- 回灌:cross-model 总表(新增脚注 + 测频路线说明 + 待补证1条)、PD132T↔PD136HA 对比报告(§0/§3.1/§3.2/§4.3)、
两份交付对齐报告("测量窗列 = 标称上限" + 区间脚注)、filter-coefficient 专题(M1H 8.19ms 勘误 + τ 复算 + 脚注)、
README(新增"专题文档"段 + 目录树)
- 表格校验 0 异常
This commit is contained in:
@@ -34,8 +34,8 @@
|
||||
| MCU | **HC32F003C4**(M0+,用户确认;⚠ Keil 工程档位仍为 F005C6PA,重编译前须改) | AT32F421F8P7(M4,120MHz) | — |
|
||||
| 运行形态 | 裸机主循环 | FreeRTOS 多任务 | — |
|
||||
| **归一化基数 BASE** | **32768**(2^15) | **131072**(2^17) | **差 4 倍** |
|
||||
| 测量窗 | **21.85ms**(12MHz 晶振**已确认**,2026-09-11) | **1.09ms**(131072 / 120MHz) | 快 ~20× |
|
||||
| CAPVD 消费节拍 | 21.8ms | **10ms** | 快 2.2× |
|
||||
| 测量窗 | **21.85ms**(12MHz 晶振**已确认**;标称上限) | **1.09ms**(131072 / 120MHz;标称上限,实际 ≤−0.9%) | 快 ~20× |
|
||||
| CAPVD 消费节拍 | 21.76ms(100kHz 站点;标称 21.85) | **10ms** | 快 2.2× |
|
||||
| 阈值公式 | `dlt = Origin × SensTable[SensLevel] >> 16` | `dlt = Origin × SensTable[SENS] >> 16` | **逐字同构** |
|
||||
| **前端信号链** | 线圈 → 9015×2 振荡 → **CD4060 整形+分频** → P23 | 线圈 → 9015×2 振荡 → **直连** → PA7 | ⚠ 口径不变、抖动特性不同 → **§2** |
|
||||
|
||||
@@ -108,12 +108,14 @@ CAPVD = LPCNT × Xn_分频后 = 32768 ← 与 N 无关
|
||||
|
||||
**捕获时钟(三型号,含本轮勘误)**:
|
||||
|
||||
| 型号 | 捕获时钟 | 寄存器依据 | 测量窗(32768 tick) |
|
||||
| 型号 | 捕获时钟 | 寄存器依据 | 测量窗(**标称上限** = 32768 tick) |
|
||||
|---|---|---|---|
|
||||
| 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** |
|
||||
| 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** |
|
||||
| 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**(标称上限) |
|
||||
|
||||
> ⚠ **测量窗是区间,不是定值(2026-09-11 补,用户提出)**:`LPCNT = ⌊32768/Xn₀⌋` 是**整数除法且学习后冻结**,窗长 = `⌊32768/Xn₀⌋·Xn₁` 个 tick ⇒ 上表「测量窗」列全部为**标称上限**。实际 = 标称 × `(32768−r₀)/32768` × `f₀/f_now`(`r₀ = 32768 mod Xn₀`):100kHz 站点 **−0.39%**(PD132T 10.88ms / PD136HA 21.76ms)、60kHz 站点 −2.34%、带内最差 **−6.16%**(Xn₀=2050);深占压(频偏 −5%)再 +5.3%。**Δf/f 口径不受影响**(余数在分子分母约掉,`Value/Origin = Xn₁/Xn₀` 精确)。⚠ 另:`loop1_LPCNT` 为 **`INT8U`** ⇒ 需 `Xn>129`,而 PD136HA 的频率窗口已注释 ⇒ **8 位保护消失**(异常线圈可能报"堵车"而非"故障")。详见 `docs/measurement-window-quantization.md`。
|
||||
>
|
||||
> ⚠ **本轮勘误**:专项文档 `hardware-loop-frontend-pd132t-vs-v4b.md` 旧记 PD132T 捕获时钟 **0.75MHz / 测量窗 43.7ms ⇒ 修正为 3MHz / 10.92ms**。
|
||||
> 0.75MHz 系早期误按「T0 走 SYSCLK/4」(旧表写 `12M/4/4`)推算;实配 `AUXR=0xC0`(T0x12=1 → T0 走 SYSCLK/1)⇒ PCA 时钟 = SYSCLK/4 = 3MHz,作者注释 `//溢出供PCA时钟,时钟/4` 亦指此,并被 T1 的 5ms 定时反证(60000 计数 ÷ 5ms = 12MHz = SYSCLK)。
|
||||
> **该勘误不影响任何相对阈值结论**(§1/§3/§4 全部基于 `表值/65536`,与时钟无关)。
|
||||
|
||||
Reference in New Issue
Block a user