Files
STM32F4-Base/docs/硬件平台/V0.1_网表详细分析报告.md
T
wandering1 d1e6bb4ba7 W5波+N-19收口:FTP鉴权落地、Trap25三连定案修复(N-30)、N-20/N-23/N-26
N-19 FTP 鉴权:
- lftpd_auth(USER/PASS 状态机 + 连续5次失败锁60s)+ SHA-256
  (user||pwd) 口令哈希;config.ini [ftp] 段 user/pwd_hash/write,
  出厂 admin/admin 在用有启动告警;lftpd_log.c 删除并入 lftpd_auth
- ftp_cfg 配置读写;台架 ftp_auth_bench.py 13/13

N-30 / Trap 25(CH395F_Trap_Records.md 四次定案全记录):
- 修复1 closed-with-data accept:客户端发完正常 FIN 后芯片按
  FUN_PARA(0x09) §5.52② 保留 Socket+RX 缓冲,旧代码把 CLOSED 一律
  relisten 自毁缓冲 → STOR 必挂 425;改为接受"已关但可读"连接排空
- 修复2 丢 CONNECT 中断探针 net_lost_connect_probe + last_peer_port
  幽灵甄别(拆链窗口握手完成但中断丢失,双信源去抖补 accept)
- 修复3 send_list/send_nlst 批量单发:背靠背 ~60B 小段毒化芯片 TX
  (芯片报 SEND_OK 但对端全丢),整份目录一次性写入
- 证伪存档:固定沉降/Socket 轮换冷却/listen 门控(台架 v7 矩阵)
- 台架工具 test/board/ch395f_reuse_bench.{c,h} + host 脚本存档
  (不注册编译;实验分支 n30-chip-bench 保留)

N-20:Error_Handler 死循环降级(记录+复位路径)
N-23:scripts/check_registration.py 双端注册反向校验(pre-commit)
N-26:GD5F NAND 直 DMA 调用方缓冲窗口断言

验证:BUILD_OK 0/0;ftp_regression 连跑 4 轮 11/11(修复前
LIST#4/#7 100% 挂、STOR#2 曾 100% 425);ftp_auth_bench 13/13;
@test 启动标记 PASS;ci_local L0+L0.5 全过;doc-links 通过。
登记簿 N-30 已销项。
2026-10-11 18:50:24 +08:00

360 lines
36 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# V0.1 硬件网表详细分析报告(相对 V0.0 差异版)
> **一句话结论**:V0.1 与 V0.0 **架构完全一致**(19 颗芯片料号、电源树、隔离串口段、以太网链路、存储/RTC 全部原封未动);本次改版 = **裁剪(删 LCD/按键/TVS)+ 大面积 U17 引脚重排 + ADC 前端通道对应关系置换 + 调试口改型(H2→CN2 XH-3A)**。V0.0 待办中仅 **A1(D1/D2 去焊盘)落实**,B1/B2/B3②/A2 均未处理;**网表未新增任何设计缺陷类型**,但引脚重排使 **固件 BSP 必须整体重映射**,且 **AIN↔ADC 通道置换(17 路中 13 路变了)必须同步软件通道表**,否则采到的量全部对错通道。
>
> **数据手册逐脚核对结论(§11,依据 `docs/芯片手册/stm32f405rg.md`,DS8626 Rev 12)**:① 网表脚号 = 数据手册 LQFP144 脚号(**V0.0 报告"编号与数据手册不符"的结论系作者记忆偏差,予以推翻**,V0.0 §3.3-3 的实物抽查项由手册证据直接关闭);② V0.1 全部 30 个换脚网络经手册 AF/GPIO/ADC/SWD 核对**电气上全部成立**,未发现"不可能连接";③ V0.1 处理了 V0.0 的 2 处引脚问题(**2026-10-09 勘误:其中 ADC17 一处定性有误,只有 SWCLK 是真实设计缺陷**,见 §4.6 勘误段):SWCLK(V0.0 接 104=PA12,非 JTAG 脚 → **V0.0 实板 SWD 不通**,实测飞线至 PA14 调通 → V0.1 改 109=PA14)与 ADC17(V0.0 接 46=PB0 → V0.1 改 44=PC4;PB0 实为 `ADC12_IN8` 并非无效脚,此改版的实际收益是**解除与 LED2 的复用**,PC4 的正确通道号是 **`ADC12_IN14`**);④ 新核出 3 项关注点(V7 VCAP 电容值未标注 / V8 子板 LED 3 线落在 PC13/14/15 的 3mA 限 / V9 V0.1 主板 SDIO 固定引脚组全部被占用)。
>
> **本文只写差异**。凡本文未提及的器件、网络、电路,均与 V0.0 完全一致,结论直接沿用 `V0.0_网表详细分析报告.md`(下称"V0.0 报告")。
- **分析对象**:`V0.1.tel`(341 行,本目录)
- **对照基线**:`V0.0.tel`(369 行)+ V0.0 报告全文
- **核实方法**:脚本对两份网表做 $PACKAGES/$NETS 逐脚比对(元件增删、封装/值变更、网络增删、网络成员变更、逐引脚归属网络变更),差异逐条人工复核(方法见附录 A);U17 全部脚位另按数据手册(`docs/芯片手册/stm32f405rg.md` Table 7/9)逐脚核对功能/AF,并与 `STM32F407-Demo.ioc`、`Inc/main.h` 代码引脚交叉验证(§11)
- **分析日期**:2026-09-20
## 1. 差异速览
### 1.1 规模
| 指标 | V0.0 | V0.1 | Δ |
|---|---|---|---|
| 网表行数 | 369 | 341 | −28 |
| 元件($PACKAGES 收录) | 236 | 215 | −21(删 22、增 1) |
| 网络数 | 251 | 229 | −22(删 22、增 0) |
| 网表中出现的引脚数 | 940 | 846 | −94 |
| 成员发生变化的共有网络 | — | 55 | 见 §3–§7 |
### 1.2 六类变化
| # | 类别 | 内容 | 详见 |
|---|---|---|---|
| Δ1 | 接口裁剪 | **H1(16pin 8080 LCD 接口)整体删除**(14 个 LCD_* 网络);**SW2~SW9 八键 + R44/R50/R53~R58 上拉删除**(KEY1~8 网络) | §2、§3 |
| Δ2 | 调试口改型 | H2(2.54 排针)→ **CN2(XH-3A,2.5mm 3P)**,脚序保持 1=SWDIO / 2=SWCLK / 3=GND;SWCLK 的 U17 脚位 104→109 | §2、§4.6 |
| Δ3 | U17 引脚重排 | TPAFE 控制组、UART 三对旋转、SPI1(→U18 耦合线)、U18 桥 11 线、SWCLK、ADC17、LED——共 30 个网络换脚(网名不变);被删 LCD 腾出的引脚区(U17.5~15/18/28/29)接收了桥/SPI1 信号 | §4 |
| Δ4 | LED 丝印倒序 | 6 路 LED 网名不变,但网名↔实板 LED 编号的对应倒序;U17.44/45/46 职责变化 | §5 |
| Δ5 | ADC 前端通道置换 | 17 路 AIN/V_ZL ↔ ADC 输入的电阻对应关系被置换(13 路变化、4 路不变)——**功能性变化,软件通道表必改** | §6 |
| Δ6 | 电源/地去容清理 | 删 D1/D2(**A1 落实**)、C21(3.3V 去耦)、C97(TPAFE AVCC 去耦);**C3(RTL8305 1.0V 大容)封装由 220µF/BD6.3 改为 C0805(值未标注)** ⚠️ | §7 |
### 1.3 V0.0 待办在 V0.1 的落实核对(对照 V0.0 §3、§5.3)
| V0.0 项 | V0.1 状态 | 网表证据 |
|---|---|---|
| **A1** D1/D2 去焊盘 | ✅ **已落实** | D1/D2 及其 GND/3.3V/G3.3V 成员全部消失 |
| **A2** U4 料号改 B0303S | ❌ 未落实 | $PACKAGES 仍记 `PWRM-TH_B0505S-1WR3` |
| **B1** V33IN 串肖特基 | ❌ 未落实 | U2.37 仍直连 3.3V 网,无新增二极管 |
| **B1** 引 MDC/MDIO | ❌ 未落实 | U2.25/26 仍无任何网络 |
| **B2** 主轨改 buck + 5V 排针 + TVS | ❌ 未落实 | U6/U7 SOT-223 不变、G3.3V 双轨不变、无新增 5V 接口/TVS |
| **B3②** SPI1→U18(EXTKO1/2) 耦合改线 | ⚪ **复核后撤销**(无需改线) | 数据手册核对:两线落点(PD8/PD9→PF1/PF2)均无 SPI1 AF 且代码从未配置,实为悬空 GPIO 线,"SPI 流量干扰"不成立;风险并入 B3①(13 条悬空线配置安全电平,§4.4/§11.3) |
| **V0.0 §3.4** T1 远端 4/5/12/13 对地旁路 | ❌ 未落实 | 仍悬空 |
| **V0.0 §3.4** 网名 'R16' 与电阻 R16 撞名改名 | ❌ 未落实 | 网络 'R16' 仍存在 |
| **V0.0 §3.4** TPAFE RESET 改 GPIO | ❌ 未落实 | HRST 仍为 R16 10k + C31 上电 RC 脉冲电路 |
| V0.0 §5.3 R35 1.5k→10k(视 U8 分档) | —(条件项) | 仍 1.5k,分档未核则维持原判 |
| 代码项(B3① GPIO 配置、功能级断言) | 与网表无关 | 见本文 §9 固件同步清单(重排后工作量变大) |
### 1.4 V0.1 新增关注项(建议编号 V1~V10,纳入待核)
| # | 事项 | 建议 |
|---|---|---|
| V1 | **AIN↔ADC 通道置换**(§6):13/17 路对应关系变化,网名 AINn 与 ADCn 编号不再一致 | 已确认(2026-10-09):置换本身按走线安排处理,固件通道映射表、UI 显示、自检上报同步更新并逐通道实测(→ `ADC通道映射说明.md`);**但"8 路电气量分属两片转换器"不是走线优化,是缺陷 → 见 V10** |
| V2 | **C3 封装/值变更**(§7):AVDDL 1.0V 大容 BD6.3 220µF → C0805,网表值 '{Value}' 未记录 | 对照 RTL8305 V10OUT 输出电容要求(V0.0 §4.2,手册"需一只外部二极管+大容")核实 0805 容值(0805 上限约 22~47µF)与耐压/ESR;值补录进 BOM |
| V3 | **LED 网名↔丝印倒序**(§5):net LEDn 现驱动 LED(11−n) | 与结构/丝印确认 LED1 位置定义,固件 LED 序表同步 |
| V4 | **SWCLK 引脚 104→109**(§4.6):数据手册核对确认 104=PA12(无 JTAG 功能,V0.0 设计缺陷 B4——实测 V0.0 实板 SWD 不通,飞线至 PA14 后调通)、109=PA14=JTCK-SWCLK ✓——**V0.0 §3.3-3 的"实物抽查 3 脚"待核项由手册证据关闭**(25=NRST、23/24=PH0/PH1、73=PB12 全部与手册一致),V0.1 SWD 连接正确 | 上板时 CN2 烧录/调试通断验证一次(仅物理连线确认) |
| V5 | C97 删除:TPAFE AVCC 去耦由 6 减为 5 颗 | 可接受,留意 ADC 噪声底是否有实测劣化 |
| V6 | 网表卫生:C3、CN2 值未标注('{Value}') | BOM 补值 |
| V7 | **VCAP1/VCAP2(U17.71/106)旁路电容 C94/C79 值未标注**:数据手册要求 VCAP1/VCAP2 各接 1~4.7µF 低 ESR 陶瓷电容至 VSS(内部 1.2V LDO 稳定裕量) | 实测 C94/C79 容值(若为 100nF 则低于手册建议,168MHz 满负荷下 1.2V 轨纹量/稳定性需留意);值补录 BOM |
| V8 | **V15/J3/F3 子板 LED 3 线落在 PC13/PC14/PC15**(脚 7/8/9):备份域电源开关供电,手册 Note 3 限**灌流 ≤3mA、≤2MHz、不可作电流源** | 核子板 LED 驱动电流需求;超 3mA 则 V0.2 移足驱力脚或子板加三极管扩展 |
| V9 | **V0.1 主板 SDIO 固定引脚组全被占用**:PC6/PC7/PC8/PC9/PA8(TPAFE 控制)+ PA9(USART1)+ PC10/PC11/PC12/PD2(UART4/UART5)= SDIO 全部 10 脚(F407 SDIO 无重映射) | 架构约束备案:V0.1 主板**无 SDIO 能力**;当前设计不受影响(代码未启用 SDIO,FatFs 卷在 SPI NAND 上) |
| **V10** | **8 路电气量分属两片转换器(V0.1 硬件缺陷,V0.2 改版项)**:UA/UN/IA 走 TPAFE5160(16 位、同步、±5 V 双极性),UB/UC/IB/IC/IN 走 STM32 ADC(12 位、顺序扫描、0~3.3 V 单极性)→ 跨转换器通道**无同一时刻性**(相位关系不确定)、精度与量程不一致。详见 §6-3 与 [`ADC通道映射说明.md`](ADC通道映射说明.md) §1(2026-10-10 定性更正,登记簿 **N-18**) | **V0.2 改版**:8 路电气量 UA/UB/UC/UN/IA/IB/IC/IN **全部接 TPAFE5160**,与 TPAFE 上 5 路备用路(AIN5/13/7/15/12)对调串联电阻在转换器一侧的目的地——元件数量与料号不变,属走线级改动。V0.1 现板:主板侧只做逐通道监视,**不做**跨转换器的相位/功率/功率因数/矢量运算 |
## 2. 元件级变化
### 2.1 删除(22 只)
| 组 | 元件 | 原功能(V0.0) |
|---|---|---|
| LCD 接口 | H1(HDR-TH_16P-P2.54-V-F) | 8080 并口显示模块座(V0.0 §2.2 显示/扩展) |
| 按键 | SW2~SW9(KEY-SMD_4P ×8) | 面板 8 键(V0.0 上拉表 KEY1~8) |
| 按键上拉 | R44、R50、R53、R54、R55、R56、R57、R58(10K ×8) | KEY1~8 上拉(原 10K 组 9 只,仅保留 NRST 上拉 R40) |
| 调试排针 | H2(HDR-TH_3P-P2.54-V-F) | SWD 3P 排针(由 CN2 替代) |
| 轨 TVS | D1、D2(SMB_L4.6 ×2) | 3.3V / G3.3V 对地管——**即 A1 的 DNP 管,本次直接去焊盘,A1 关闭** |
| 去耦 | C21(C0603) | 3.3V 主轨去耦一颗(V0.0 判"数量充足",减 1 无碍) |
| 去耦 | C97(C0603) | TPAFE AVCC 去耦 6→5 颗(V5) |
### 2.2 新增(1 只)
| 元件 | 封装 | 连接 |
|---|---|---|
| CN2 | `CONN-TH_3P-P2.50_HCTL_XH-3A-L`(XH-3A,2.5mm) | 1=SWDIO、2=SWCLK、3=GND——**与 H2 脚序一致**,仅连接器改型(V0.0 §4.1 SWD 功能不变,但 SWD 线对调试器线材要求改为 XH 端子) |
### 2.3 封装/值变更(1 只)⚠️
| 元件 | V0.0 | V0.1 | 说明 |
|---|---|---|---|
| C3 | CAP-SMD_BD6.3(钽/大容)220uF | **C0805 '{Value}'** | AVDDL(RTL8305 片内 LDO 1.0V 输出)大容改小封装、值未记录——见 V2 |
C45(5V 轨 220µF)仍为 BD6.3,未受影响。
## 3. 删除的网络(22 个,无新增网络)
- **LCD_*(14)**:LCD_DB0~7、LCD_RD、LCD_WR、LCD_CS、LCD_CD、LCD_RST、LCD_BK(原 H1.2~H1.15 ↔ U17)。
- **KEY1~8(8)**:原 SW2~SW9.3/.4 + R44/50/53~58.1 + U17.58/59/60/63/64/65/66/67。
其余 229 个网络名称与 V0.0 完全相同;其中 55 个成员/引脚有变化(§4~§7)。
## 4. U17 引脚重排总表(网名不变、仅换脚——共 30 网)
> **网表脚号即数据手册 LQFP144 脚号**(§11.1 已逐脚证实,V0.0 报告"编号与手册不符"的结论作废);下表"脚"列均为此编号,括号内为手册引脚名。U18 B 侧(子板侧)、U3 数据总线 DB0~15、CH395F SPI、GD NAND SPI、I2C RTC、INT、ST_UART0/2 的 U17 脚位**全部不变**。
### 4.1 TPAFE5160 控制组(7 网,V0.0 §4.5)
| 网络 | V0.0 脚(引脚名) | V0.1 脚(引脚名) | 备注 |
|---|---|---|---|
| TP_FRSTDATA | 115 (PD1) | **96 (PC6)** | 仍经 R24 4.7k 上拉;⚠ 代码仍配 PD1,待迁 |
| TP_BUSY | 123 (PD7) | **97 (PC7)** | ⚠ 代码仍配 PD7(EXTI),待迁 |
| TP_RD | 117 (PD3) | **98 (PC8)** | ⚠ 代码仍配 PD3,待迁 |
| TP_CONVST | 118 (PD4) | **99 (PC9)** | U3.9/10 侧不变;⚠ 代码仍配 PD4,待迁 |
| TP_OS2 | 55 (PF15) | **100 (PA8)** | ⚠ 代码仍配 PF15,待迁 |
| TP_OS1 | 54 (PF14) | **103 (PA11)** | ⚠ 代码仍配 PF14,待迁 |
| TP_OS0 | 53 (PF13) | **104 (PA12)** | 原 SWCLK 脚;⚠ 代码仍配 PF13,待迁 |
(并口数据 DB0~15 = U17.56/57/87~94/124~129/132 = PG0~PG15 **不变**,数据手册核对全部为 FT I/O ✓;OS 三线从原 53/54/55 移入 96~104 块。7 个新脚均为合法 GPIO,无 AF 冲突,但 PC6~PC9/PA8 与 SDIO 固定引脚组重叠——当前设计不用 SDIO,无实际冲突,见 §11.3/ V9。)
### 4.2 UART 三对旋转(6 网)——隔离器↔USART 对应关系变化
| 隔离器/通道 | 网络 | V0.0 脚(引脚名/外设) | V0.1 脚(引脚名/外设) |
|---|---|---|---|
| U9(RS232#1) | ST_TX1 / ST_RX1 | 119/122 = PD5/PD6(USART2,AF7) | **113/116 = PC12/PD2(UART5,AF8)** |
| U10(RS232#3) | ST_TX3 / ST_RX3 | 111/112 = PC10/PC11(UART4,AF5) | **119/122 = PD5/PD6(USART2,AF7)** |
| U11(RS485#4) | ST_TX4 / ST_RX4 | 113/116 = PC12/PD2(UART5,AF8) | **111/112 = PC10/PC11(UART4,AF5)** |
三组引脚在 {111,112}→U11、{113,116}→U9、{119,122}→U10 之间做了**一轮轮换**——即每路串口收发器挂接的 MCU USART 外设实例变了(不是简单走线挪位)。**数据手册核对:V0.1 三对引脚的 AF 全部成立**(UART4=AF5 on PC10/PC11 ✓、UART5=AF8 on PC12/PD2 ✓、USART2=AF7 on PD5/PD6 ✓),且**当前代码(.ioc/main.h)已按 V0.1 组合配置**(PC10/PC11=UART4、PC12/PD2=UART5、PD5/PD6=USART2),上板后仍需逐口回环验证(V0.0 §5.1-8 方法)。ST_TX0/RX0(U5 直连,101/102=PA9/PA10,USART1)与 ST_TX2/RX2(69/70=PB10/PB11,USART3)**不变**。
### 4.3 RS485 方向控制(1 网)
| 网络 | V0.0 脚(引脚名) | V0.1 脚(引脚名) | 备注 |
|---|---|---|---|
| ST_DIR4 | 114 (PD0) | **110 (PA15)** | U8 光耦 LED 阴极侧,逻辑不变(V0.0 §4.4);PA15 为合法 GPIO(属 PA13~PD04 SWJ 重映射区,SWD 模式下作 GPIO 无碍);**代码(main.h)已配 PA15 ✓ 与 V0.1 一致** |
### 4.4 SPI1 → U18 耦合线(2 网,B3② 相关)
| 网络 | V0.0 脚 | V0.1 脚 | 备注 |
|---|---|---|---|
| SPI1_SIMO | 78 (PD9) | **12 (PF2)** | 仍接 U18.35;NAND 侧 SPI1(GD_*,133~135/141)不变 |
| SPI1_SOMI | 77 (PD8) | **13 (PF3)** | 仍接 U18.33 |
⚠ **数据手册核对更正(§11.3)**:PD8/PD9(V0.0)与 PF1/PF2(V0.1)**均无 SPI1 的 AF**(F407 的 SPI1_MOSI/MISO 仅可选 PA7/PB5/PC12,而 PB5 已被 NAND 的 SPI1 占用,同一 SPI1 外设不能同时落在两组引脚)——这两线**不是 SPI1 信号**,只是 MCU 侧从未配置的**悬空 GPIO 线**(.ioc/代码均无 PD8/PD9/PF1/PF2 配置)。V0.0 报告 B3② 所述"NAND SPI 流量调制子板 2 线"**不成立**(无驱动源,线为浮空);真实风险归入 B3① 同类:**13 条悬空 GPIO 线**(桥 11 线 + 镜像 2 线)驱动子板输出电平不定,靠代码配置安全默认电平解决,无需改线。
### 4.5 U18 桥 A 侧 11 线(B3 信号组,全部换脚)
| 网络 | V0.0 脚(引脚名) | V0.1 脚(引脚名) | | 网络 | V0.0 脚(引脚名) | V0.1 脚(引脚名) |
|---|---|---|---|---|---|---|
| H16 | 79 (PD10) | **5 (PE6)** | | DQM0 | 96 (PC6) | **14 (PF4)** |
| V15 | 80 (PD11) | **7 (PC13)** ⚠3mA | | WAIT1 | 97 (PC7) | **15 (PF5)** |
| J3 | 81 (PD12) | **8 (PC14)** ⚠3mA | | DQM1 | 98 (PC8) | **18 (PF6)** |
| F3 | 82 (PD13) | **9 (PC15)** ⚠3mA | | RAS | 99 (PC9) | **29 (PC3)** |
| R16 | 85 (PD14) | **10 (PF0)** | | SDCKE | 109 (PA14) | **28 (PC2)** |
| K3 | 86 (PD15) | **11 (PF1)** | | | | |
B3 性质不变(仍为 A 侧输入悬空驱动子板输出的浮空风险,修复仍是"代码配置 11 个 GPIO 安全电平");**这 11 脚现在占用的是原 LCD 引脚区**,V0.0 §4.1/§5.2 中列的旧脚号在 V0.1 全部作废。⚠ V15/J3/F3 落在 PC13/PC14/PC15(备份域电源开关供电,数据手册 Note 3:**灌流 ≤3mA、≤2MHz、不可作电流源**)——子板 LED 驱动电流若超 3mA 亮度受限,见 V8。另注意 V0.0 报告中"SDCKE=109"的脚在 V0.0 实为 PA14(SWCLK 脚)——与 V0.0 SWCLK 记在 104 同属该板网表 SWD/SDCKE 脚位记录混乱的一部分,V0.1 已全部理顺(§11.3)。
### 4.6 SWD 与 ADC17(2 网)
| 网络 | V0.0 脚(引脚名) | V0.1 脚(引脚名) | 数据手册核对 |
|---|---|---|---|
| SWCLK | 104 = **PA12**(AF:USART1_RTS/CAN1_TX/OTG_FS_DP,**无 JTAG 功能**) | **109 = PA14 = JTCK-SWCLK ✓** | **V0.0 设计缺陷(B4),V0.1 修复**。实测证实:V0.0 实板 SWD 不通(网表与 PCB 一致,SWCLK 真的接在 PA12 上)——用户飞线至 PA14 后方可调试;V0.1 已更正 |
| ADC17 | 46 = **PB0**(= `ADC12_IN8`,**2026-10-09 勘误:PB0 确为 ADC 输入脚**,见本节末勘误段) | **44 = PC4 = `ADC12_IN14` ✓** | **(原判"V0.0 的 ADC17 通道电气上无效"已于 2026-10-09 勘误:PB0 = `ADC12_IN8` 是有效 ADC 脚,实际问题是与 LED2 复用、代码未读)**;V0.1 改接 PC4——**代码实现该通道必须用 `ADC_CHANNEL_14`**(`ADC_CHANNEL_12` = PC2 / pin 30,写错即读到另一只脚) |
(SWDIO 仍 U17.105 = PA13 = JTMS-SWDIO ✓ 不变;46(PB0) 被 LED2 网络接管、44(PC4) 原为 LED1 网络。V0.0 报告"引脚编号与数据手册不符"的判断不适用于这两脚——编号体系本身与手册一致,V0.0 错在把 SWCLK 画到了 104。)
> **2026-10-09 勘误(依据 DS8626 引脚表逐脚复核,见 §11 引脚核对表)**:
> ① **PC4 = LQFP144 pin 44 = `ADC12_IN14`**,并非本报告早期写的 `ADC12_IN12`(`ADC_CHANNEL_12` 对应 **PC2 = pin 30**)——代码须用 **`ADC_CHANNEL_14`**;
> ② **PB0 = pin 46 = `ADC12_IN8`**(PB1 = pin 47 = `ADC12_IN9`),故 V0.0 把 ADC17 接 pin 46 **电气上是有效通道**,"PB0 非 ADC 输入脚 / 该通道电气上死"的定性**不成立**——V0.1 改到 PC4 的**实际收益是解除与 LED2(PB0)的复用**,不是救活死通道;
> ③ PC5 = `ADC12_IN15`(不是 `ADC12_IN13`;IN13 = PC3)。
> 语义分配(UA/UB/UC/UN、IA/IB/IC/IN、V_ZL2=温度)与 17 路端到端映射已固化到 [`docs/硬件平台/ADC通道映射说明.md`](ADC通道映射说明.md)。
## 5. LED 对应关系变化(6 网,网名不变)
V0.0 §2.2/§4.7 的 6 路 MCU 控制 LED(实板位号 LED5~LED10,阴极经 R59~R64 1k→3.3V,该侧接法不变):
| 网名 | V0.0:U17 脚 → 实板 LED | V0.1:U17 脚 → 实板 LED |
|---|---|---|
| LED1 | 44 → LED5 | **45 → LED10** |
| LED2 | 45 → LED6 | **46 → LED9** |
| LED3 | 47 → LED7 | 47 → **LED8** |
| LED4 | 48 → LED8 | 48 → **LED7** |
| LED5 | 49 → LED9 | 49 → **LED6** |
| LED6 | 50 → LED10 | 50 → **LED5** |
即网名↔实板位号由 `LED(n+4)` 改为 `LED(11−n)`(**丝印顺序相对控制顺序倒序**),且网名 LED1/LED2 的驱动脚从 44/45 移到 45/46(44 让位给 ADC17)。CH395F 状态灯 LED1~LED4(U1/Q1 侧,$1N* 网络)**不变**。固件 LED 序表与结构丝印须按 V3 对齐。
## 6. ADC 前端通道对应置换(17 路中 13 路变化)⚠️ V0.1 最大软件风险
前端拓扑不变(每路仍为 R 串联 1k + 1k 到 *_GND + 滤波 C,V0.0 §4.7"源阻抗匹配"结论沿用);**ADCn 网络侧(电阻→ADC 输入、滤波电容、U3/U17 脚位)除 ADC17 换脚外全部不变**;变化发生在**电阻→U5(子板计量芯片)侧的 AIN 网络归属**:U5 各计量输出脚现在被接到不同的 ADC 输入。
| U5 脚 | 网络 | V0.0:经 Rxx → 到 | V0.1:经 Rxx → 到 | 变化 |
|---|---|---|---|---|
| A3 | AIN1 | R12 → ADC1(TPAFE#1) | R31 → **ADC7**(TPAFE#7) | ✅ |
| B7 | AIN2 | R17 → ADC2 | R52 → **ADC17**(STM32,U17.44) | ✅ |
| C14 | AIN3 | R19 → ADC3 | R20 → **ADC12**(STM32) | ✅ |
| A4 | AIN4 | R23 → ADC4 | R28 → **ADC6** | ✅ |
| B6 | AIN5 | R26 → ADC5 | R12 → **ADC1** | ✅ |
| C13 | AIN6 | R28 → ADC6 | R5 → **ADC9**(STM32) | ✅ |
| A5 | AIN7 | R31 → ADC7 | R23 → **ADC4** | ✅ |
| B5 | AIN8 | R13 → ADC8 | R19 → **ADC3** | ✅ |
| A8 | AIN9 | R5 → ADC9(STM32) | R49 → **ADC15**(STM32) | ✅ |
| C9 | AIN10 | R46 → ADC10 | R46 → ADC10 | 不变 |
| C10 | AIN11 | R48 → ADC11 | R48 → ADC11 | 不变 |
| B3 | AIN12 | R20 → ADC12(STM32) | R13 → **ADC8**(TPAFE#8) | ✅ |
| A6 | AIN13 | R45 → ADC13 | R17 → **ADC2** | ✅ |
| C12 | AIN14 | R47 → ADC14 | R45 → **ADC13** | ✅ |
| B4 | AIN15 | R49 → ADC15 | R26 → **ADC5** | ✅ |
| A7 | V_ZL1 | R51 → ADC16 | R51 → ADC16 | 不变 |
| C11 | V_ZL2 | R52 → ADC17(STM32) | R47 → **ADC14** | ✅ |
要点:
1. **TPAFE 8 路 ↔ STM32 ADC 9 路的"归属"也变了**:V0.1 中 TPAFE(U3)采 U5 的 B6/A6/B5/A5/B4/A4/A3/B3,STM32 ADC 采 C13/C9/C10/C14/C12/C11/A8/B7——两族通道数(8+9)不变,成员重分。
2. 网名 AINn 与 ADCn 编号**不再一一对应**(如 AIN1→ADC7),任何按"AINn=ADCn"假设的代码/文档/测试都会静默采错通道——这正是 V0.0 §1.6 警示的"静默死亡"型风险,务必以本表建立映射。
3. 置换疑似按 U5 连接器物理位置重排走线(TPAFE 8 路恰为 B6→B3 降序)。**2026-10-10 更正**:置换本身(AINn↔ADCn 编号打乱)可视为走线安排,但**"8 路电气量分到 TPAFE 与 STM32 两侧"属 V0.1 硬件缺陷**——2026-10-09 曾按"计量在子板、主板只做监视"把它确认为"有意设计",该定性**作废**。缺陷实质:TPAFE 8 通道同步采样、STM32 ADC 顺序扫描且两者无共同采样触发 → 跨转换器通道**无同一时刻性 / 相位关系不确定**;16 位 ±5 V 双极性 vs 12 位 0~3.3 V 单极性 → 同族量精度与量程不一致。**下一版硬件(V0.2)需把 8 路电气量 UA/UB/UC/UN/IA/IB/IC/IN 全部改接 TPAFE5160**(与 TPAFE 上 5 路备用路对调串联电阻目的地,BOM 不变),登记簿 **N-18**。语义分配(UA/UB/UC/UN、IA/IB/IC/IN、V_ZL2=温度检测,其余 8 路备用)与 17 路端到端映射已固化为 [`docs/硬件平台/ADC通道映射说明.md`](ADC通道映射说明.md)(缺陷实质与改版要求见其 §1);固件通道映射表、UI 通道显示、自检逐通道注入验证(V0.0 §5.1-6)按该表执行。
## 7. 电源/地网络成员变化(拓扑不变)
电源树(V0.0 §2.1)整体成立,仅成员减少:
| 网络 | 移除成员 | 新增成员 | 说明 |
|---|---|---|---|
| 3.3V | C21.1、D2.1、H1.1、R44/50/53~58.2(×11) | — | LCD 供电、8 键上拉、TVS、去耦 1 颗 |
| GND | C21.2、D1.2、D2.2、H1.16、H2.3、SW2~SW9 各 2 脚(×21) | **CN2.3** | |
| G3.3V | D1.1 | — | 其余成员不变(U6/U9/U10/U11/R34/L4 等) |
| AGND | C97.2 | — | |
| AVCC | C97.1 | — | TPAFE AVCC 去耦 6→5(V5) |
VDD50、5V、C3.3V、CGND、AVDDL(成员同,仅 C3 封装变)、STM_VDDA、PGND **成员零变化**。U4/L4 隔离电源、U20~U22 跨地电容、L1/L2/L3/L6 均不变。
## 8. 明确未变的系统(快速确认用)
- **19 颗芯片料号/型号全部不变**(V0.0 §1.2 总表照用,仅 U4 料号勘误仍未做);U1/U2/T1/J1/J2/X1/X2/X3 以太网链路逐脚不变(Trap05 结论沿用);
- 隔离串口段 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. 固件同步修改清单(V0.1 上板前必做)
> 现状(`Inc/main.h` + `STM32F407-Demo.ioc` 核对):**DE/LED/SWD/五组 UART 与 TPAFE 控制组 7 线均已迁到 V0.1 引脚**(PA15、PC5/PB0/PB1/PB2/PF11/PF12、PA13/PA14、PC10/PC11+PC12/PD2+PD5/PD6;TPAFE = PC6/PC8/PC9/PC7/PA12/PA11/PA8)——2026-09-21 台架验证:`ADC init: OK`、无 BUSY 超时(见 §9-1)。
1. **TPAFE 控制组 7 线迁移**(.ioc 重新生成 + main.h):PD1→PC6(FRSTDATA)、PD3→PC8(RD)、PD4→PC9(CONVST)、PD7→PC7(BUSY)、PF13/14/15→PA12/PA11/PA8(OS0/OS1/OS2)——数据手册核对 7 脚均为合法 GPIO ✓(§4.1/§11.3)。**已完成并台架验证(2026-09-21)**:CubeMX 重生成 .ioc/main.h,驱动为宏驱动、逻辑零改动(仅注释同步),烧录后 `ADC init: OK` / 无 BUSY 超时,TCP 7003/8888 两轮探测通过。
2. **UART 实例确认**:代码已是 V0.1 组合(RS485#4=UART4 PC10/PC11、RS232#1=UART5 PC12/PD2、RS232#3=USART2 PD5/PD6),AF 均与手册相符 ✓;上板逐口回环验证即可。
3. **ADC 通道映射表重写**(§6):**已落地** → [`docs/硬件平台/ADC通道映射说明.md`](ADC通道映射说明.md)(语义 UA/UB/UC/UN、IA/IB/IC/IN、V_ZL2=温度检测,其余 8 路备用;含 TPAFE `buf[0..7]` 下标映射、STM32 通道宏、自检注入口径)。STM32 侧 9 路中 8 路在 PA0~PA7(IN0~IN7),**网名 ADC17(pin 44 = PC4)实现时用 `ADC_CHANNEL_14`**——原文写的 `ADC_CHANNEL_12` 与"第 17 路 = V_ZL2"均已勘误:V0.1 中 **ADC17 网名承载 AIN2 = UB**,**V_ZL2 走 ADC14 = PA5 = `ADC12_IN5`**。当前代码未启用 STM32 ADC(`HAL_ADC_MODULE_ENABLED` 注释状态),属实现时的注意事项。
4. **裁剪**:删除/停用 LCD(H1 8080)与 KEY1~8 相关代码(若有);面板按键功能如仍需要,需另立需求(V0.1 已无板上按键,仅 SW1 复位保留)。
5. **13 条悬空 GPIO 线配置安全默认电平**(B3①):U18 桥 11 线(PE6/PC13/PC14/PC15/PF0/PF1/PF4/PF5/PF6/PC2/PC3,LED 灭/继电器断/告警静默)+ SPI 镜像 2 线(PF1/PF2);其中 3 线在 PC13/14/15,**只能灌流 ≤3mA**(V8)。
6. **EXTKI×3 读取(如启用)必须配在 PE2/PE3/PE4(脚 1/2/3)**——V0.0 §5.2 写的"PC13/14/15"是引脚搞错(那三脚在 V0.1 已被 V15/J3/F3 占用,见 §11.2);硬件通路(U18 A 侧→PE2/3/4)V0.1 未变。
7. V0.0 §5.2 功能级断言照做(ADC 注入读回、RS485 回环、CH395F PHY 寄存器读回)。
## 10. 上板验证补充(在 V0.0 §5.1 基础上追加)
1. 按 §6 表逐通道注入(重点验证 13 个置换通道):U5 侧注 1V → 对应新 ADC 通道读数变化;
2. 三条串口按 §4.2 新对应回环(RS232#1/#3、RS485#4 与 USART 实例对应确认);
3. SWD 用 CN2(XH-3A)烧录/调试通(V4 引脚对应已由数据手册关闭,此项仅验证物理连线/线材);
4. 6 路 LED 按新丝印序逐一点亮核对(V3);
5. C3 位置实测:确认实际容值与 1.0V(AVDDL)轨质量(V2)。
## 11. 数据手册逐脚核对(U17 = STM32F407ZGT6,LQFP-144)
> 依据:`docs/芯片手册/stm32f405rg.md`(DS8626 Rev 12,STM32F405xx/407xx 数据手册)Table 7"引脚与球定义"(144 脚全部提取)+ Table 9"复用功能映射";交叉验证对象:`STM32F407-Demo.ioc`(59 配置脚)、`Inc/main.h` 引脚定义。数据提取脚本见附录 A。
### 11.1 根本性更正:网表脚号 = 数据手册 LQFP144 脚号
对 V0.1 网表出现的全部 U17 脚位 + V0.0 独有脚位逐一对照手册 Table 7,**无一例外全部吻合**(抽样证据):
| 网表脚 | 手册引脚名 | 网表网络 | 网表脚 | 手册引脚名 | 网表网络 |
|---|---|---|---|---|---|
| 1/2/3 | PE2/PE3/PE4 | ST_IN_D4/C3/E4 | 23/24 | PH0/PH1(OSC_IN/OUT) | HSE 8MHz |
| 4 | PE5 | CH395F INT | 25 | **NRST** | 复位 |
| 5 | PE6 | H16(V0.1 新用) | 31/32/33 | VSSA/VREF+/VDDA | AGND / 3.3V |
| 6 / 143 | VBAT / PDR_ON | 3.3V(内部 LDO 开启 ✓) | 34~43 | PA0~PA7 | ADC9~16(IN0~IN7) |
| 44 / 46 | PC4 / PB0 | ADC17(V0.1)/ LED2 | 45 / 48 / 49 / 50 | PC5 / PB2 / PF11 / PF12 | LED1/4/5/6 |
| 53/54/55 | PF13/PF14/PF15 | TP_OS0/1/2(V0.0 位) | 56/57 | PG0/PG1 | DB0/DB1 |
| 69/70 | PB10/PB11 | ST_TX2/RX2(USART3) | 73~76 | PB12~PB15 | CH395F SPI2 |
| 87~94 | PG2~PG9 | DB2~DB9 | 101/102 | PA9/PA10 | ST_TX0/RX0(USART1 调试) |
| 105 / 109 | PA13 / PA14 | SWDIO / SWCLK | 111/112/113 | PC10/PC11/PC12 | ST_TX4/RX4 / ST_TX1 |
| 116/119/122 | PD2/PD5/PD6 | ST_RX1 / ST_TX3 / ST_RX3 | 115/117/118/123 | PD1/PD3/PD4/PD7 | TP_FRSTDATA/RD/CONVST/BUSY(V0.0 位) |
| 124~128 / 132 | PGA~PGE / PGF | DB10~DB15 | 133~135 | PB3/PB4/PB5 | GD SCK/MISO/MOSI |
| 136/137 | PB6/PB7 | SD_SCL/SDA(I2C1 RTC) | 138 | BOOT0 | GND ✓ |
| 139/141/142 | PB8/PE0/PE1 | GD_WP/CS/HOLD | 144 | VDD | 3.3V |
**结论**:V0.0 报告"封装引脚编号(NRST=25、HSE=23/24、PB12-15=73-76、VDDA=32/33)与常见数据手册图记忆不符"是**作者记忆偏差**(V0.0 分析时未实际比对在库手册)——网表编号与手册完全一致。因此:
- V0.0 §3.3-3 的**实物抽查 3 脚**(25=NRST、23/24=8MHz 波形、73=PB12)**由手册证据直接关闭**,无需再实测;
- 自本报告起,所有网表脚号可直接按手册读引脚名(§4/§11.3 各表已注明);
- 手册 Table 7 中 48/49 为合并行:**48 = PB2/BOOT1、49 = PF11**(F407 无 BOOT1 功能,PB2 为普通 GPIO)。
### 11.2 对 V0.0 报告的追溯更正(5 处)
| 位置 | V0.0 报告原文 | 事实(手册 + 代码核对) |
|---|---|---|
| §4.2 | "INT→PA0(pin 4)" | pin 4 = **PE5**;代码 `CH395_INT_Pin = GPIO_PIN_5 / GPIOE`(main.h L60-61)——一直是 PE5,报告误判为 PA0 |
| §4.6 | "ST_IN_E4/C3/D4→pin 3/2/1 = PC15/PC14/PC13(标准 LQFP-144 编号…)" | pin 1/2/3 = **PE2/PE3/PE4**(即 ST_IN_D4/C3/E4);EXTKI 三线实际在 PE2/PE3/PE4(V0.1 未变);**V0.0 §5.2"启用 PC13/14/15 读 EXTKI"是引脚搞错**——V0.1 中 PC13/14/15 已被 V15/J3/F3 子板 LED 线占用 |
| §3.3-3 / §4.1 | "封装引脚编号…与常见数据手册图记忆不符→判定网表正确,待实物抽查" | 与数据手册一致(§11.1);抽查项由手册证据关闭 |
| V0.0 §4.1 / §5.3 | SWCLK = U17.104 | pin 104 = **PA12(无 JTAG 功能,AF 为 USART1_RTS/CAN1_TX/OTG_DP)**;实测证实 **V0.0 实板 SWD 不通**(用户飞线至 PA14=109 后方可调试)→ **V0.0 真实设计缺陷(B4)**,V0.1 已更正 |
| V0.0 §4.7 / §1.6 | "ADC17→U17.46" 列为正常通道 | pin 46 = **PB0 = `ADC12_IN8`**(**2026-10-09 勘误:PB0 确为 ADC 输入脚**,原判"非 ADC 输入脚 / 电气上无效"不成立)→ V0.0 的"ADC17"(V_ZL2)通道电气上有效,只是与 LED 复用冲突、代码未读;V0.1 改接 44 = PC4 = **`ADC12_IN14`**(代码用 `ADC_CHANNEL_14`) |
另:V0.0 §2.2 存储项"GD5F2GQ5UE + SD 卡(FatFs)"表述有误——两版网表均无 SDIO 引脚,代码 FatFs 卷在 **SPI NAND** 上(`App/cfg/cfg_file_store_mcu.c` 头部:"NAND 上 FatFS 文件 /config.ini(卷根)"),主板本无 SD 卡/SDIO。
### 11.3 V0.1 换脚引脚逐脚核对(30 网全部"电气成立")
| 网络 | V0.1 脚(引脚名) | 所需功能 | 数据手册支持(Table 9) | 判定 |
|---|---|---|---|---|
| SWDIO / SWCLK | 105 (PA13) / 109 (PA14) | SWD | JTMS-SWDIO / JTCK-SWCLK(AF0,SWD 固定脚) | ✓(SWCLK 为 V0.0 错误修复) |
| ST_DIR4 | 110 (PA15) | GPIO 输出 | FT I/O(SWJ 区,SWD 模式可作 GPIO) | ✓(代码已配 PA15) |
| ST_TX4 / ST_RX4 | 111/112 (PC10/PC11) | UART4 TX/RX | AF5 = UART4_TX/RX | ✓ |
| ST_TX1 / ST_RX1 | 113/116 (PC12/PD2) | UART5 TX/RX | AF8 = UART5_TX/RX | ✓ |
| ST_TX3 / ST_RX3 | 119/122 (PD5/PD6) | USART2 TX/RX | AF7 = USART2_TX/RX | ✓ |
| TP_FRSTDATA | 96 (PC6) | GPIO | FT I/O(与 SDIO_D2 同脚,设计不用 SDIO) | ✓ |
| TP_BUSY | 97 (PC7) | GPIO | (SDIO_D3 同脚) | ✓ |
| TP_RD | 98 (PC8) | GPIO | (SDIO_D4 同脚) | ✓ |
| TP_CONVST | 99 (PC9) | GPIO | (SDIO_D5 同脚) | ✓ |
| TP_OS2 | 100 (PA8) | GPIO | (SDIO_D6/MCO1 同脚) | ✓ |
| TP_OS1 | 103 (PA11) | GPIO | (OTG_FS_DM 同脚,未用) | ✓ |
| TP_OS0 | 104 (PA12) | GPIO | (OTG_FS_DP 同脚,未用) | ✓ |
| ADC17 | 44 (PC4) | ADC 输入 | **ADC12_IN14** | ✓(代码实现用 `ADC_CHANNEL_14`;`ADC_CHANNEL_12` = PC2/pin 30,勿混——见 §4.6 勘误) |
| LED1 | 45 (PC5) | GPIO | (ADC12_IN15 同脚,作 GPIO 无碍) | ✓ |
| LED2/3/4 | 46/47/48 (PB0/PB1/PB2) | GPIO | PB2=PB2/BOOT1,F407 普通 GPIO | ✓ |
| LED5/6 | 49/50 (PF11/PF12) | GPIO | FT I/O | ✓ |
| H16 | 5 (PE6) | GPIO | FT I/O | ✓ |
| V15 / J3 / F3 | 7/8/9 (PC13/PC14/PC15) | GPIO 输出(子板 LED) | **备份域电源开关供电:灌流 ≤3mA、≤2MHz、不可作电流源**(Note 3) | ⚠ 见 V8 |
| R16 / K3 | 10/11 (PF0/PF1) | GPIO | FT I/O | ✓ |
| SPI1_SIMO / SOMI | 12/13 (PF2/PF3) | (名义 SPI1) | **PF2/PF3 无 SPI1 的 AF**(SPI1_MOSI/MISO 仅 PA7/PB5/PC12;PB5 已用于 NAND 的 SPI1,同一 SPI1 不能双落点) | ⚠ 见下 |
| DQM0 / WAIT1 / DQM1 | 14/15/18 (PF4/PF5/PF6) | GPIO | FT I/O | ✓ |
| SDCKE / RAS | 28/29 (PC2/PC3) | GPIO | FT I/O | ✓ |
**两项 ⚠ 的定性**:
1. **SPI 镜像 2 线不是 SPI1 信号**:V0.0(PD8/PD9)与 V0.1(PF1/PF2)的落点都无 SPI1 AF,且代码从未配置这两脚 → 实为**悬空 GPIO 线**,V0.0 报告 B3②"SPI 流量调制子板 EXTKO1/2"不成立;风险并入 B3①(合计 **13 条悬空 GPIO 线**需代码配置安全电平,§9-5)。若确需把 NAND SPI1 流量镜像给子板,F407 单 SPI1 外设无法同时落在两组引脚,V0.2 需改方案(子板侧独立 SPI 或 GPIO 位带)。
2. **PC13/14/15 驱动能力受限**:3 路子板 LED 线(V15/J3/F3)落在备份域 GPIO,只能灌 ≤3mA——子板 LED 电流需求需核(V8);V0.0 时代这 3 线在 PD11/PD12/PD13(足驱力),V0.1 换到 PC13/14/15 是**驱动能力降级**,亮度/限流设计需同步确认。
### 11.4 不变引脚抽查(V0.1 = V0.0,全部与手册一致)
- **电源脚**:VDD×12(17/30/39/52/62/72/84/95/108/121/131/144)→3.3V ✓;VSS×9(16/38/51/61/83/94/107/120/130)→GND ✓;VBAT(6)→3.3V(1.65~3.6V 范围内)✓;PDR_ON(143)→3.3V(片内 LDO 开启配置 ✓);VSSA(31)→AGND ✓;VREF+(32)→3.3V ✓(VREF+=VDDA 为标准接法);VCAP1(71)/VCAP2(106)→C94/C79→GND ✓(**值未标注,手册要求 1~4.7µF 低 ESR**,V7)
- **BOOT0(138)→GND** ✓(复位默认从 Flash 启动,配置正确)
- HSE:PH0/PH1(23/24)+12pF×2 ✓;CH395F INT:PE5(4) GPIO ✓;EXTKI×3:PE2/PE3/PE4(1/2/3) GPIO ✓
- TPAFE 并口 DB0~15 = PG0~PG15(56/57/87~94/124~129/132)FT I/O ✓
- SPI1(NAND):PB3/4/5(133~135)=SCK/MISO/MOSI(AF5)✓,CS/HOLD/WP=PE0(141)/PE1(142)/PB8(139) GPIO ✓
- SPI2(CH395F):PB13/14/15(74~76)=SCK/MISO/MOSI(AF5)✓,CS=PB12(73) GPIO ✓
- I2C1(RTC SD2506):PB6/PB7(136/137)=SCL/SDA(AF4)✓
- USART1(调试+U5 直连):PA9/PA10(101/102) AF7 ✓;USART3(U5 直连):PB10/PB11(69/70) AF7 ✓
- **代码 59 配置脚(.ioc)在 V0.1 网表中全部存在** ✓(其中 TPAFE 控制 7 脚 PD1/PD3/PD4/PD7/PF13/14/15 在 V0.1 硬件上已悬空——代码迁移前这组信号失效,§9-1)
- U1~U19(除 U17 外 18 颗):V0.0 报告的逐脚核实基于各芯片自身脚位编号,与 U17 编号体系更正无关,**结论全部沿用**
### 11.5 综合判定
1. **V0.1 的 U17 连接经数据手册核对全部电气成立**(AF/GPIO/ADC/SWD/电源/BOOT0 逐项无误),未发现"不可能连接";
2. V0.1 **修复了 V0.0 的 2 处真实设计缺陷**(B4:SWCLK 104→109——V0.0 实板 SWD 不通,实测飞线调通;B5:ADC17 46→44)——除接口裁剪外,这是本次改版最有实质的硬件收益;
3. 新核出 3 项关注点:**V7**(VCAP 电容值未标注)、**V8**(PC13/14/15 的 3mA 驱动限制 vs 子板 LED)、**V9**(V0.1 主板 SDIO 能力被完全占用——当前无碍,架构约束备案);
4. 代码侧同步项收敛为 4 条:TPAFE 控制 7 线迁移(§9-1)、13 条悬空 GPIO 安全电平(§9-5)、网名 ADC17(PC4)用 `ADC_CHANNEL_14`(§9-3,原写 `ADC_CHANNEL_12` 已勘误)、EXTKI 读 PE2/3/4 而非 PC13/14/15(§9-6);
5. V0.0 报告"引脚编号与数据手册不符"结论**撤销**,实物抽查项关闭,5 处文字表述追溯更正(§11.2)。
## 附录 A:比对方法
- 脚本将两份 .tel 的 $PACKAGES/$NETS 归一化(折行拼接、逗号分词)后做五个方向的集合比对:元件增删、元件封装/值变更、网络增删、共有网络成员变更、共有引脚归属变更;输出 22 删 / 1 增元件、22 删 / 0 增网络、55 个成员变化网络、逐引脚差异表,全部差异已人工回读原文复核,无误报。
- 统计口径:元件数按 $PACKAGES 收录引用计;引脚数按 $NETS 中"位号.脚"去重计。
- 数据手册核对(§11):用正则从 `docs/芯片手册/stm32f405rg.md` 的 Table 7(引脚定义,单行 HTML 大表)提取 LQFP144 列全部 144 脚号→引脚名(48/49 为合并行,单独解析:48=PB2/BOOT1、49=PF11)与 Table 9(AF 映射);与 V0.1 网表 U17 脚位、`.ioc` 59 配置脚、`Inc/main.h` 引脚宏三方交叉。