chore(编号): 硬件网表报告里的 Trap05 统一为 TRAP-NET-05

- 6 处裸形 Trap05(V0.0 报告 5 处 + V0.1 报告 1 处)→ TRAP-NET-05,序号不变只补模块码
- 语义已核对:属主条目 docs/问题记录/CH395F_Trap_Records.md 的 TRAP-NET-05 就是
  CH395F 与 RTL8305 自动协商不兼容,同名不同义的担心排除掉了
- 别名表登记 Trap05 → TRAP-NET-05(scope 限定这两个文件,写进真容器 aliases)
- rename_ids.py 解除对 docs/硬件平台/ 的排除(芯片手册仍排除)
- 注册表 TRAP 族注记改为事实:该目录仍不进门禁扫描语料——粗测约 4200 处
  R/C/D/J/X/U/T 位号,位号类型识别做完前纳入只会让 --strict 为位号天天拦提交

验证:id-check --strict 无台账外新账;doc-links 失效与待确认均 0;
改名文件 BOM=否、CR=0、U+FFFD=0;未改 C/H,不需 @build
This commit is contained in:
2026-10-22 06:33:00 +08:00
parent ebe2807ffd
commit ee25b10053
5 changed files with 17 additions and 8 deletions
@@ -113,7 +113,7 @@ flowchart LR
| 子系统 | 路径 | 状态 |
|---|---|---|
| 以太网 | CH395F(SPI2+DMA) → T1(350uH CM 磁环) → RTL8305NB port3 → 内部 crossbar → port0/1 → J1/J2(集成磁 RJ45) → 网线 | **在跑**(Trap05:CH395F PHY 与 RTL8305NBI 自协商不兼容 → 代码 `ch395f_set_phy(0x08)` 强制 100M 全双工后稳定) |
| 以太网 | CH395F(SPI2+DMA) → T1(350uH CM 磁环) → RTL8305NB port3 → 内部 crossbar → port0/1 → J1/J2(集成磁 RJ45) → 网线 | **在跑**(TRAP-NET-05:CH395F PHY 与 RTL8305NBI 自协商不兼容 → 代码 `ch395f_set_phy(0x08)` 强制 100M 全双工后稳定) |
| 模拟采集 | 15 路 AIN(10 路 → TPAFE5160 8ch+备用,5 路 → STM32 ADC,均 1k+1k 匹配阻抗+滤波)→ 16 位并口回 STM32 | 开机标记通过(**功能级未验证**,见 §3.1/B3 与 §5) |
| 存储 | GD5F2GQ5UE(WSON8, SPI1)——**FatFS 卷在此 NAND 上**(2026-09-20 更正:网表无 SD 卡/SDIO,原文"SD 卡(FatFS)"系误称,附录 C-C5) | NAND init 标记通过 |
| 时钟 | SD2506API(I2C RTC 模块:内置晶振 + 内置充电电池 + 充电电路) → 墙钟子系统 | SD2506 ID 读取通过(功能性验证);内置电池掉电自动续走,代码开机写 18H=0x82 使能充电并读 battery: 标记 |
@@ -122,7 +122,7 @@ flowchart LR
### 2.3 关键架构事实
1. **RTL8305NB 工作在未编程默认状态**(Trap05 反推证实):MDC/MDIO(pin25/26)悬空、无 EEPROM,靠默认 crossbar/VLAN 配置桥接 port3↔port0/1;strapping 仅用 DIS_EEE(pin29,R6 10k 上拉 = 禁 EEE;该脚为 I/O_PD 双功能脚,兼作 P0LED 指示并接 J1 模块 LED)。该拓扑实测可跑 100M,前提是**默认配置恰好匹配**,属脆弱平衡(B1)。
1. **RTL8305NB 工作在未编程默认状态**(TRAP-NET-05 反推证实):MDC/MDIO(pin25/26)悬空、无 EEPROM,靠默认 crossbar/VLAN 配置桥接 port3↔port0/1;strapping 仅用 DIS_EEE(pin29,R6 10k 上拉 = 禁 EEE;该脚为 I/O_PD 双功能脚,兼作 P0LED 指示并接 J1 模块 LED)。该拓扑实测可跑 100M,前提是**默认配置恰好匹配**,属脆弱平衡(B1)。
2. **串口段为完整隔离设计**:电源(U4)+ TX/RX(U11/U9/U10 数字隔离器)+ DE/RE(U8 光耦)三路均经隔离器件跨界,对外 485 口与主数字地完全隔离(仅 0.6-1pF 光浮电容耦合)。
## 3. 问题清单
@@ -131,7 +131,7 @@ flowchart LR
| # | 问题 | 影响 | 修复 |
|---|---|---|---|
| B1 | RTL8305 V33IN 缺手册要求的串联肖特基(3.3V 直连);MDC/MDIO 悬空(无 SMI) | 掉电时 V33IN 可倒灌 3.3V 主轨、破坏上电时序并威胁片内 LDO;PHY 全参数锁死默认态,Trap05 只能单边强制 | 3.3V→V33IN 串肖特基(BAT54/SS34,阳极接 3.3V、阴极接 V33IN,Vf 小,禁硅 PN);引 MDC/MDIO 至 STM32 GPIO(代码加 SMI 初始化:port3 强制 100F、LED 配置、VLAN 确认) |
| B1 | RTL8305 V33IN 缺手册要求的串联肖特基(3.3V 直连);MDC/MDIO 悬空(无 SMI) | 掉电时 V33IN 可倒灌 3.3V 主轨、破坏上电时序并威胁片内 LDO;PHY 全参数锁死默认态,TRAP-NET-05 只能单边强制 | 3.3V→V33IN 串肖特基(BAT54/SS34,阳极接 3.3V、阴极接 V33IN,Vf 小,禁硅 PN);引 MDC/MDIO 至 STM32 GPIO(代码加 SMI 初始化:port3 强制 100F、LED 配置、VLAN 确认) |
| B2 | 3.3V 主轨 SOT-223 LDO;板级无独立 5V 输入 | 峰值电流/热余量存疑;单独调试必须依赖子板线缆 | 主轨改 buck(顺带并掉 G3.3V 双轨偏移);加 5V 调试排针 + TVS |
| B3 | U18 桥(AIP74LVC16245,strapping 锁定 A→B 恒使能):A 侧 11 个 GPIO(H16/V15/J3/F3/R16/K3/DQM0/WAIT1/DQM1/RAS/SDCKE)未配置悬空 → 子板 LED×4/RELAY_STO/HT×5/EXTKO3 电平不定;另 2 条"SPI1"名义线(U17.77/78 = PD8/PD9,**2026-09-20 更正:无 SPI1 AF、代码未配置,实为悬空线**)→ 子板 EXTKO1/2 | 子板输出态(含继电器)随机 | ① 代码显式配置 **13 个** GPIO 为安全默认电平(LED 灭/继电器断/告警静默,**无需改硬件**)② ~~V0.1 改线~~(2026-09-20 更正:该 2 线无 SPI1 AF 且无驱动源,"SPI 流量干扰"不成立,无需改线) |
| **B4** | SWD 的 SWCLK 接 U17.104 = **PA12**(无 JTAG 功能;SWD 仅认 PA13/PA14)→ 实板 SWD 不通(**实测证实:V0.0 实板无法调试,飞线至 PA14 后调通**);同因 SDCKE 占 109 = PA14(脚位互换,见 §4.6) | V0.0 板 SWD 烧录/调试不可用(飞线绕过);ST-LINK 常规 2 线流程失效 | **V0.1 已修复**:SWCLK→109 = PA14(JTCK-SWCLK)、SDCKE→28 = PC2 |
@@ -180,12 +180,12 @@ flowchart LR
- 电源:V33IN(pin37)=3.3V;1.0V 核心由**片内 LDO** 生成(V10OUT=pin36=AVDDL,C3 220uF+7×100nF)——**无需电感**(手册 L269:"integrates one LDO regulator to generate 1.0V from a 3.3V input power, and needs only one external diode");RESETB(pin27)←主 NRST(与 MCU 同步复位,满足上电时序 Td>5ms 建议)。
- **B1(两项)**:
1. 手册要求 1 个外部二极管(L269/L336/L985;参考设计图在库内 md 中缺失,接法以手册参考设计为准):**在 3.3V→V33IN(pin37) 通路串联肖特基**,阳极接 3.3V 轨、阴极接 V33IN——上电时 3.3V 正向导通给 LDO 供电(仅降 Vf);掉电时若 V33IN 电位高于 3.3V 轨则反向截止,**防止 V33IN 倒灌回系统 3.3V 主轨、破坏上电时序(Ta<Tb),保护片内 LDO**。选型:肖特基(BAT54/SS34),Vf 尽量小,**不能用普通硅 PN 二极管**。V0.0 网表缺此二极管(U2.37 直连 3.3V 轨)——V0.1 必加。
2. MDC/MDIO 悬空 = 无 SMI 编程能力:端口速率/双工、LED 行为、VLAN 均锁死在默认值;Trap05 的"强制 100M"只在 CH395F 侧生效,交换侧不可调——当前能跑是**默认配置恰好匹配**,属脆弱平衡。
2. MDC/MDIO 悬空 = 无 SMI 编程能力:端口速率/双工、LED 行为、VLAN 均锁死在默认值;TRAP-NET-05 的"强制 100M"只在 CH395F 侧生效,交换侧不可调——当前能跑是**默认配置恰好匹配**,属脆弱平衡。
- P0LED/DIS_EEE(pin29)为**双功能脚**(I/O_PD 开漏):同一节点 {U2.29, R6 10k 上拉, J1.10(模块 LED 脚)}——上电时 10k 上拉给出 DIS_EEE=1(禁 EEE);PHY 初始化后 pin29 仍可拉低作 P0LED 链路/活动指示,10k 上拉兼作 LED 上拉 → **J1 有 PHY LED 指示,设计正确**(J2 同理:P1LED 经 R2 470Ω → J2.9;两侧上拉值不对称 10k/470Ω,对 LED 通断状态无实质影响)。
#### T1 = 350uH 16 脚共模磁环(H1102NLT)
- CH395F MDI ↔ RTL8305 port3 交叉配对完整(RXP↔TXOP3、RXN↔TXON3、TXP↔RXIP3、TXN↔RXIN3),**依赖交叠绕组布局 (1,16)(3,14)(6,11)(8,9)**——Trap05 证实该路径实测通流(100M),布局推断成立。
- CH395F MDI ↔ RTL8305 port3 交叉配对完整(RXP↔TXOP3、RXN↔TXON3、TXP↔RXIP3、TXN↔RXIN3),**依赖交叠绕组布局 (1,16)(3,14)(6,11)(8,9)**——TRAP-NET-05 证实该路径实测通流(100M),布局推断成立。
- 小缺陷(§3.4):绕组远端 T1.4/5/12/13 悬空(无对地旁路),EMI 细节;手册未入库(§3.3-1)。
#### J1/J2 = HR911105A RJ45
@@ -232,7 +232,7 @@ VDD50、5V、C3.3V、CGND、AVDDL(成员同,仅 C3 封装变)、STM_VDDA
## 8. 明确未变的系统(快速确认用)
- **19 颗芯片料号/型号全部不变**(V0.0 §1.2 总表照用,仅 U4 料号勘误仍未做);U1/U2/T1/J1/J2/X1/X2/X3 以太网链路逐脚不变(Trap05 结论沿用);
- **19 颗芯片料号/型号全部不变**(V0.0 §1.2 总表照用,仅 U4 料号勘误仍未做);U1/U2/T1/J1/J2/X1/X2/X3 以太网链路逐脚不变(TRAP-NET-05 结论沿用);
- 隔离串口段 U8~U15、CN1 全部网络不变(仅 §4.2/4.3 的 MCU 侧换脚);
- U16 RTC(I2C1,网名 SD_SCL/SD_SDA=PB6/PB7)、U19 NAND(GD_*)、U3 数据总线 DB0~15、U18 桥 B 侧与 strapping(R38~R42)、HRST、NRST 等控制语义均不变(除 §4 所列换脚);
- 晶振/负载电容、复位电路、CH395F 模式脚 R4、DIS_EEE/PBLED/INT 等 strapping 不变。
+9
View File
@@ -3093,6 +3093,15 @@
"test/host/ch395f_socket_test.py",
"Drivers/BSP/CH395F/ch395f.c"
]
},
"Trap05": {
"to": "TRAP-NET-05",
"status": "renamed",
"scope": [
"docs/硬件平台/V0.0_网表详细分析报告.md",
"docs/硬件平台/V0.1_网表详细分析报告.md"
],
"note": "批 7:硬件网表报告里的裸形 Trap05 统一成 TRAP-NET-05(属主条目 docs/问题记录/CH395F_Trap_Records.md,语义 = CH395F 与 RTL8305 自动协商不兼容)。该目录仍不在门禁扫描语料内(约 4200 处位号噪声,位号类型识别未做前不纳入)。"
}
},
"id_aliases": {}
+1 -1
View File
@@ -514,7 +514,7 @@
2
],
"check_dangling": true,
"cursor_note": "分模块各自递增:NET 01~21(属主 docs/问题记录/CH395F_Trap_Records.md)、GD5F 01~07(GD5F2GQ5UE_Trap_Records.md)、RTC 01(SD2506_Trap_Records.md)。批 4(2026-10-21)已把空格形 `Trap NN` 与中文形 `陷阱 N` 统一成 `TRAP-<MOD>-<nn>`,数字不变、只补模块码(§7.1)。**已知盲区(登记而非静默放过)**:docs/硬件平台/V0.0_网表详细分析报告.md(5 处)与 V0.1_网表详细分析报告.md(1 处)里的 `Trap05` 语义确指 `TRAP-NET-05`(CH395F 与 RTL8305 自动协商不兼容),但 docs/硬件平台/ 与 docs/芯片手册/ 同为门禁语料与本工具的共同排除目录,故本批不动笔、也不声称已合规。",
"cursor_note": "分模块各自递增:NET 01~21(属主 docs/问题记录/CH395F_Trap_Records.md)、GD5F 01~07(GD5F2GQ5UE_Trap_Records.md)、RTC 01(SD2506_Trap_Records.md)。批 4(2026-10-21)已把空格形 `Trap NN` 与中文形 `陷阱 N` 统一成 `TRAP-<MOD>-<nn>`,数字不变、只补模块码(§7.1)。**已知盲区(登记而非静默放过)**:docs/硬件平台/V0.0_网表详细分析报告.md(5 处)与 V0.1_网表详细分析报告.md(1 处)里的 `Trap05` 语义确指 `TRAP-NET-05`(CH395F 与 RTL8305 自动协商不兼容)已于批 7 统一为 TRAP-NET-05(6 处,改名工具已解除对本目录的排除);本目录**仍不在门禁扫描语料内**:粗测有约 4200 处 R/C/D/J/X/U/T 位号,位号类型识别做完前纳入会让 --strict 天天为位号拦提交,那等于把闸门变成噪音源。",
"adjacent_cues": [
"Trap",
"trap",
+1 -1
View File
@@ -45,7 +45,7 @@ ALIASES_FILE = REPO_ROOT / "scripts" / "id_aliases.json"
# 与 scripts/id_registry.json 的 excluded_paths 同口径(改名同样不该碰这些语料)
EXCLUDED = [
"Lib/", "Middlewares/", "Drivers/STM32F4xx_HAL_Driver/", "Drivers/CMSIS/",
"MDK-ARM/RTE/", "docs/芯片手册/", "docs/硬件平台/", "docs/内存管理/data/",
"MDK-ARM/RTE/", "docs/芯片手册/", "docs/内存管理/data/",
"simulator/tests/ref/", "node_modules/", "build/", "ci-artifacts/",
]
SKIP_LINE = re.compile(r"\[示例\]|\[计划\]|^\s*\|\s*20\d\d-\d\d-\d\d\s*\|")