mcpField
E
eda-schematics

eda-schematics

github.com/l3wi其他19491 次安装43 周前更新
代码仓库

关于 eda-schematics

eda-schematics 是用于创建和检查 KiCad 电子原理图的工作流技能,面向硬件设计人员。它涵盖元件与数据手册审查、图纸组织、布线、ERC 和布局前检查。

主要功能

  1. 01规划分层原理图
  2. 02放置元件和电源符号
  3. 03指导布线与网络命名
  4. 04检查连接并运行 ERC
  5. 05记录原理图进度

适用场景

  1. 01根据已选元件创建 KiCad 原理图
  2. 02将设计组织为多个原理图页
  3. 03在 PCB 布局前检查连接

MCP 相关

工作流包含调用 mcp__kicad-sch 工具向原理图文件添加元件的示例。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/l3wi/claude-eda --skill eda-schematics

安装后在 Claude Code 中输入/eda-schematics确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

reference/
ERC-VIOLATIONS-GUIDE.md
NET-NAMING.md
REFERENCE-CIRCUITS.md
SCHEMATIC-HIERARCHY-DECISION.md
SCHEMATIC-REVIEW-CHECKLIST.md
SYMBOL-ORGANIZATION.md

详细介绍

EDA 原理图技能

为电子项目创建原理图并连接元件。

自动激活触发条件

此技能会在以下情况下激活:

  • 用户要求“创建原理图”“添加元件”或“连线”
  • 用户正在处理 .kicad_sch 文件
  • 用户询问网络名称、连接或 ERC
  • 项目已选定元件,但没有原理图
  • 用户提及原理图组织方式或图纸

上下文要求

需要:

  • docs/component-selections.md - 已选元件及其 LCSC 编号
  • docs/design-constraints.json - 项目约束
  • datasheets/ - 用于参考电路的元件数据手册

生成:

  • hardware/*.kicad_sch - KiCad 原理图文件
  • docs/schematic-status.md - 状态和进度跟踪

工作流

1. 加载上下文
@docs/design-constraints.json
@docs/component-selections.md
@datasheets/ (relevant datasheets)

从 design-constraints.json 中提取:

  • power.topology - LDO 与降压转换器的选择会影响原理图复杂度
  • power.rails[] - 要实现的所有电压轨
  • board.layers - 2 层设计较简单,4 层及以上设计可更复杂
  • thermal.budget - 找出需要分组放置的发热元件
  • dfmTargets.assembly - 封装尺寸必须匹配
1.5. 验证就绪情况

开始绘制原理图前:

  • component-selections.md 中是否已选定所有必需元件?
  • 是否已选定引脚排列明确的 MCU?
  • 是否已选定稳压器?
  • 是否已定义关键无源元件(去耦电容值)?
  • 是否已下载参考电路所需的数据手册?

如果没有,建议先运行 /eda-source [role]。

2. 规划图纸组织方式

详细指南请参阅 reference/SCHEMATIC-HIERARCHY-DECISION.md。

根据复杂度,将原理图组织到多个图纸中:

简单设计(1-2 张图纸):

  • 图纸 1:全部内容

中等复杂度设计(3-4 张图纸):

  • 图纸 1:电源(输入、稳压器)
  • 图纸 2:MCU 和核心逻辑
  • 图纸 3:接口和 I/O

复杂设计(5 张及以上图纸):

  • 图纸 1:电源输入和保护
  • 图纸 2:稳压
  • 图纸 3:MCU 和时钟
  • 图纸 4:通信接口
  • 图纸 5:连接器和 I/O
  • 根据需要添加其他图纸
3. 创建原理图结构
  • 创建主原理图文件
  • 如果有多张图纸,则添加层次图纸
  • 设置页面尺寸和标题栏
4. 放置元件(每张图纸)

对于每个元件:

  1. 从库中放置符号
  2. 设置位号
  3. 设置值
  4. 在属性中添加 LCSC 料号
  5. 合理放置

工具语法:

mcp__kicad-sch__add_component schematic_path="/path/to/file.kicad_sch" lib_id="EDA-MCP:SymbolName" reference="U1" value="10k" position=[100, 100]
  • 使用 library_fetch 响应中的 symbol_ref(例如 EDA-MCP:ESP32-C3)
  • 对于标准元件,使用 KiCad 库(例如 Device:R、Device:C)
  • 放置位置使用与网格对齐的坐标(1.27mm 网格)

放置指南:

  • 电源流向采用从上到下或从左到右
  • 信号流向采用从左到右
  • 将相关元件分组
  • 为连线留出空间
5. 添加电源符号
  • 为每条电压轨放置 VCC 符号
  • 放置 GND 符号
  • 统一电源符号的命名
6. 连接线路

遵循数据手册中的参考电路:

  1. 先连接电源
  2. 为电源引脚添加去耦电容
  3. 连接关键信号(晶振、复位)
  4. 连接通信总线
  5. 连接其余信号

以下情况使用网络标签:

  • 跨图纸连接
  • 总线
  • 避免导线交叉
  • 命名信号(便于理解)
7. 验证并记录
  • 检查所有引脚是否已连接或标记为 NC
  • 运行 ERC(电气规则检查)
  • 记录状态

修复常见 ERC 错误的方法请参阅 reference/ERC-VIOLATIONS-GUIDE.md。

8. 布局前审查

进入布局前,请完成 reference/SCHEMATIC-REVIEW-CHECKLIST.md:

  • 验证电源部分
  • 验证去耦设计
  • 检查接口保护
  • 确认已设置测试点
  • 检查网络命名是否一致
  • 确认文档完整

网络命名约定

完整约定请参阅 reference/NET-NAMING.md。

快速参考:

Power:    VCC_3V3, VCC_5V, VBAT, GND, GNDA
Reset:    MCU_RESET, nRESET
SPI:      SPI1_MOSI, SPI1_MISO, SPI1_SCK, SPI1_CS
I2C:      I2C1_SDA, I2C1_SCL
UART:     UART1_TX, UART1_RX
GPIO:     LED_STATUS, BTN_USER, or GPIO_PA0

输出格式

schematic-status.md
# Schematic Status

Project: [name]
Updated: [date]

## Summary
- Total sheets: X
- Components placed: Y
- Wiring: Z% complete
- ERC: X errors, Y warnings

## Sheets

### Sheet 1: Power
- Status: Complete
- Components: U1 (regulator), C1-C4 (caps)
- Notes: ...

### Sheet 2: MCU
- Status: In Progress
- Components: U2 (MCU), Y1 (crystal), C5-C10
- Notes: Needs clock wiring

## ERC Issues
- [ ] Unconnected pin on U2.PA3 (intentional NC)
- [x] Missing power flag (fixed)

## Next Steps
- Complete MCU clock circuit
- Wire SPI bus to flash
- Run final ERC

指南

  • 始终查阅数据手册中的参考电路
  • 在布局中,将去耦电容放置在距离 IC 电源引脚 3mm 以内
  • 对于跨页信号,使用网络标签
  • 保持原理图清晰易读,避免导线交错杂乱
  • 为不明显的连接添加注释
  • 使用 NC 标记标出有意不连接的引脚

架构验证警告

继续进行布局前,请检查以下事项:

条件警告
已选择降压转换器,但原理图中没有电感缺少关键元件
有 USB 接口,但没有 ESD 保护布局前添加 ESD 二极管
有外部连接器,但没有保护措施在暴露的信号上添加 TVS/ESD 保护
MCU 的每个 VDD 引脚对应的电容小于 100nF根据数据手册确认去耦设计
有晶振,但未计算负载电容重新计算 CL 值
有 I2C 总线,但没有上拉电阻添加上拉电阻(4.7K-10K)
SPI CS 线路悬空添加上拉电阻以防止毛刺
复位引脚没有 RC 消抖电路添加消抖电路

参考文档

文档用途
reference/NET-NAMING.md网络命名规范
reference/SYMBOL-ORGANIZATION.md原理图布局模式
reference/REFERENCE-CIRCUITS.md常见电路模式
reference/SCHEMATIC-HIERARCHY-DECISION.md图纸组织指南
reference/SCHEMATIC-REVIEW-CHECKLIST.md布局前验证
reference/ERC-VIOLATIONS-GUIDE.md修复 ERC 错误

后续步骤

原理图完成后:

  1. 生成网表
  2. 运行 /eda-layout 开始 PCB 布局
  3. 将 design-constraints.json 的 stage 更新为 "pcb"

评论

支持 Markdown