Component Search 是 Zener PCB 工作流中的一个元件检索技能,用于在 Zener 项目中查找并添加电子元件和可复用的子电路。适用场景是设计电路板、模块或子系统时,工作区里没有所需元件,或者 stdlib 泛型无法覆盖该需求。
【搜索优先级】 该技能规定按固定顺序搜索,只有上一层没有合适结果时才向下移动:
- pcb search -m registry:modules <query> -f json:可复用子电路和组合模块,设计工作已完成时最佳。
- pcb search -m registry:components <query> -f json:注册表中的元件封装,可能从生成的签名到带集成应用电路的更完整封装不等。
- pcb search -m web:components <MPN> -f json:Diode 网络元件数据库(CSE、LCSC 来源),返回的 component_id 必须用 pcb new component 导入。 即使用户指定了具体 MPN,也应先尝试注册表再回退到网络搜索。
【搜索技巧】 注册表搜索索引丰富,支持 MPN 搜索、厂商名搜索、语义/功能查询和词法关键词匹配,可以自由使用描述性查询,例如 "buck converter 3.3V"、"Texas Instruments LDO"、"USB-C connector"。网络元件搜索则严格只接受 MPN,仅使用精确或部分制造料号,如 "TPS54331"、"STM32F103C8T6";查询中不得包含描述、关键词或功能词,否则会失败或返回无关结果,必须只保留 MPN。所有命令用 -f json 输出 JSON,可程序化解析结果。注册表结果包含 dependencies(它使用了什么)和 dependents(谁在使用它);网络结果包含 model_availability,显示 ECAD 和 STEP 模型是否可用,同一 MPN 可能来自 DigiKey、CSE、LCSC 等多个来源且模型可用性不同,应检查全部返回结果。建议多试几个查询,因为元件名称多样(完整 MPN、基础系列、可订购变体、厂商别名)。使用前可用 pcb doc --package <url>@<version> 检查注册表模块的 io/config 接口。
【在结果间选择】 有明确优胜者时直接选择;只有在确实存在歧义时才呈现权衡并询问用户。选择启发式按优先级顺序为:功能匹配(是否满足电气要求)、ECAD + STEP 模型是否都可用(强烈优先)、封装(多种封装可选时优先无引脚封装 QFN、DFN、LGA、WLCSP 而非 SOIC、TSSOP、QFP)、货源(优先有库存的元件,查看可用性字段中的库存数和价格)、来源质量(web:components 中优先 CSE 而非 LCSC)、注册表采用度(dependents 越多说明经过越多实战检验)。
【使用注册表结果】 注册表模块和元件封装(流程 1、2)通过 Module() 加注册表 URL 直接使用,Auto-dep 会自动处理 pcb.toml 更新,只需使用 URL 并构建。文中示例包括带集成应用电路的 AP2112Kx 元件封装和来自 registry:components 的 TPS54331D,并提示用 pcb doc 检查可用 io/config 后再接入设计。
【导入网络元件】 网络元件结果(流程 3)使用前需要导入步骤:先用 pcb search -m web:components <MPN> -f json 搜索,选定结果并提取 component_id、part_number 和 manufacturer,再执行 pcb new component --component-id <ID> --part-number <MPN> --manufacturer <MFR>。该命令会下载符号、封装和 STEP 模型并生成封装到 components/<manufacturer>/<mpn>/,数据手册产物放在元件目录下的 docs/ 中。.kicad_sym 文件是原始元件接口的事实来源;生成的 .zen 文件起初是自动生成的签名,之后可在同一封装中成长为更丰富的可复用设计。若元件已存在于工作区则跳过并报告现有路径。导入后的元件用 Module() 加本地工作区路径使用。
【命令参考】 搜索:pcb search -m registry:modules <query> -f json(可复用模块,快,本地索引);pcb search -m registry:components <query> -f json(元件封装,快,本地索引);pcb search -m web:components <MPN> -f json(网络元件数据库,较慢,仅 MPN 查询)。导入:pcb new component --component-id <ID> [--part-number <MPN>] [--manufacturer <MFR>]。检查:pcb doc --package <url>@<version>。
【用 pcb bom 核实货源】 向设计添加元件后,用 pcb bom boards/MyBoard/MyBoard.zen -f json 检查货源和可用性。JSON 输出为 BOM 条目列表,每条包含 designator、mpn、manufacturer、package、value、description;availability 为每条目的货源数据,含 us/global(区域摘要,包含 price、stock、alt_stock)和 offers(各分销商报价,含 region、distributor、stock、price)。
【修复 BOM 问题】 构建时出现 "No house cap/resistor found" 警告表示没有预先认证的通用元件匹配规格,可调整数值、封装或电压额定值,或在合适处指定明确的 part=Part(mpn=..., manufacturer=...)。库存低或无报价时,可用上述元件搜索流程寻找替代品并更新设计。查看库存数时要注意,库存为零只有 alt_stock 的元件可能有较长交期。