设计
元件:导入或绘制
搜索并导入 KiCad 符号和封装,修复板厂拒绝的内容,并在 KiCad 没有该元件时根据数据手册构建元件。
电路板上的每个元件都是两个文件:原理图用的符号和 PCB 布局用的封装,通过引脚编号关联。如果 KiCad 有该元件,就从 KiCad 导入;如果没有,就根据数据手册绘制。
搜索
agentee search symbol lm358
agentee search footprint soic 3.9x4.9每个词都必须出现在 Library:Name 中,因此添加词语以缩小搜索范围:soic 3.9x4.9 会找到窄体 SOIC-8 封装并跳过宽体封装。
导入
agentee import symbol Amplifier_Operational:LM358 --with-footprint
agentee import symbol Device:R --footprint Resistor_SMD:R_0402_1005Metric
agentee import footprint Package_TO_SOT_SMD:SOT-89-3--with-footprint 会带上符号的默认封装;--footprint 选择另一个封装并建立链接。符号放在 symbols/,封装放在 footprints/。--force 会覆盖已有文件。指向 .kicad_sym(带 :Name)或 .kicad_mod 的路径可以代替 Library:Name 用于供应商库。
随后立即运行检查。常见的发现是丝印:
warning: ./footprints/R_0603_1608Metric.fp.toml: R_0603_1608Metric silk: silk lines under the fab minimum width 0.15mm: 2, thinnest 0.12mmKiCad 绘制 0.12 mm 的丝印,而 JLCPCB 打印 0.15 mm。加宽封装丝印图形的 width。另一个常见问题是占位区或焊盘间距与粗糙的板厂工艺冲突;应在封装中修复,而不是用规则覆盖。
通用元件是共享的
一个 R 符号服务于所有电阻,一个 C 符号服务于所有电容。数值和封装写在原理图中的元件上:
agentee edit sch NAME add R1 R 10k --footprint R_0402_1005Metric
agentee edit sch NAME add C1 C 100n --footprint C_0402_1005Metric如果原理图指定了项目缺失的符号,但给出了某个已有符号使用的封装,add 会采用该符号,因此智能体为电容写入 --footprint C_0402_1005Metric 时会得到正确的符号。
绘制符号
agentee new symbol STM32F103C8对于矩形符号,按侧列出引脚,让 agentee 在网格上放置引脚并确定主体尺寸。这是参考中的示例,已精简:
name = "STM32F103C8"
reference = "U"
[[bodies]]
left = [
{ number = "7", name = "NRST", type = "input" },
{ gap = 1 },
{ number = "10", name = "PA0", type = "bidirectional" },
]
right = [ { number = "30", name = "PA9", type = "bidirectional" } ]
top = [ { number = "1", name = "VBAT", type = "power_in" } ]
bottom = [ { number = "8", name = "VSS", type = "power_in" } ]{ gap = N } 留出 N 个空位。引脚也可以用 [[pins]] 手动放置(number、name、type、at、side),两者可以混用。连接点保持在 1.27 mm 网格上;偏离网格的引脚会被标记。多单元符号为引脚和图形指定 unit。
引脚类型很重要:检查使用它们进行网络检查,open_collector 输出和 input 引脚参与信号电平检查。
逻辑电平
对于逻辑和 MCU 元件,将数据手册中的阈值复制到 [levels] 表。检查随后会计算每个输入在其电源轨、电阻和开关下看到的电压,并报告可能位于 VIL 和 VIH 之间、悬空或超出限制的输入:
[levels]
supply = "VDD"
vih = "70%"
vil = "30%"
min = "-0.3V"
max = "100%+0.3V"
leakage = "1uA"引脚自身的 levels 表会覆盖符号的表,例如带有内部上拉的复位引脚。原理图指南 展示了另一半,即 rails 表。
绘制封装
agentee new footprint SOIC-8_3.9x4.9mm_P1.27mm将焊盘写成行,而不是逐个条目。参考中的 SOIC-8:
[[pads]]
number = "1"
kind = "smd"
shape = "roundrect"
at = [-2.475, -1.905]
size = [1.95, 0.6]
count = 4
pitch = [0, 1.27]
[[pads]]
number = "5"
kind = "smd"
shape = "roundrect"
at = [2.475, 1.905]
size = [1.95, 0.6]
count = 4
pitch = [0, -1.27]第二行从另一侧倒数 5 到 8。行按末尾数字递增,因此 BGA 球也按同样方式工作(A1、A2 等),number_step = 2 按 2 递增。
在 F.CrtYd 上绘制占位区,在 F.Fab 上绘制主体轮廓:检查需要一个包围焊盘的占位区,放置器保持占位区间距,边缘和装配规则从主体测量。设置 height,以便 3D 视图和高元件规则在没有模型时也有高度。
有用的封装键:
- 对于铜箔旨在到达电路板边缘的焊盘(边缘启动连接器、半孔),设置
edge = true。 - 对于旨在悬空于边缘的连接器,设置
overhang = true。 - 当板厂将细间距元件所有焊盘的阻焊打开为一个窗口时,设置
mask_web = false。 - 在焊盘上设置
zone_connect = "solid"或"relief",覆盖铺铜自身的设置。 - 指定 STEP 或 VRML 文件的
model,KiCad 路径,或固定到提交的https://URL。
每个引脚都需要一个焊盘
焊盘网络来自原理图的编号:符号的引脚 3 对应封装的焊盘 3。检查会报告没有焊盘的引脚。命名为 EP 或编号为 17 的符号引脚(用于裸露焊盘)也需要在封装中有该焊盘编号。
元件编号
在原理图中为每个元件提供 mfr 和 mpn 字段,以及用于 JLCPCB 贴装的 lcsc 字段:
agentee edit sch NAME set U1 --field mfr=Qorvo
agentee edit sch NAME set U1 --field mpn=SPF5189Z每个 set 会添加到元件的 fields 表中并保留现有内容。在文件中读取为 fields = { mfr = "Qorvo", mpn = "SPF5189Z" }。
物料清单按这些字段分组,agentee parts 通过 mpn 查询库存、价格和更便宜的替代品。参见 板厂包、物料清单和价格。