⚡

板卡拓扑分析Skill board-topology-analysis

该技能用于解析嘉立创EDA“板卡拓扑导出器”插件导出的 board-topology/1.1 格式拓扑 JSON 网表,自动识别主控芯片、板载传感器、对外接口(网口/RS232/RS485/USB/排针)与通信模块(4G/WiFi/LoRa/以太网),输出引脚级连接关系、控制时序与分压/ADC 模拟前端说明,并依据数据手册做引脚使用合规检查(禁用引脚被连接、必须接却悬空、配置脚无偏置),最终产出可供嵌入式工程师直接上手的 Markdown 中文分析报告。关键词:板卡拓扑分析、拓扑JSON解析、原理图网表分析、主控芯片识别、引脚连接关系、引脚合规检查、禁用引脚、该接没接、悬空检查、控制时序、三极管开关链路、分压计算、ADC模拟前端、传感器识别、对外接口接线、通信模块识别、4G模组GNSS、RS232/RS485、ESP32、嘉立创EDA、嵌入式硬件开发、数据手册规则收割。

嵌入式软件 0 次安装 10 次浏览 更新于 10/19/2026

板卡拓扑分析(board-topology-analysis)

把嘉立创EDA 插件导出的板卡拓扑 JSON,变成嵌入式工程师能直接上手开发的中文报告。 分析是纯只读工作:绝不修改原理图/PCB;如需回 EDA 查证,只允许只读查询 API。

输入

用户会给出一个 *.topology.json(或让你分析“当前板卡”——先在 topo/ 目录找,找不到就问用户要文件)。

⚠️ 禁止整读拓扑 JSON 文件:文件约 200KB ≈ 5-7 万 token,整读一次烧掉大量上下文且没有意义。所有查询一律走配套脚本。流程原则:脚本先行、AI 只处理脚本标注的残留(待确认残表、管型未知、语义解释),不要手工重做脚本能算的事:

node <技能目录>/scripts/q.js <文件> info          # 概览
node <技能目录>/scripts/q.js <文件> main          # 主控识别打分(关键词+功能连接密度)
node <技能目录>/scripts/q.js <文件> classify      # 全板器件分类(一次跑全, 输出待确认残表)
node <技能目录>/scripts/q.js <文件> comp U14      # 器件详情+引脚表
node <技能目录>/scripts/q.js <文件> net SCL2      # 网络成员
node <技能目录>/scripts/q.js <文件> pin U14 5     # 引脚详情+同网络成员
node <技能目录>/scripts/q.js <文件> links U14     # 器件邻接表(每脚→网络→对端, 代替逐net手查)
node <技能目录>/scripts/q.js <文件> audit U14     # 引脚审计(五类+配置脚自动追上下拉/分压)
node <技能目录>/scripts/q.js <文件> control       # 控制网络全板扫描(驱动/偏置/开关管链/直连电源疑点)
node <技能目录>/scripts/q.js <文件> dividers      # 分压结构扫描(自动算比值与电压)
node <技能目录>/scripts/q.js <文件> pincheck      # 引脚合规检查(禁用却用了/该接没接; exit 2=有错误)
node <技能目录>/scripts/q.js <文件> value R46     # 元件值解析为数值
node <技能目录>/scripts/q.js <文件> find 485      # 关键字搜索器件
node <技能目录>/scripts/q.js <文件> verify 报告.md # 自检(交付前必跑)

单条命令输出几十到一两千 token(pincheck/classify/control 全板输出居上限,仍远低于整读)。整读文件只允许一种情况:verify 报告时读报告本身。

数据结构(board-topology/1.1,通常无需直接看原文):

  • components[]:ref/name/value/mpn/fp/desc/datasheet/lcsc/inBom/toPcb,pins 为 [引脚号, 引脚名, 网络] 数组,网络为空=悬空。
  • nets:{ 网络名: [[位号, 引脚号], ...] } 反查最快。
  • value 是元件值(“10kΩ”、“100nF”)——分压比、上下拉默认电平必须用 q.js value 解析后计算,报告里凡分压/上拉必须带阻值。
  • datasheet:立创库数据手册链接(约九成器件有)——查手册优先用它。
  • excluded:工程级差集(在工程中但不在当前网表),混有其他原理图文档的器件,只能当“可能有未完成设计”的提示,不得直接当本板器件写结论。
  • mainCandidates:按引脚数排序的主控候选。
  • main(可选):用户在插件导出面板点选指定的主控位号。

分析流程

1. 识别主控

若 JSON 顶层有 main 字段(用户在插件面板点选指定的主控),直接采用它作为分析中心,不再猜测——用户已经替你做了判断。未指定时跑 q.js <文件> main:脚本按 主控关键词(references/keywords.md 主控表,仅匹配 name/mpn)> 功能性连接密度(跨非电源地网络连接的非无源位号数,阻容/磁珠/晶振/测试点已排除)> 引脚数 打分并输出前三与证据。不要手工重算连接密度(电源地网会把所有器件连成一片,4G 模组会假性胜出)。两个以上大芯片(如主控 + 4G 模块)以“程序存储/运行主系统”者为主控;打分与直觉冲突时列证据问用户。

确定主控后,从它的 pins 提取引脚功能:pinName 就是芯片引脚名(GPIO4、UART0_RXD、SD_IO1、MIPI_CSI_RX_D0…),这是“以主控为中心发散”的索引。

2. 器件分类

跑 q.js <文件> classify:脚本解析 references/keywords.md 关键词表给全板器件分类(关键词命中优先于位号直觉——RJ45 网口坐可能用 D 位号;无源位号只认“对外连接器”关键词),一次输出全部分类 + 待确认残表。AI 只需处理残表(通常 0-5 个),按连接关系判断(如接到 DB9 的收发器=RS232);确属关键词表缺口的(如新封装族),把关键词补进 keywords.md 再重跑,让下一块板更省。

2b. 引脚审计(分类后、下结论前必做)

对每个功能性器件跑 q.js <文件> audit <Ref>,得到 电源/地/配置/信号/悬空 五类引脚清单,配置脚自动追上下拉(↳ 上拉 R3(10kΩ)→ESP_VBAT(轨3.3V)、↳ 分压 R36(10kΩ)→VCC / R38(10kΩ)→GND ⇒ 节点≈…、↳ 无上下拉电阻)。规则:

  • 配置类引脚(SDO/CSB/ADDR/A0/SEL/EN/DIR/SHDN/RST/BOOT…)的结论以偏置行为准(含 0Ω 跳线追轨电压);无上下拉且无驱动 的配置脚默认电平不定,进 pincheck/待查。真实教训:漏追 SDO 导致把已确定的 I2C 地址写成“待确认”——现在偏置行是自动生成的,直接引用。
  • 电源/地类快速确认即可;信号类进入连接关系解析;悬空类列入报告“悬空与预留”。
  • 结论只允许从审计表里出,不允许跳过审计直接按器件名脑补。

2c. 引脚使用合规检查(禁用却用了 / 该接没接)

跑 q.js <文件> pincheck(对全部 U/Q 器件)。两层规则:

  1. 通用规则(无需手册):NC/保留脚(NC/DNC/RESERVED/RSV)被连接;电源脚悬空(VDD/VCC/VDDA/VDDPST… 前缀匹配)或接地脚接非地网络;散热盘(EP/EPAD)未接地;配置脚悬空;同前缀整组悬空折叠成“接口未用”信息行。输出 [错误]/[警告]/[信息] REF.pin 名 (网络): 原因,exit 2 = 有错误。
  2. MPN 规则库:references/pin_rules.json(技能基线)+ <拓扑目录>/pin_rules.local.json(本板收割,同名键覆盖)。规则动词:forbid_connect(手册禁用)、must_gnd/must_vcc/must_net(必须接)、warn_float/warn_connect、allow_float(查实可悬空,用来压制通用错误——没有它销不了账)。

处理闭环(错误/警告不能留到交付):

  • pincheck 输出的 MPN 规则未覆盖清单 = 收割候选。在 5b 手册查询阶段对这些型号:ds_fetch 下载 → ds_grep --rule-scan 抽规则句 → 蒸馏成规则写进 pin_rules.local.json(note 必须带手册页码)→ 重跑 pincheck 销账。
  • 查实“可悬空”的写 allow_float;查实有问题的进报告第九章 + 第十章待查清单(设计疑点)。
  • 板级验证过的规则可手工晋升进技能的 references/pin_rules.json(跨板受益)。
  • 结论必须来自手册原句或通用电气常识,查不到依据又解释不了的错误保持原样上报,不许为了清零编规则。

3. 解析连接关系(报告的核心)

对每个功能性器件跑 q.js <文件> links <Ref> 一次拿全邻接表(每脚 → 网络 → 对端成员;电源/地网自动折叠免列),再对关键总线用 net 命令补细节。不要逐引脚手查。输出格式:

P4 的 GPIO4(U1.4,网络 SCL2)与 BMP581 的 SCK(U14.2)相连,I2C2 时钟线。

写作规则:

  • 主控侧给“引脚名 + GPIO 复用含义”(如 GPIO4 当 SCL2 用),对端给“位号.引脚 + 引脚名”。
  • 总线类(I2C/SPI/UART/SDIO/RMII)注明总线编号和速率相关线索(如有串联电阻、上拉)。
  • 每条断言都能在 JSON 里指出依据(net 名 + 两端 ref.pin)。不得编造连接。

4. 控制时序与使用前提(用户最看重的部分之一)

跑 q.js <文件> control:全板扫描控制网络(网名模式 *EN/*CTL/*RST/*BOOT/*MODE…、成员引脚名、三极管栅极三准则),每网输出 驱动方(GPIO)、偏置(含分压计算)、开关管(管型+高/低边+漏极/集电极去向一跳)、受控对端;电源/地网上的使能脚单独标出 ★使能/配置脚直连电源地(核对极性!)。AI 的工作是把每条链写成语义范式,不要重算结构:

  1. 三极管/MOS 操作方式直接写成“拉高/拉低 GPIO → 器件动作”,不要让读者自己推:
    • N-MOS(AO3400/2N7002/SI2302,源极接地):拉高 GPIO → 导通。用于低边开关(继电器、背光、地侧通断)或把开漏节点拉低。
    • P-MOS(AO3401/SI2301,源极接电源):拉低 GPIO → 导通(栅极常有一只上拉电阻维持默认关断)。用于高边电源开关。
    • NPN/PNP 三极管:同 N-MOS/P-MOS 方向;“数字三极管”(DTC143Z、MMUN2211 等,内置基极电阻)可由 GPIO 直驱,集电极/漏极输出是开漏——受控芯片引脚若无外部上拉,恢复电平依赖芯片内部上拉(写进待确认)。control 标“管型未知”的进待查清单。
    • 写法示例(这是标准句式):

      复位 4G 模组:拉高 GPIO27 → Q6(DTC143Z NPN)导通 → RESET 拉低 → ML307C 复位;释放 GPIO27 后靠模组内部上拉恢复。 继电器输出:拉高 GPIO18 → Q5(AO3400 N-MOS)导通 → K1 线圈得电(D3 续流)→ L_IN↔L_OUT 接通。

  2. 偏置行为(control 已算好)写进结论:分压 = 默认电平为分压点(如 10k 上拉 + 10k 下拉 → 1.65V 临界电平,必须写“上电后立即由固件驱动到确定电平”)。
  3. ★直连条目必须逐条核对极性——真实案例:RS485 收发器 RE# 接 VCC,按主流手册(低有效)会禁用接收输出,属于疑似设计问题,进待查清单。
  4. 复用链(一条 UART 经模拟开关分到两路收发器)要写清:切到哪路、由哪个 GPIO 控制、拉高/拉低对应哪路;切换器件(BL1551B 等 SPDT)的选择极性查不到手册就两种可能都写明后果并进待查清单。

5. ADC、分压与模拟前端(必须给出可计算的比值)

跑 q.js <文件> dividers:全板扫分压结构并自动算好比值与电压(电源反馈网标“正常”、A/B 总线标“偏置/终端”、小阻值采样标“电流采样”)。AI 只做两件事:把与本板功能相关的行代入报告(换算公式 + 用途解释),以及对 ADC 网络核对主控侧引脚名含 ADC:

  • 分压:输出“信号 → R1(值) → 节点 → R2(值) → GND,采集电压 = 被测电压 × R2/(R1+R2)”。电平转换场景写明:如 5V 域 TX 经 10k 串 + 20k 下拉 → 5V×20/30 = 3.33V,可直接进 3.3V GPIO。
  • 采样电阻:电流通路写明采样电阻值(如互感器 → 2Ω → 计量芯片 IP),换算公式留到手册章节给参数位置。
  • 上拉/下拉:写阻值和默认电平;一上一下写分压结果并提示上电时序风险。
  • 位号前缀 R 但 value 带容值单位(如 100nF)→ 实为电容(图纸位号习惯问题),按电容解读(dividers 已自动排除)。

配置/地址引脚结论直接引用 audit 偏置行(真实教训:漏追 SDO 导致地址“待确认”,其实图上有):

  • SDO/A0 拉低 → I2C 地址取低地址(如 BMP581 SDO=GND → 0x46)
  • CSB 拉高 → 选 I2C 模式;拉低 → SPI 模式
  • 结论句式:“接口模式与地址已从图纸确定:I2C @ 0x46(CSB→R27 4.7k 上拉 VCC 选 I2C,SDO→R26 4.7k 下拉选 0x46)”

5b. 芯片手册在线查询(不确定的型号先查再写)

对型号功能/协议拿不准的芯片,按顺序尝试,不要凭印象断言:

  1. EDA 内建立创库(若网桥/扩展可用):eda.lib_Device.search('HLW8032') 返回立创商城器件数据(含数据手册链接字段),可顺藤下载 PDF。
  2. WebSearch 搜 型号 datasheet pdf,下载后用 Read 工具读 PDF 对应章节。
  3. 下载:python scripts/ds_fetch.py <位号> --json <拓扑JSON>(自动取 datasheet 链接下载到 datasheets/<MPN>.pdf;加 --kw 也可粗定位)。
  4. 检索结论用脚本,不要整页读 PDF:python scripts/ds_grep.py datasheets/<MPN>.pdf --kw 关键词1 关键词2——行级提取命中行±上下文并报告文字层覆盖率(--page N 深读某页;--ctx 0 更省;路径给目录则一次查多份)。输出“扫描版无文字层”或行级信息不够时,才用 Read 按页视觉阅读该 PDF。
  5. 引脚规则句收割(配合 2c 的 pincheck):python scripts/ds_grep.py datasheets/<MPN>.pdf --rule-scan——只抽“指令动词+引脚样 token”双命中的行(如 “VENB must be held HIGH or LOW, and mustn’t be floated”、“必须接地”),比 --kw 噪声小得多。AI 读命中行 → 蒸馏成规则(forbid_connect/must_gnd/must_vcc/allow_float…,note 带页码)→ 写进 <拓扑目录>/pin_rules.local.json → 重跑 pincheck 销账。
  6. 查到的结论直接更新报告;查不到的保持“待查手册”并列明具体待查项。
  7. 用户要求时可把手册整理成“可直接写代码的协议速查”:通信接口与参数(波特率/帧格式/地址)→ 帧结构表 → 寄存器/命令表 → 换算公式(代入板上阻值)→ 初始化/读数伪代码。

5c. 待查清单销账(触发语:「继续分析待查芯片手册清单」「销账」)

报告第十章是结构化结账清单,每行自带销账原料(数据手册链接 + 板上已算参数)。触发后逐条处理,单条流程固定:

  1. python scripts/ds_fetch.py <位号> --json <拓扑JSON> 下载手册,python scripts/ds_grep.py datasheets/<MPN>.pdf --kw <章节关键词> 行级检索结论(省 token;报“扫描版无文字层”才视觉读页);
  2. 读出结论,按类型二选一落盘:
    • 协议/参数/寄存器类 → 生成 速查/<芯片名>_速查.md(通信参数→帧/寄存器表→换算公式代入板上阻值→伪代码),结论摘要写回报告对应章节;
    • 极性/使能/兼容性/引脚规则类 → 结论直接写回报告对应章节;引脚规则同时蒸馏进 pin_rules.local.json 并重跑 pincheck(第九章的 错误/警告 应同步销账或标“设计疑点”);
  3. 该行状态更新(附来源:手册版本+页码):
    • 结论正常 → 已结案,从清单删除(结论已沉淀在正文/速查);
    • 结论与图纸矛盾 → 设计疑点(保留在清单,标红注明冲突点,建议实测/改版);
    • 手册无法回答(依赖实物)→ 待实测(保留在清单,把“待查”改写为附操作步骤的实测项,如标准负载标定法)。

状态机:待查 → 已结案 | 设计疑点 | 待实测。报告正文与速查文档是结论的家,清单只是未决项的账本——销账一轮后清单应只剩疑点和实测项。

6. 对外接口的使用方式(用户明确要求)

对每个对外连接器(排针 H/J/CN、端子、DB9、RJ45、USB、IPEX/SMA 天线座、TF 卡座、SIM 座):

  1. 引脚表:引脚号 → 网络 → 信号功能 → 对端。
  2. 使用说明,规则固定:
    • 串口交叉:本板 TX 接外部设备 RX,本板 RX 接外部设备 TX;注明电平(TTL 3V3 还是经 RS232/485 收发器转换后的标准电平)。
    • 标准连接器给标准定义:DB9 针式 2=RXD 3=TXD 5=GND(对 DCE 视具体情况标注并提示核对);RJ45 用网口变压器的说明线序走 MDI;USB 给 VBUS/D-/D+/GND。
    • 供电能力:接口上的 VCC 来自哪路电源(顺着 net 查到 LDO/DCDC 输出),能查到就写“H1.2 供电 5V(来自 DCDC U?.4,理论最大 X——查不到电流规格就删掉这句)”。
    • 示例句式:H1.1 = TX(3V3 TTL)→ 外接模块的 RX;H1.2 = RX ← 外接模块的 TX;H1.3 = GND 必须共地。

7. 通信模块与特殊功能

每个模块写:型号/位号、与主控的通信口(哪组 UART/SPI/USB,引脚级)、电源域、开关机/复位控制(PWRKEY/RESET 由哪个 GPIO 控制、时序要求写“待查模块手册”)、天线(IPEX 座位号)、特殊功能:

  • 4G 模组:ML307C/Air780*/A7670/EC800 等多带 GNSS/蓝牙/音频——型号后缀和手册决定,确定的写确定,不确定的写“该型号部分批次带 GNSS,待确认”。板上有独立 GNSS 天线座且连到模块 GNSS_ANT 引脚的,可以确定支持。
  • WiFi/BT 模组:注明天线和是否与主控共存。
  • 以太网:写 PHY/MAC 芯片型号、接口类型(RMII/SPI),若用 SPI 以太网芯片(W5500/CH390/DM9051)注明占用哪组 SPI 和中断脚。

报告模板(输出为 Markdown 文件,命名 板卡分析_<工程名>.md)

# <工程名> 板卡拓扑分析报告
> 数据源:<文件名> | 导出时间:<exportedAt> | 器件 N / 网络 M

## 一、板卡概览
一段话:这块板子是什么(主控+主要外设构成),几层功能(主控—通信/接口—对外)。

## 二、主控芯片
| 项目 | 内容 |
| 型号 | ESP32-P4(U1,QFN104)|
| 关键资源 | 从引脚名统计:UART×n、SPI×n、I2C×n、ADC 通道、SDIO、RMII、USB… |

## 三、板载传感器
### BMP581 气压传感器(U14)
- 连接:SCL2 ← U1.GPIO4;SDA2 ← U1.GPIO5(引脚级列表)
- 接口与地址已从图纸确定:I2C @ 0x46(CSB→R27 4.7k 上拉选 I2C,SDO→R26 4.7k 下拉选低地址;引用 audit 偏置行)

## 四、对外接口(含使用方式)
### RS232(DB9 CN3,经 SP3232 U??)
| 引脚 | 网络 | 功能 | 外部接线 |
| 2 | RS232_RX | 数据接收 ← 收发器 TXD | 接对方 TXD(交叉)|
…每图一个“怎么用”结论。

## 五、通信模块
### 4G Cat.1 ML307C-GC(U32)
- 主通信:UART? → U1.GPIOxx/GPIOyy
- 开关机:4G_PWRKEY ← GPIO??(时序要求待查手册)
- 特殊功能:内置 GNSS(GNSS 天线座 GNSS 连 U32.GNSS_ANT)
- SIM:CARD1(USIM 座)

## 六、控制时序与使用前提
(逐条:要做什么 → 拉高/拉低哪个网络(哪个 GPIO)→ 依据)

## 七、主控引脚连接总表
| 主控引脚 | 复用功能 | 网络 | 对端 | 说明 |
(全部功能性连接,按引脚号排序)

## 八、悬空引脚与未用资源
主控悬空的 GPIO 列表(可分配给新功能,pincheck 的“整组悬空”信息行直接引用);刚放置未连线的器件提醒。

## 九、引脚使用合规性检查(pincheck 结果 + 销账状态)
| 级别 | 器件.引脚 | 现象 | 依据/处理 | 状态 |
|---|---|---|---|---|
| 错误 | U1.41 VDD_MIPI_DPHY | 电源脚悬空 | 手册 x.x 节: MIPI 未用可悬空 → allow_float | 已销账 |
| 警告 | U1.54 NC | NC 脚接 ESP_VDD_HP | 手册 p.x: 该 NC 内部接 HP 域, 接法正确 | 已销账 |
(来自 `q.js pincheck`;初始照抄脚本输出,销账后逐行更新状态:已销账 / 设计疑点(进第十章) / 待实测;“依据”必须给手册页码或明确写“通用电气常识”。)

## 十、待查芯片手册清单(结构化账本,触发「继续分析待查芯片手册清单」即可销账)
| 芯片 | 位号 | 待确认问题 | 数据手册链接 | 板上相关参数 | 状态 |
|---|---|---|---|---|---|
| BL1551B | U22/U23 | ENB 有效电平与导通侧映射(决定 232/485 切换方向) | (自动取 JSON datasheet 字段) | COMM_CTRL(GPIO39)→ENB | 待查 |
(硬性要求:链接从拓扑 JSON 的 datasheet 字段取;“板上相关参数”必须带已算好的阻值/网络;状态 ∈ {待查, 已结案, 设计疑点, 待实测},已结案行在结论写入正文/速查后从清单删除并标注手册来源。)

8. 交付前自检(必跑,防低级错误)

报告写完后必须执行:

node <技能目录>/scripts/q.js <文件> verify <报告.md>
node <技能目录>/scripts/q.js <文件> pincheck

verify 抽取报告中所有 U1.4 形式的引脚断言,逐条对网表核验(位号存在、引脚存在、显示实际网络)。exit 2 = 有存疑条目,必须逐条修正报告后重跑,直到 0 条存疑才能交付。 真实教训:靠肉眼复查漏掉了 SPI 引脚映射写反,机械核验能系统性拦住这类错误。

pincheck 复跑一遍确认引脚合规状态:0 错误,或每个残留错误在第十章有对应“设计疑点/待实测”行(不允许无解释的错误)。收割到的规则已在 pin_rules.local.json 落盘。

交付前检查清单

  1. q.js verify 0 存疑。
  2. q.js pincheck 0 错误(或逐条已解释:已销账/设计疑点/待实测)。
  3. 新鲜度:stats.unconnectedPins 异常偏多、或 excluded 里出现大量普通器件时,在报告开头提示“原理图可能处于编辑中,本报告基于 <exportedAt> 快照”。
  4. 禁读检查:确认本次分析没有整读拓扑 JSON(只用了 q.js),也没有手工重做 main/classify/control/dividers/pincheck 能算的事。
  5. 所有“拉高/拉低”控制语句满足三极管/MOS 链路范式(管型+方向+恢复方式)。
  6. 计量/ADC 类芯片有“板上常数 + 标定方法”小节。

硬性规则

  1. 每条连接、每个结论都要能回溯到 JSON 数据(net + ref.pin)。数据里没有的不要写。
  2. 阻容、磁珠、晶振、测试点只在影响理解时提及(如上拉/分压),不单独列条目。
  3. 不确定的内容一律标“待确认”并进第十章,绝不编造型号功能、I2C 地址、时序参数。pin_rules 里的规则必须有手册依据(note 带页码),不许为了清零错误编造规则。
  4. 遇到 inBom:false 的器件被网表排除导致“悬空网络”时,在待确认里说明。
  5. 报告是给嵌入式工程师上手开发用的:语言直接、结论先行、引脚级精确。
  6. 只读红线:本技能绝不修改用户的原理图/PCB;调用 EDA API 仅限只读查询。

实战校准(易错点,来自真实板卡分析)

  • 位号不等于类型:连接器可能用任意位号——真实案例:RJ45 网口座位号是 D1/D2(HR915340A),按“D=二极管”过滤会漏掉。判断器件类型永远以 fp/name/mpn/连接为准,位号惯例只作提示。
  • 三极管细分:Q + AO3401(P-MOS)做高边电源开关(栅极被拉低导通);AO3400/2N7002(N-MOS)做低边开关或电平转换;DTC143Z/SI2302 类“数字三极管”内置基极电阻,直接由 GPIO 驱动。追“使能网络 → MOSFET → 受电器件电源”链条时,逐管标注导通极性。
  • 两个电阻 = 分压:信号 → R1 → GPIO 节点 → R2 → GND 是降压采样(如 5V 模块 TX → 3.3V GPIO);R1 上拉 VCC + R2 下拉 GND 挂在控制网络上,说明主控不驱动时默认电平由分压比决定——默认状态必须进“待确认”。
  • 单节点网络 = 预留引脚(如只挂在网络上的一个 GPIO + 一个上拉电阻),归入“悬空与预留”。
  • 活动指示灯:LED 一端 VCC、经串联电阻挂在 UART/控制网络上 = 低电平点亮的动作指示,说明里提一句即可。
  • 模块型大芯片(引脚数超过主控的 4G/WiFi 模组)不是主控:判据是“谁跑主程序/谁连 Flash”(q.js main 的功能连接密度已把这一点量化,电源地网必须排除,否则 4G 模组假性胜出)。
  • pincheck 通用规则校准事实(M-Box 实测):立创导出的 QFN 散热盘常直接命名为 GND 引脚而非 EP,EP 规则是给其他命名习惯备用的;电源脚必须前缀匹配(ESP32-P4 有 VDDPST_1/VDD_HP_0/VDD_MIPI_DPHY);RES 不当保留脚(LoRa 模块 RES=复位);模块未用接口整组悬空(RSV×41/USIM1_*×5)折叠成一条信息行,逐脚报只会刷屏。
  • 位号前缀 U 不等于芯片:ESD/TVS/共模电感/互感器也用 U 位号(引脚名纯数字是特征),pincheck 的收割候选已按此排除;UART3_TXD1 这类字头位号是 LED/网络标记,classify 只把 U\d/Q\d 式位号归入待确认。