差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
kicad6libconvention [2022/04/16 11:02]
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 |
行 156: 行 172:
 |2512 |6332 |0.25 in × 0.13 in |6.3 mm × 3.2 mm | |2512 |6332 |0.25 in × 0.13 in |6.3 mm × 3.2 mm |
 |2920 |7451 |0.29 in × 0.20 in |7.4 mm × 5.1 mm | |2920 |7451 |0.29 in × 0.20 in |7.4 mm × 5.1 mm |
 +
 +
 +通用封装要求:
 +  * 数据手册的推荐信息要优先考虑
 +  * 管脚1在封装的左上角
 +  * 连在一起的铜有同一个焊盘名
 +  * 热焊盘要按照数据手册中规定的大小、位置以及是否需要热过孔
 +  * 封装的禁止区处理 - 比如天线等,要参照数据手册的规定
 +
 +丝印层的处理:
 +  * RefDes必须在顶层,文字大小为1mm,文字宽度为0.15mm,线宽在0.1 ~ 0.15mm之间
 +  * 丝印不能放置在焊盘上或其它暴露在外的铜区域
 +  * 对于SMD器件,安装器件以后,丝印必须能完整可见
 +  * 对于穿孔器件,如有需要,可以在器件下面放置能够帮助组装的附加信息
 +  * 器件的管脚1必须在丝印层标注出来,且在组装后能够看到
 +
 +装配层(F.Fab,​ B.Fab) 的处理
 +  * 元器件在PCB板上的简化的装配外形信息: ​
 +  * 必须在F.Fab层有简化的元器件外形信息,线宽0.1mm ~ 0.15mm
 +  * 对于有极性或有排列方向/​顺序的器件封装,管脚1要清晰标记出来
 +  * 器件的名字(封装的名字)要在F.Fab层显示出来,文字大小为0.5-1mm,推荐1mm,文字线宽为文字大小的15%,放置在器件轮廓的下面
 +  * 在F.Fab层也放置一个RefDes的copy
 +
 +外框层(F.CrtYd,​ B.CrtYd)的处理
 +在F.CrtYd层要有完整封闭的外框,采用0.05mm的线宽绘制,绘制时选择Grid为0.01mm,与器件实体之间的间隔设定规则为:
 +  * 间隔一般为0.25mm,小于0603封装的器件,间隔可以设定为0.15mm
 +  * 连接器的间隔一般设为0.5mm
 +  * 带壳的电容间隔一般设为0.5mm
 +  * 晶体的间隔一般设为0.5mm
 +  * BGA器件的间隔一般设为1mm
 +
 +表面贴装的器件:
 +类型选定为SMD
 +锚点(给贴片机指定位置用)选定为器件的中心位置
 +SMD器件的焊盘出现在F.Cu、F.Mask、F.Paste层,如果SMD器件放置在底层,则焊盘出现在B.Cu、B.Mask、B.Paste层
 +
 +穿孔器件:
 +  * 类型选择为Through Hole
 +  * 锚点放置在器件的第一个管脚位置
 +  * 第一个管脚为长方形或长方圆头形,其它焊盘为圆孔或椭圆孔
 +  * 穿孔器件的焊盘出现在所有的铜层、F.Mask,​ B.Mask层
 +  * 丝印层关闭
 +  * 圆环的最小宽度为0.15mm
 +  * 最小的孔径 = 最大管脚直径 + 0.2mm
 +  * 椭圆孔 - 在所有方向要保证离管脚有0.2mm的间距,只有在管脚的长宽比大于2的时候才允许使用椭圆孔
 +
 +虚拟的器件:
 +有封装(也许有原理图符号),但没有实际的器件与之相对应:
 +  * 安装孔
 +  * 焊接桥
 +  * Net Ties
 +  * 测试点
 +  * 框标
 +虚拟器件创建的时候需要在封装属性对话框中勾选“Virtual”
 +
 +封装属性
 +封装元数据按照需要填写:
 +参考字段设置为REF**
 +值和封装名字字段与封装的文件名一致(忽略掉.kicad_mod扩展名)
 +描述字段包含了用逗号分隔的信息,如果需要的化可以通过URL指向该封装的规格书
 +关键词字段包含了用空格分隔的关键词
 +
 +3D模型的要求:
 +  * 所有的非虚拟的器件都要有3D模型的参考,即便目前还没有3D模型数据,
 +
 +  * 3D模型文件必须放置在一个库(目录)里,这个库与封装库有同样的名字,但以.3dshapes为扩展名:Capacitor_SMD.pretty → Capacitor_SMD.3dshapes
 +
 +  * 3D模型文件要与封装命名一致(忽略掉文件扩展名): SOIC-8.kicad_mod → SOIC-8.wrl
 +
 +  * 如果一个封装是一个简单的变形,不改变3D模型,可以使用一个通用的3D模型,不再需要复制这个模型: R0805_HandSoldering.kicad_mod → R0805.wrl
 +
 +  * 模型的比例必须是1:​1:​1
 +
 +  * 旋转和偏移必须为0(在3D模型软件中该器件的模型必须与封装相对准)
 +
 +  * 指向3D模型的数据必须有${KICAD6_3DMODEL_DIR}/​ 前缀
 +
 +  * 文件类型一定是.wrl (KiCad在Step导出的时候会自动用.step来代替)
 +
 +
  
  
 ### 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]].