mcpField
E
eda-research

eda-research

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

关于 eda-research

eda-research 是一项根据项目需求和设计约束筛选、评估电子元件的技能,面向硬件设计人员。它支持比较候选器件并记录选型,还包含数据手册检查与验证步骤。

主要功能

  1. 01读取项目约束和规格
  2. 02在 JLC 搜索候选元件
  3. 03比较规格、价格和库存
  4. 04验证热设计与装配适配性
  5. 05记录选型并草拟 BOM
  6. 06检查获取的元件符号

适用场景

  1. 01为受约束的设计选择稳压器
  2. 02比较候选传感器或 MCU
  3. 03记录选定元件及备选项
  4. 04检查获取的元件符号

MCP 相关

工作流会调用 JLC 元件搜索、库获取和库修复的 MCP 工具。MCP Agent 可借此搜索元件、获取库数据并请求符号修正。

安装

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

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

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

包含的文件

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

reference/
COMPONENT-ALTERNATIVES.md
COMPONENT-CATEGORIES.md
DATASHEET-ANALYSIS.md
DECOUPLING-STRATEGY.md
JLC-SEARCH-TIPS.md
PASSIVE-SELECTION.md
REGULATOR-SELECTION.md

详细介绍

EDA 研究技能

为电子项目查找并选择元器件。

自动激活条件

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

  • 用户要求“查找元器件”“搜索”或“采购”
  • 用户询问元器件规格或比较情况
  • 用户提到 LCSC、数据手册或料号
  • 用户询问“我应该使用哪种 MCU/稳压器/传感器”
  • 项目中有 design-constraints.json,但缺少元器件选择

上下文要求

需要:

  • docs/design-constraints.json(或询问用户需求)
  • docs/project-spec.md(可选,用于提供上下文)

生成:

  • docs/component-selections.md - 人类可读的选型记录
  • docs/bom-draft.json - 机器可读的 BOM
  • datasheets/*.pdf - 已下载的所选元器件数据手册

工作流

1. 加载上下文

读取现有项目约束:

@docs/design-constraints.json
@docs/project-spec.md
@docs/component-selections.md (if exists)

如果缺少约束,请询问用户基本需求:

  • 该元器件需要实现什么功能?
  • 关键规格是什么(电压、电流、封装)?
  • 有哪些预算限制?
2. 了解需求

针对目标元器件的用途,确定:

  • 关键规格(必须满足)
  • 优选规格(有则更好)
  • 封装偏好(SMD 尺寸、通孔)
  • 需要考虑或避免的特定品牌或系列
2.5 检查架构约束

开始搜索前,检查 design-constraints.json 中的:

  • **电源拓扑:**架构阶段已确定采用 LDO 还是降压方案
  • **热预算:**该用途的最大功耗(检查 thermal.hotComponents)
  • **DFM 目标:**装配方式会影响封装选择
  • **电路板层数:**可能影响元器件密度

电源元器件的选择标准请参阅 reference/REGULATOR-SELECTION.md。 无源元器件请参阅 reference/PASSIVE-SELECTION.md 和 reference/DECOUPLING-STRATEGY.md。

3. 研究选项

使用网络搜索了解:

  • 此应用的常见解决方案
  • 参考设计推荐的元器件
  • 已知问题或注意事项
  • 替代方案
4. 搜索 JLC

使用 mcp__jlc__component_search 查找候选元器件:

  • 使用具体参数搜索
  • 按库存情况筛选
  • 记录目标数量下的价格
  • 检查是否为“Basic”元器件(在 JLCPCB 可降低装配费)
5. 分析候选元器件

针对排名靠前的 3-5 个选项:

  • 下载/获取数据手册
  • 提取关键规格
  • 检查应用电路
  • 记录布局要求
  • 找出可能的注意事项
5.5 根据约束进行验证

在展示选项前,验证每个候选元器件:

热验证:

P_dissipation = (calculated from datasheet)
Thermal budget = (from design-constraints.json)
✓ P_dissipation < Thermal budget

装配兼容性:

  • 手工装配 → 至少采用 0603/0805,不使用细间距封装
  • 回流焊 → 可采用 0402 及以上封装
  • 交钥匙服务 → 检查 JLCPCB 的库存情况

架构合规性:

  • 符合架构阶段确定的 LDO/降压方案
  • 噪声规格适用于电源轨类型(模拟或数字)
  • 对电池应用而言,效率可接受

对于未通过验证的候选元器件,标出具体问题。

6. 展示比较结果

创建比较表:

元器件MPN关键规格价格库存优点缺点
.....................

附上推荐选项及理由。

7. 确认选择
  • 获取用户确认
  • 记录选择及理由
  • 更新约束文件
  • 保存数据手册
8. 验证符号(library_fetch 之后)

使用 mcp__jlc__library_fetch 获取在线元件时,请分析返回的 validation_data:

快速检查:

检查项预期结果未通过时的操作
pin_pad_count_matchtrue检查是否有裸露焊盘(EP)
has_power_pinstrue(适用于 IC)检查引脚类型
has_ground_pinstrue(适用于 IC)检查引脚名称

常见问题:

  • QFN/BGA 封装通常带有未包含在符号中的裸露散热焊盘(EP)
  • 引脚电气类型可能有误(电源引脚被标记为无源)
  • 引脚名称可能与数据手册不一致

使用 library_fix 修复:

使用 mcp__jlc__library_fix 重新生成符号并应用修正:

mcp__jlc__library_fix lcsc_id="C#####" corrections='{
  "pins": [
    { "action": "add", "number": "EP", "name": "GND", "type": "passive" },
    { "action": "modify", "number": "1", "set_type": "power_in" }
  ]
}'

修正操作:

  • add - 添加缺失的引脚(必须指定编号、名称和类型)
  • modify - 重命名和/或更改电气类型
  • swap - 交换两个引脚的位置
  • remove - 移除错误的引脚

输出格式

component-selections.md 条目
### [Role]: [Part Name] ([LCSC Number])

**Selected:** [Date]
**MPN:** [Manufacturer Part Number]
**Manufacturer:** [Name]
**Price:** $X.XX @ [quantity]

**Specifications:**
- Key spec 1: value
- Key spec 2: value

**Rationale:**
[Why this part was chosen over alternatives]

**Alternatives Considered:**
- [Part 2] - rejected because [reason]
- [Part 3] - rejected because [reason]

**Design Notes:**
- [Any layout or application notes from datasheet]

**Datasheet:** `datasheets/[filename].pdf`
bom-draft.json 条目
{
  "role": "regulator-3v3",
  "lcsc": "C6186",
  "mpn": "AMS1117-3.3",
  "manufacturer": "AMS",
  "description": "3.3V 1A LDO Regulator",
  "value": "3.3V",
  "footprint": "SOT-223",
  "quantity": 1,
  "unitPrice": 0.04,
  "extendedPrice": 0.04,
  "category": "power",
  "basic": true
}

元件角色类别

详细的角色定义请参见 reference/COMPONENT-CATEGORIES.md。

常见角色:

  • mcu - 主微控制器
  • regulator-Xv - 稳压器
  • crystal - 振荡器/晶体
  • connector-* - 各类连接器
  • esd-* - ESD 保护
  • decoupling-* - 旁路/大容量电容
  • led-* - 指示 LED
  • sensor-* - 各类传感器

指南

  • 条件合适时,优先选择 JLCPCB 的“Basic”元件(装配成本较低)
  • 检查库存量,避免选择库存不足 100 个的元件
  • 考虑封装尺寸是否适合手工焊接
  • 记录非库存商品的交货周期
  • 始终记录选择元件的原因
  • 下载所有所选元件的数据手册
  • 为关键元件确定 1-2 个替代品(参见 reference/COMPONENT-ALTERNATIVES.md)
  • 确认电源元件前先验证热性能
  • 选择元件前,检查 design-constraints.json 中的架构决策

参考文档

文档用途
REGULATOR-SELECTION.mdLDO 与 Buck 的选择标准
DECOUPLING-STRATEGY.mdIC 的电容值
PASSIVE-SELECTION.md电阻/电容基础知识
COMPONENT-ALTERNATIVES.md查找等效元件
DATASHEET-ANALYSIS.md提取关键规格
COMPONENT-CATEGORIES.md角色命名约定
JLC-SEARCH-TIPS.md搜索技巧

后续步骤

元件选择完成后:

  1. 运行 /eda-source 处理剩余元件
  2. 所有元件选择完成后,运行 /eda-schematic
  3. 将 design-constraints.json 的阶段更新为 "schematic"

评论

支持 Markdown