docs(PD136HA): 外部晶振 12MHz 用户确认 ⇒ PCLK0/捕获时钟/测量窗落定,前端全链闭合

- 依据用户口径「PD136HA 用的外部晶振也是 12M」+ 源码核证:CLK_INIT() 中 XTH_CR|=0x07(注释「8-16MHZ」)
  → 直取 XTH、无 PLL、无 HCLK_PRS/PCLK_PRS 分频 ⇒ PCLK0 = XTH = 12MHz;AdtClkPClk0Div8 ⇒ 捕获时钟 1.5MHz
  → 测量窗 32768/1.5MHz = 21.85ms(原为「12MHz 假设/待实测」,现降级为已确认);Delay_ms 1330 次/ms 亦印证
- PD136HA 前端全链闭合:线圈 → 9015×2 → CD4060 整形 ÷32(Q5) → LP → P23 → ADTIM4(1.5MHz)
- 新增陷阱提示:common/board_stkhc32f005.h 的 SYSTEM_XTH=32MHz 是 STK demo 板常量,本产品不用(易误导)
- 同步 4 份文档:对齐报告(§1.4/§2.3/§11⑨/§12)、前端专项 §8、models/PD136HA/analysis.md、cross-model-comparison 注
- 表格校验 0 异常(13 文件)
This commit is contained in:
wangfq
2026-09-11 08:32:11 +08:00
parent 7cf090d1b0
commit f5bdbfae05
4 changed files with 15 additions and 11 deletions
+1 -1
View File
@@ -43,7 +43,7 @@
> IIR 系数 79/64 的量化对比(α/τ/阶跃响应/噪声抑制/单频衰减/模拟验证)见 [filter-coefficient-79-vs-64.md](filter-coefficient-79-vs-64.md)2026-08-28 新增;**2026-08-31 v2 扩展:时间常数公式详解 + 释放路径影响 + 方案 A 案例**)。 > IIR 系数 79/64 的量化对比(α/τ/阶跃响应/噪声抑制/单频衰减/模拟验证)见 [filter-coefficient-79-vs-64.md](filter-coefficient-79-vs-64.md)2026-08-28 新增;**2026-08-31 v2 扩展:时间常数公式详解 + 释放路径影响 + 方案 A 案例**)。
> ⚠ 时序数值:DLD154Pro 为 60MHz 实测配置(8.74ms 测量节拍);DLD154V4B 为实测/代码确认(10ms tick τ=32ms);其余基于 12MHz 晶振假设推导(测量节拍 = BASE/捕获时钟)**待现场验证**。归一化基数三代三变(32768→131072→524288):V4B 是参考型号 32768 的 4 倍 → 测量窗 1.09ms 快 30×(V4.27 修正 120MHz tick 口径)、精度高 4 倍;154Pro 是 V4B 的 4 倍(60MHz 下 8.74ms 软件测量节拍)。 > ⚠ 时序数值:DLD154Pro 为 60MHz 实测配置(8.74ms 测量节拍);DLD154V4B 为实测/代码确认(10ms tick τ=32ms);其余基于 12MHz 晶振推导(测量节拍 = BASE/捕获时钟)**PD136HA 晶振 12MHz 已确认**(用户 2026-09-11)、PD132T 12MHz`AUXR=0xC0`+T1 5ms 寄存器反证)、PD132L 12MHz(代码注释);M1H / TLD-110 仍属"12T 机器周期"假设。归一化基数三代三变(32768→131072→524288):V4B 是参考型号 32768 的 4 倍 → 测量窗 1.09ms 快 30×(V4.27 修正 120MHz tick 口径)、精度高 4 倍;154Pro 是 V4B 的 4 倍(60MHz 下 8.74ms 软件测量节拍)。
> ⚠ 灵敏度表**数值不可跨型号直接比较**:各型号归一化基数/测量方式不同(32768 基数 ×65536 比例)。统一换算成 Δf/f 后:M1H 最灵敏档 0.015%PD132 0.032%**V4B 0.038%(方案BV4.06 起;PD132T 对齐表 0.032% 保留为备选 `USE_PLANB_TABLE=0`**154Pro 0.021%(⚠ 2026-08-28 修正:PD132 曾误用基数 32768 当分母算成 0.064%,正确分母是代码 `>>16` 的 65536)。 > ⚠ 灵敏度表**数值不可跨型号直接比较**:各型号归一化基数/测量方式不同(32768 基数 ×65536 比例)。统一换算成 Δf/f 后:M1H 最灵敏档 0.015%PD132 0.032%**V4B 0.038%(方案BV4.06 起;PD132T 对齐表 0.032% 保留为备选 `USE_PLANB_TABLE=0`**154Pro 0.021%(⚠ 2026-08-28 修正:PD132 曾误用基数 32768 当分母算成 0.064%,正确分母是代码 `>>16` 的 65536)。
+2 -2
View File
@@ -83,9 +83,9 @@ PD136HAHC32F005V3.14)与 PD132T **同分频比(÷32)、线圈频段
| 项 | PD132T | **PD136HA** | DLD154V4B | | 项 | PD132T | **PD136HA** | DLD154V4B |
|---|---|---|---| |---|---|---|---|
| 振荡级 | 9015 PNP ×2 | 同构(**推断,待图纸** | 9015 PNP ×2(已确认) | | 振荡级 | 9015 PNP ×2 | 同构(**用户口径:CD4060 接线与 PD132 相同**2026-09-11 | 9015 PNP ×2(已确认) |
| 整形 / 分频 | CD4060**÷32, Q5** | **CD4060(÷32,同电路)** | **无(PA7 直连)** | | 整形 / 分频 | CD4060**÷32, Q5** | **CD4060(÷32,同电路)** | **无(PA7 直连)** |
| 捕获时钟 | **3MHz**SYSCLK/4 | **1.5MHz**XTH/8 | 120MHz | | 捕获时钟 | **3MHz**SYSCLK/4 | **1.5MHz**XTH 12MHz/8,✅**已确认** | 120MHz |
| 窗口 tick | 32768 | 32768 | — | | 窗口 tick | 32768 | 32768 | — |
| 测量窗 | **10.92ms** | **21.85ms** | 1.09ms | | 测量窗 | **10.92ms** | **21.85ms** | 1.09ms |
| Xn 有效窗 | 406 ~ 2050 | **400 ~ 2030(几乎逐字相同)** | — | | Xn 有效窗 | 406 ~ 2050 | **400 ~ 2030(几乎逐字相同)** | — |
@@ -34,7 +34,7 @@
| MCU | HC32F005M0+ | AT32F421F8P7M4120MHz | — | | MCU | HC32F005M0+ | AT32F421F8P7M4120MHz | — |
| 运行形态 | 裸机主循环 | FreeRTOS 多任务 | — | | 运行形态 | 裸机主循环 | FreeRTOS 多任务 | — |
| **归一化基数 BASE** | **32768**2^15 | **131072**2^17 | **差 4 倍** | | **归一化基数 BASE** | **32768**2^15 | **131072**2^17 | **差 4 倍** |
| 测量窗 | 21.8ms12MHz 假设,⚠待实测 | **1.09ms**131072 / 120MHz | 快 ~20× | | 测量窗 | **21.85ms**12MHz 晶振**已确认**2026-09-11 | **1.09ms**131072 / 120MHz | 快 ~20× |
| CAPVD 消费节拍 | 21.8ms | **10ms** | 快 2.2× | | CAPVD 消费节拍 | 21.8ms | **10ms** | 快 2.2× |
| 阈值公式 | `dlt = Origin × SensTable[SensLevel] >> 16` | `dlt = Origin × SensTable[SENS] >> 16` | **逐字同构** | | 阈值公式 | `dlt = Origin × SensTable[SensLevel] >> 16` | `dlt = Origin × SensTable[SENS] >> 16` | **逐字同构** |
| **前端信号链** | 线圈 → 9015×2 振荡 → **CD4060 整形+分频** → P23 | 线圈 → 9015×2 振荡 → **直连** → PA7 | ⚠ 口径不变、抖动特性不同 → **§2** | | **前端信号链** | 线圈 → 9015×2 振荡 → **CD4060 整形+分频** → P23 | 线圈 → 9015×2 振荡 → **直连** → PA7 | ⚠ 口径不变、抖动特性不同 → **§2** |
@@ -112,11 +112,15 @@ CAPVD = LPCNT × Xn_分频后 = 32768 ← 与 N 无关
|---|---|---|---| |---|---|---|---|
| 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 | **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** |
| PD132L | **1.2MHz** = 12MHz/10 | `TIM1_PSCRL=0x09`(10 分频)+ 外部 12MHz 晶振(`CLK_ECKR`/`CLK_SWR=0xB4``CLK_CKDIVR&=0xF8` 无分频) | 27.3 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` + `CLK_INIT()` 切外部晶振(XTH 8–16MHz,代码注释自述 `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** |
> ⚠ **本轮勘误**:专项文档 `hardware-loop-frontend-pd132t-vs-v4b.md` 旧记 PD132T 捕获时钟 **0.75MHz / 测量窗 43.7ms ⇒ 修正为 3MHz / 10.92ms**。 > ⚠ **本轮勘误**:专项文档 `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)。 > 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`,与时钟无关)。 > **该勘误不影响任何相对阈值结论**(§1/§3/§4 全部基于 `表值/65536`,与时钟无关)。
>
> ✅ **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????` 那个问号,现已由硬件口径消除。
**÷32 代入后,两族图纸读数完全自洽**: **÷32 代入后,两族图纸读数完全自洽**:
@@ -361,7 +365,7 @@ PD136HA **没有**线圈电感质量判定;DLD154V4B 有**四级电感监视**
- [ ] **⑥ 上电就绪时间**:现场是否有"上电即可用"要求?低Q 线圈需 10s 巩固期(§7) - [ ] **⑥ 上电就绪时间**:现场是否有"上电即可用"要求?低Q 线圈需 10s 巩固期(§7)
- [ ] **⑦ 输出模式**:确认 DIP7 / SW_3 位置与道闸期望(存在 vs 脉冲),并按 §8.4 极性核对 - [ ] **⑦ 输出模式**:确认 DIP7 / SW_3 位置与道闸期望(存在 vs 脉冲),并按 §8.4 极性核对
- [ ] **⑧ 相邻车道串扰**:若现场线距偏小,档1/档2 差值(−12% / −30%)会导致误触发倾向变化 - [ ] **⑧ 相邻车道串扰**:若现场线距偏小,档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)。仍缺的是 **PD136HA 本体原理图**(影响谐振电容档位与"高频/低频"档位布线,**不影响分频比**)。另注意 CD4060 施密特整形的抗幅值漂移优势在 V4B 上消失(§2.5) - [ ] **⑨ 前端电路复核**:分频比**已定案 ÷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)
--- ---
@@ -373,5 +377,5 @@ PD136HA **没有**线圈电感质量判定;DLD154V4B 有**四级电感监视**
- [ ] 现场实测后回填 §11 结论,并补一份 `docs/pd136ha-to-dld154v4b-field-checklist.md`(可打印版) - [ ] 现场实测后回填 §11 结论,并补一份 `docs/pd136ha-to-dld154v4b-field-checklist.md`(可打印版)
- [ ] 将"线圈质量门(电感四级)作为替换前置门槛"写入交付流程 - [ ] 将"线圈质量门(电感四级)作为替换前置门槛"写入交付流程
- [ ] **补 `models/PD136HA/` 原理图 PDF**(当前**缺失**PD132T / V4B / DLD154Pro 均有)。分频比已由 PD132T 图纸定案(÷32),此图纸仅剩**谐振电容档位 / 高频-低频档布线 / PA7 前的振荡级元件**待补证 - [ ] **补 `models/PD136HA/` 原理图 PDF**(当前**缺失**PD132T / V4B / DLD154Pro 均有)。分频比已由 PD132T 图纸定案(÷32),此图纸仅剩**谐振电容档位 / 高频-低频档布线 / PA7 前的振荡级元件**待补证
- [ ] **同步修正 `docs/hardware-loop-frontend-pd132t-vs-v4b.md`**:① PD132T 捕获时钟 `0.75MHz → 3MHz`、测量窗 `43.7ms → 10.92ms`(§2.3 勘误);② 分频输出脚 `Q7 或 Q8 → ÷32(Q5,图纸实测)`;③ §3/§4/§8 表格中受此影响的"平均层级"行 - [x] ~~**同步修正 `docs/hardware-loop-frontend-pd132t-vs-v4b.md`**~~**已完成**`55a39f7`:① PD132T 捕获时钟 `0.75MHz → 3MHz`、测量窗 `43.7ms → 10.92ms`;② 分频输出脚 `Q7 或 Q8 → ÷32(Q5,图纸实测)`;③ §3/§4/§8 影响的"平均层级/Xn 单位/等效平均"行;连带 5 份文档(含 `filter-coefficient-79-vs-64.md` 的调参依据勘误)
- [ ]`docs/cross-model-comparison.md` 总表中补入 **PD136HA 前端口径**一列(CD4060 ÷32 分频 vs 直连),使"前端电路"成为跨型号可比维度 - [ ]`docs/cross-model-comparison.md` 总表中补入 **PD136HA 前端口径**一列(CD4060 ÷32 分频 vs 直连),使"前端电路"成为跨型号可比维度
+4 -4
View File
@@ -10,7 +10,7 @@
| 项 | 值 | | 项 | 值 |
|----|-----| |----|-----|
| MCU | HC32F005(注释标 HC32F003C4,工程编译目标 startup_hc32f005c6ua.oSDK 板头为 C6PA——**三者不完全一致,待硬件确认**) | | MCU | HC32F005(注释标 HC32F003C4,工程编译目标 startup_hc32f005c6ua.oSDK 板头为 C6PA——**三者不完全一致,待硬件确认**) |
| 时钟 | 外部晶振 XTH8-16MHz 档),CLK_INIT 切 XTH、关内部 RCHDelay_ms 注释 **12MHz** | | 时钟 | **外部晶振 12MHz(用户确认 2026-09-11**`CLK_INIT()` 配 XTH`XTH_CR \|= 0x07` 注释「8-16MHZ」)→ 直取 XTH、**无 PLL / 无 HCLK_PRS·PCLK_PRS 分频** ⇒ PCLK0 = 12MHz,并关内部 RCH。⚠ `board_stkhc32f005.h``SYSTEM_XTH = 32MHz` 是 **STK demo 板**常量,本产品不用 |
| 工具链 | Keil MDKuvprojxJLink | | 工具链 | Keil MDKuvprojxJLink |
| 工程名 | **PD132L-HD**(直接沿用 PD132 工程名,Author=YSHE | | 工程名 | **PD132L-HD**(直接沿用 PD132 工程名,Author=YSHE |
| 版本史 | V3.11 (2021-03-03) → V3.12 → V3.13 → V3.14 (2021-11-16) | | 版本史 | V3.11 (2021-03-03) → V3.12 → V3.13 → V3.14 (2021-11-16) |
@@ -61,7 +61,7 @@ if (loop1_INI_LOOP) {
``` ```
- Xn 有效范围检查(`Xn>400 && Xn<2030`)已被注释——**V3.14 去掉环路指示 LED 时一并禁用**,当前无频率范围过滤 - Xn 有效范围检查(`Xn>400 && Xn<2030`)已被注释——**V3.14 去掉环路指示 LED 时一并禁用**,当前无频率范围过滤
- 时钟假设PCLK0 = 12MHzDelay_ms 注释)→ 捕获时钟 = **1.5MHz**待现场验证 - 时钟:PCLK0 = XTH = **12MHz(用户确认,已落定)** → 捕获时钟 = `AdtClkPClk0Div8` = **1.5MHz**原先的 `Delay_ms` 注释 `//12MHZ????` 问号已消除
## 4. 滤波(IIR ## 4. 滤波(IIR
@@ -90,7 +90,7 @@ if (!loop1_VD_FLAG) { // 仅无车时更新(有车冻结)
- **256 次滑动平均**V3.14 从 99 改 255`>>8` 即均值)——比 PD132L 的 100 次窗口更慢更稳 - **256 次滑动平均**V3.14 从 99 改 255`>>8` 即均值)——比 PD132L 的 100 次窗口更慢更稳
- 有车冻结基线(与 PD132L 一致) - 有车冻结基线(与 PD132L 一致)
### 5.1 时序速查(12MHz 假设,待现场验证 ### 5.1 时序速查(12MHz 晶振已确认
| 项 | 值 | 公式 | | 项 | 值 | 公式 |
|----|-----|------| |----|-----|------|
@@ -164,7 +164,7 @@ RLY1 = SET_PLUS ? (VD_FLAG|FLAG_OUT) : FLAG_PLUSE(脉冲)
| 参数 | 值 | | 参数 | 值 |
|------|-----| |------|-----|
| 归一化基数 | **32768** | | 归一化基数 | **32768** |
| 测量节拍 | 21.8ms12MHz 假设 | | 测量节拍 | **21.85ms**12MHz 晶振已确认 |
| 基线窗口 | 256(有车冻结) | | 基线窗口 | 256(有车冻结) |
| IIR 系数 | 64(实际)/ 79(初始化) | | IIR 系数 | 64(实际)/ 79(初始化) |
| 进入/离开表 | {162,81,54,28} / {81,54,32,18} | | 进入/离开表 | {162,81,54,28} / {81,54,32,18} |