xsl制作工具_开源 EDA 工具 KiCad 5.1.5 电路设计手册

d57db6eea42a7073f4d99ade8b2b8600.png

对于国内中小型电子企业的工程师而言,Altium Designer、Pads、Allegro 等商业 EDA 工具的授权费用过于昂贵,且大部分仅提供了 Windows 操作系统版本,缺乏相应的跨平台支持。在电子行业版权问题逐步受到重视的今天,一款易使用、低成本的 EDA 工具对于广大电子工程师显得尤为重要。而 PCB 设计流程与布局布线经验超越 EDA 工具本身,如果没有丰富的元件库与封装库支持,也会面临无米难为炊的困境。

99a0133674ba806ead0f7d670303e07b.png

本文介绍的KiCad 是一款基于 GPL 开源许可下的跨平台 EDA 电子设计自动化工具集,能够处理多达 32 个铜层、14 个技术层、4 个辅助层的 PCB 电路板,并且生成加工制造所需要的所有文件(包括照片绘图仪的 Gerber 文件、钻孔文件、元件位置文件等),官方开源社区提供并维护了丰富的第三方库可供选用,而针对开源 EDA 工具普遍存在的自动布线功能偏弱的问题,KiCad 也通过FreeRouting提供了有力支持。文中所涉及原理图与PCB样图,皆已共享至笔者的Github项目Abrams。

uinika/abrams​github.com
0ea9255b0c6378ae154119c48d4a00d6.png

由于知乎提供的Markdown编辑器不支持完整的表格以及书签语法,加上篇幅字数限制,因此在这里只发布了全文第1、2章节的部分内容,需要查阅带有书签的完整文章请前往笔者的博客Github Pages

开源 EDA 工具 KiCad 5.1.5 电路设计手册​uinika.gitee.io
42aa22a1a2e3216620628db29cb8139e.png
也欢迎加入成都天府软件园QQ群【621843391】,为文章勘误或者提出您的宝贵意见,也可以一起聊聊成都IT那些事儿 。也欢迎优秀原创技术类、IT产业经济类文章向知乎【成都IT圈】专栏进行投稿。

欢迎大家关注公众号【IT圈】:Electronics, Embedded & Web,获取更多电子技术、嵌入式系统、Web开发相关的原创性文章:

1d624c031e0493edc65ba7b28303d2a3.png

工具集

KiCad 工具套件主要包含如下软件工具,这些工具即可以从项目管理器运行,也可以作为独立的工具软件运行:

eb503f144dcbfecf486cdc16241a7538.png

KiCad 提供的项目管理器可以方便的在界面上运行其他工具,从而提供原理图与 PCB 编辑器之间、原理图与封装编辑器之间的交叉探测功能。所产生的.pro扩展名文件包含了当前工程的各种参数,其界面呈现效果如下:

7f4a36474fe95028b7f109acbc034370.png

原理图编辑器 Eeschema 会在工程中产生.sch原理图文件、.lib原理图元件库文件、.dcm原理图元件库文档、.cache.lib原理图元件库缓存文件、sym-lib-table符号库列表,其界面呈现效果如下:

63f4f754f0e0712555fd194fbb9e2a59.png

PCB 编辑器 Pcbnew 会在工程里生成.kicad_pcbPCB 板文件、.pretty封装库文件夹、.kicad_mod封装文件、fp-lib-table封装库列表,其界面呈现效果如下:

286e8cebeffc8ae475150975cd45017e.png

涉及的环境变量

KiCad 通过环境变量来声明全局模板和库的位置,通常具有如下的环境变量:

f6724f962c23d2381c1297fdca4f5421.png
  • KICAD_TEMPLATE_DIR:工程模板存放位置;
  • KICAD_SYMBOL_DIR:原理图元件库存放路径;
  • KISYSMOD:封装库存放路径;
  • KISYS3DMOD:3D 封装库存放路径;
  • KIGITHUB:远程封装库存放路径;
  • KICAD_USER_TEMPLATE_DIR:自定义模板存放路径;

上述环境变量可以通过 KiCad 工程管理界面,菜单栏上提供的【首选项 -> 配置路径…】命令来进行设置,这些设置只会作用于当前会话,而不会覆盖 KiCad 安装时写入系统中的环境变量:

36844d9302a6bed183929c08d3a08943.png

向前与向后注解

电路原理图绘制完成以后,接下来就会将其转换为 PCB。但是如果后期再涉及新元件的添加、封装尺寸调整、网络重命名等操作,就需要选择向前或者向后两种注解方式来完成:

  • 向前注解(Forward Annotation):将原理图映射至相应的 PCB 布局,原理图生成 PCB 之后,允许通过该操作向 PCB 发送增量的原理图修改。
  • 向后注解(Backward Annotation):将 PCB 布局的修改发送回对应的原理图,一旦在 PCB 布局期间进行了修改,则这些修改操作将会被回推至原理图。

热键与快捷键

KiCad 拥有如下 2 种不同类型的快捷操作方式:

  • 快捷键(Accelerator Keys):用途与鼠标单击菜单栏、工具栏图标的效果相同,按下鼠标左键之后才会执行该操作。
  • 热键(Hotkeys):执行以后将会立即在当前鼠标位置执行操作,按下键盘上的【Ctrl + F1】即可查询 KiCad 所提供的热键。

制作原理图符号

进入【符号编辑器】界面,选择菜单栏上的【文件 -> 新建库】,建立一个名称为myLib.lib的原理图元件库:

fc9deb3e4b29f212f885b738d262d586.png

然后再通过鼠标选择菜单栏上的【文件 -> 新建符号…】或者按下键盘上的【Ctrl + N】,指定元件所归属的符号库,并将其命名为MYCONN3,默认参考标识符为J,每封装单元数为1

c43411405fe90be90be9b2446bd9899c.png

接下来分别放置VCCInputGND三个引脚,并将其电器类型分别设置为电源输入无源无源,然后再绘制一个矩形框作为元件体,最终呈现的效果如下图所示:

18e64be75c28f56a623ba43adc0b2224.png

将其放置到原理图以后的效果如下,引脚的电气类型名称默认将不会被显示出来:

38b3e4aa90ec9b72f3f08b022ee90511.png
注意:官方 KiCad 库默认安装在 Windows 操作系统的D:SoftwareTechKiCadsharekicadlibrary目录下,或者 Linux 操作系统的/usr/share/kicad/library/目录下面。

绘制原理图

原理图编辑界面下,单击顶部工具栏上的【编辑图框设置】选择适当的尺寸,然后单击右侧工具栏上的【放置符号】图标或者按下热键【A】开始放置元件。

4026084368e047502832d29e73920762.png

将鼠标悬停在元件R上(无需单击), 然后按下【R】旋转元件。此时如果出现元件叠加的情况,就会弹出菜单明确选择对应的元件。

d029437f8f31a422d0cde0aa2269dcdc.png

右键单击元件选择【属性 -> 编辑值】或者按下快捷键【V】实现相同功能,当然也可以通过选择【属性 -> 编辑属性】或者按下【e】打开更为详细的设置窗口。

788f006c8f3a2a5a27c2226b113c3b00.png

将文本输入域当中的值修改为1k,然后点击确定:

73fc4319de8e8b27e089c53a381da8e4.png

如果出现输入错误需要删除元件,可以在元件上鼠标右键然后选择【删除】,或者鼠标悬停在待删除元件上以后,按下【Delete】键。除此之外,将鼠标悬停在元件上以后可以运用的操作与对应热键如下图所示:

650b0f517754d1844ae25c0600a86c91.png

接下来,继续添加向原理图添加microchip_pic12mcu库里的PIC12C508A-ISN元件以及 LED 元件:

9ba6b2ac95d615a77ad73a708291c33d.png

继续放置刚才myLib.lib库下面自定义的MYCONN3元件,然后选择右侧工具栏上的【放置电源端口】按钮或者按下【P】弹出 选择电源符号 界面:

d32d6e2b80bc1c1251bdb330bf0fa5b0.png

在弹出的选择电源符号界面选中并且放置3个VCC和2个GND,此时原理图效果呈现的如下:

f0760dbb75c7d0f1f25ccd32fbb8fb4e.png

下一步会使用导线连接原理图上的元件,单击右侧工具栏上的【放置连线】按钮,或者鼠标放置到元件的连接点以后,再按下键盘的【W】。最终,完成导线连接后的原理图如下:

c815555e71495b9e24642d65db75ca0c.png

这里将会放置网络标签用于对电路进行注释,选择右侧工具栏上的【放置网络标签】按钮或者按下【L】,保存后的原理图如下所示:

3b512fcea804dba3dfb3f1d5a731ebd9.png

此时会发现PIC12C508A-ISN元件的摆放方向有问题,按下【Y】键将元件垂直Y轴镜像,然后再选择右侧工具栏上的【放置不连接标记】按钮或者按下键盘上的【Q】键,注意下图中PIC12C508A-ISN2345引脚:

e65c03b2fa488c89c055a6836531d207.png
注意:对于具有隐藏引脚的元件,可以通过选择左侧工具栏上的【显示隐藏引脚】切换其可见状态。如果当前原理图遵循 VCCGND的命名规范,这些隐藏的电源引脚就会自动连接,但是通常并不建议隐藏元件的电源引脚。

接着添加两个分别连接至GNDVCC引脚的PWR_FLAG元件, 用于标识当前原理图的电源入口:

602972a74a9075eb8d310e579bd61b99.png

单击顶部工具栏上的【执行电气规则检查】按钮,或者按下键盘上的热键【Alt + I -> C】并且回车,检查完成后会生成如下错误报告:

3ffd95791fdbcf87aebf30bc59353d85.png

在提示位置添加不连接标记以后,再次执行电气规则检查,将不会再出现报错信息,此时原理图呈现效果如下:

40aea2af9fbc859fbbc35a6889392b23.png

原理图业已绘制完成,接下来将基于此生成网表文件kicad.net,选择顶部工具栏上的【生成网表文件】按钮,弹出如下对话框以后,将网表保存至当前项目所在的目录下面:

52dcb3f6ec689a21c6afa5f6cbad9537.png

老版本 KiCad 当中,PCB 的生成必须基于网表,而新版本中则可以通过顶部菜单栏上的【工具 -> 从原理图更新PCB…】直接将原理图变更更新至 PCB,不过必须首先为原理图元件指定对应的 PCB 封装。如果通过网表文件生成PCB,则是在网表文件生成完成以后,再执行顶部工具栏上的【分配PCB封装到原理图符号】按钮,打开如下的分配封装界面进行进一步操作:

f03ef2cec353101e479e143e07ab5dfe.png

在原理图编辑界面关联PCB封装的方式有多种,将鼠标放置到元件上面,然后右键菜单选择【属性 -> 编辑属性…】或者【属性 -> 编辑封装…】就可以完成指定元件的封装分配。如果需要批量指定原理图元件的封装,那么推荐的方式是采用顶部工具栏上的【编辑符号字段】按钮,在弹出的符号字段对话框上选择相应封装:

c6efae099fade8978eae45415c9ed78b.png

对于网络标识为U1的元件选择Package_DIP:IP-8_W7.62mm封装,对于自定义原理图元件J1则选择Connector:Banana_Jack_3Pin封装,而对于电阻元件R1R2应选择Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P2.54mm_Vertical封装,对于LED元件D1选择LED_THT:LED_D5.0mm封装:

e6b63c89e4b74d464405ee75fad94c16.png

网表文件用于描述原理图上的元件及其相应的连接关系,实质上是一个易于编辑的文本文件,这一点与.lib文件类似。保存封装设置以后,需要再次返回原理图编辑界面,重新点击工具栏顶部的【生成网表】按钮更新网表文件。

ef546cc299d59639f64af1b1fa7f285d.png

最后一步是创建物料清单 BOM,选择 Eeschema 原理图编辑器顶部工具栏上的【生成物料清单】按钮 。然后选择bom2csv.xsl插件,将 BOM 输出为*.xsl文件:

69d9687e2ce3fe88b4dd58d0d7705865.png

上面截图中,需要为xsltproc -o "%O.csv" "D:SoftwareTechKiCadbinscriptingpluginsbom2csv.xsl" "%I"当中代表输出文件的"%O"添加后缀名变为"%O.csv",注意对比下面两条命令:

xsltproc -o "%O" "D:SoftwareTechKiCadbinscriptingpluginsbom2csv.xsl" "%I"      # 生成 工程名 文件
xsltproc -o "%O.csv" "D:SoftwareTechKiCadbinscriptingpluginsbom2csv.xsl" "%I"  # 生成 工程名.csv 文件

由于知乎提供的Markdown编辑器不支持完整的表格以及书签语法,加上篇幅字数限制,因此在这里只发布了全文第1、2章节的部分内容,需要查阅带有书签的完整文章请前往笔者的博客Github Pages

开源 EDA 工具 KiCad 5.1.5 电路设计手册​uinika.gitee.io
62c02d7349e7a5c98feac6d6c206d73b.png
也欢迎加入成都天府软件园QQ群【621843391】,为文章勘误或者提出您的宝贵意见,也可以一起聊聊成都IT那些事儿 。也欢迎优秀原创技术类、IT产业经济类文章向知乎【成都IT圈】专栏进行投稿。

欢迎大家关注公众号【IT圈】:Electronics, Embedded & Web,获取更多电子技术、嵌入式系统、Web开发相关的原创性文章:

1d624c031e0493edc65ba7b28303d2a3.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值