From ee25b10053d778ecc1926ee76e4a56674a860ce6 Mon Sep 17 00:00:00 2001 From: Wanderingss <1624155937@qq.com> Date: Thu, 22 Oct 2026 06:33:00 +0800 Subject: [PATCH] =?UTF-8?q?chore(=E7=BC=96=E5=8F=B7):=20=E7=A1=AC=E4=BB=B6?= =?UTF-8?q?=E7=BD=91=E8=A1=A8=E6=8A=A5=E5=91=8A=E9=87=8C=E7=9A=84=20Trap05?= =?UTF-8?q?=20=E7=BB=9F=E4=B8=80=E4=B8=BA=20TRAP-NET-05?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- docs/硬件平台/V0.0_网表详细分析报告.md | 10 +++++----- docs/硬件平台/V0.1_网表详细分析报告.md | 2 +- scripts/id_aliases.json | 9 +++++++++ scripts/id_registry.json | 2 +- scripts/rename_ids.py | 2 +- 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/docs/硬件平台/V0.0_网表详细分析报告.md b/docs/硬件平台/V0.0_网表详细分析报告.md index 8e9e4771..bdabe28c 100644 --- a/docs/硬件平台/V0.0_网表详细分析报告.md +++ b/docs/硬件平台/V0.0_网表详细分析报告.md @@ -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-`,数字不变、只补模块码(§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--`,数字不变、只补模块码(§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", diff --git a/scripts/rename_ids.py b/scripts/rename_ids.py index 58c72f22..a07e223d 100644 --- a/scripts/rename_ids.py +++ b/scripts/rename_ids.py @@ -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*\|")