差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
kicad6libconvention [2022/04/16 12:12] gongyusu [PCB封装规范] |
kicad6libconvention [2022/04/18 11:01] (当前版本) gongyu |
||
---|---|---|---|
行 1: | 行 1: | ||
## KiCad库的规范 | ## KiCad库的规范 | ||
参见其官方文档:[[https://klc.kicad.org/|Library Conventions - Library maintainer rules & guidelines]] | 参见其官方文档:[[https://klc.kicad.org/|Library Conventions - Library maintainer rules & guidelines]] | ||
- | KiCad官方有对其库的构成、管理以及用户提交的规范说明,通过这个说明文档,我们也可以快速了解KiCad对其库的通用规则,库的构成方式以及我们在使用中要注意到的一些问题。 | + | [[KiCad]]官方有对其库的构成、管理以及用户提交的规范说明,通过这个说明文档,我们也可以快速了解[[KiCad]]对其库的通用规则,库的构成方式以及我们在使用中要注意到的一些问题。 |
+ | [[KiCad]]官方提供[[https://gitlab.com/kicad/libraries/kicad-library-utils|专用的Python脚本]],来自动检测你的库是否满足其规范。 | ||
- | KiCad官方提供[[https://gitlab.com/kicad/libraries/kicad-library-utils|专用的Python脚本]],来自动检测你的库是否满足其规范。 | + | 每种PCB设计工具对元器件库的管理是不同的。Altium Designer提供了集成化的原理图符号、PCB封装的管理平台,KiCad则将元器件原理图符号编辑、管理功能和封装的编辑、管理功能分别由独立的功能模块来实现,即便集成化的元器件库管理平台,其原理图符号和PCB封装也可以分时构建。 |
+ | 正如前面讲述过的,PCB从设计到安装主要有三个环节 - 原理图绘制、PCB布局布线、PCB上的元器件安装,在这三个环节中用到的元器件的信息也是不同的: | ||
+ | * 原理图绘制中需要的元器件符号(Symbol); | ||
+ | * PCB布局、布线中需要的元器件封装(Footprint),它是二维的,现在越来越多的工具支持三维的3D模型的导入以及查看; | ||
+ | * PCB安装需要的元器件信息(Device information),在设计PCB的同时,你需要购买正确的元器件并在拿到PCB板以后把这些元器件安装到板子的正确位置上,因此需要元器件的基本信息(包括供应商信息)、在板子上的参考标号等。 | ||
+ | |||
+ | 在使用工具或查看器件的技术参数时通常会遇到以下的一些技术术语: | ||
+ | * Symbol:原理图的基本构成单元,是代表元器件功能的抽象符号; | ||
+ | * Footprint:PCB布局、布线中元器件的封装,它类似元器件在PCB上站立同PCB接触的脚印,准确来讲像“鞋”,能够通过焊接来稳定安放元器件的管脚(Pin); | ||
+ | * STEP:Standard for the Exchange of Product model data,是3D模型的一种文件格式; | ||
+ | * SPICE:Simulation Program with Integrated Circuit Emphasis,用于电路仿真分析; | ||
+ | * IBIS:Input/output Buffer Information Specification,用于信号完整性分析等; | ||
### 通用的规范 | ### 通用的规范 | ||
行 14: | 行 26: | ||
* 大写字母的规则 - 专用词可以全部大写,比如MCU、FPGA;厂商的名字按照厂商要求的规范,比如ROHM、Texas;连接在一起的两个单词,每个首字母大写,比如TestPoint | * 大写字母的规则 - 专用词可以全部大写,比如MCU、FPGA;厂商的名字按照厂商要求的规范,比如ROHM、Texas;连接在一起的两个单词,每个首字母大写,比如TestPoint | ||
* 库文件名字使用Unix格式的行结尾,比如:*.kicad_mod text=auto | * 库文件名字使用Unix格式的行结尾,比如:*.kicad_mod text=auto | ||
- | |||
- | |||
- | |||
### 原理图符号规范 | ### 原理图符号规范 | ||
行 125: | 行 134: | ||
封装库按照功能区分,名字以.pretty为扩展名 | 封装库按照功能区分,名字以.pretty为扩展名 | ||
连接器比较特殊: | 连接器比较特殊: | ||
- | * 先按照功能归类 - Conn_USB, Conn_HDMI | + | * 先按照功能归类 - Conn_USB |
- | * 如果其功能很难归类,就按照机械类型 - Conn_DSUB, Conn_DIN | + | |
+ | * 如果其功能很难归类,就按照机械类型 - Conn_DSUB | ||
每一个封装都是一个.kicad_mod的文件(存在.pretty目录下),封装的名字主要取决于封装的类型: | 每一个封装都是一个.kicad_mod的文件(存在.pretty目录下),封装的名字主要取决于封装的类型: | ||
+ | |||
专用的封装优先,比如QFN、C | 专用的封装优先,比如QFN、C | ||
+ | |||
封装的名字和管脚的数量中间用横线分割,比如QFN-48 | 封装的名字和管脚的数量中间用横线分割,比如QFN-48 | ||
+ | |||
带有特殊焊盘的封装在管脚数量后面添加特殊的标记,比如DFN-6-1EP_2x2mm_P0.5mm_EP0.61x1.42mm | 带有特殊焊盘的封装在管脚数量后面添加特殊的标记,比如DFN-6-1EP_2x2mm_P0.5mm_EP0.61x1.42mm | ||
+ | |||
封装的尺寸信息使用长x宽(高为可选)的方式表示:3.5x3.5x0.2mm | 封装的尺寸信息使用长x宽(高为可选)的方式表示:3.5x3.5x0.2mm | ||
管脚的分布:2x15 | 管脚的分布:2x15 | ||
行 141: | 行 156: | ||
专用的封装命名规范: | 专用的封装命名规范: | ||
SMD芯片命名 - LED_0805_2012Metric_ReverseMount | SMD芯片命名 - LED_0805_2012Metric_ReverseMount | ||
+ | |||
^英制代码 ^公制代码 ^英制尺寸 ^公制尺寸 ^ | ^英制代码 ^公制代码 ^英制尺寸 ^公制尺寸 ^ | ||
|01005 |0402 |0.0157 in × 0.0079 in |0.4 mm × 0.2 mm | | |01005 |0402 |0.0157 in × 0.0079 in |0.4 mm × 0.2 mm | | ||
行 220: | 行 236: | ||
3D模型的要求: | 3D模型的要求: | ||
* 所有的非虚拟的器件都要有3D模型的参考,即便目前还没有3D模型数据, | * 所有的非虚拟的器件都要有3D模型的参考,即便目前还没有3D模型数据, | ||
+ | |||
* 3D模型文件必须放置在一个库(目录)里,这个库与封装库有同样的名字,但以.3dshapes为扩展名:Capacitor_SMD.pretty → Capacitor_SMD.3dshapes | * 3D模型文件必须放置在一个库(目录)里,这个库与封装库有同样的名字,但以.3dshapes为扩展名:Capacitor_SMD.pretty → Capacitor_SMD.3dshapes | ||
+ | |||
* 3D模型文件要与封装命名一致(忽略掉文件扩展名): SOIC-8.kicad_mod → SOIC-8.wrl | * 3D模型文件要与封装命名一致(忽略掉文件扩展名): SOIC-8.kicad_mod → SOIC-8.wrl | ||
+ | |||
* 如果一个封装是一个简单的变形,不改变3D模型,可以使用一个通用的3D模型,不再需要复制这个模型: R0805_HandSoldering.kicad_mod → R0805.wrl | * 如果一个封装是一个简单的变形,不改变3D模型,可以使用一个通用的3D模型,不再需要复制这个模型: R0805_HandSoldering.kicad_mod → R0805.wrl | ||
+ | |||
* 模型的比例必须是1:1:1 | * 模型的比例必须是1:1:1 | ||
+ | |||
* 旋转和偏移必须为0(在3D模型软件中该器件的模型必须与封装相对准) | * 旋转和偏移必须为0(在3D模型软件中该器件的模型必须与封装相对准) | ||
+ | |||
* 指向3D模型的数据必须有${KICAD6_3DMODEL_DIR}/ 前缀 | * 指向3D模型的数据必须有${KICAD6_3DMODEL_DIR}/ 前缀 | ||
+ | |||
* 文件类型一定是.wrl (KiCad在Step导出的时候会自动用.step来代替) | * 文件类型一定是.wrl (KiCad在Step导出的时候会自动用.step来代替) | ||
行 232: | 行 255: | ||
### 3D模型规范 | ### 3D模型规范 | ||
+ | * WRL:WRL文件包含了材料的属性,可以用来做实际的渲染,但不能导出为MCAD套件 | ||
+ | * STEP:STEP文件用于和MCAD软件套件集成,但不包含材料属性,无法用于实际的渲染 | ||
+ | 对准和缩放: | ||
+ | * 3D模型必须准确对准,并且通过适当缩放能够匹配器件的封装 | ||
+ | * STEP文件包含了绝对的尺寸信息,不能再进行缩放 | ||
+ | * WRL文件没有指定绝对的尺寸,只是相对的尺寸,可以进行缩放 | ||
+ | * 3D模型的旋转方向必须正确 | ||
+ | |||
+ | 推荐使用[[https://www.freecad.org/|FreeCAD来创建和处理3D模型]],也可以选用OpenSCAD或[[https://gitlab.com/kicad/libraries/kicad-packages3D-generator|CadQuery]]. |