File-based Component Libraries
元件以及它们之间的连接方式,构成了你独特的电子产品。元件是该产品的基本构建块。那么,元件究竟是什么,又存储在哪里?
在现实世界中,元件是有形的物体,因此相对容易识别。但在虚拟的设计世界里,元件必须被抽象为一系列模型,以便在不同的设计领域中使用。在设计捕获与实现过程中,一个元件会在原理图中以符号表示,在 PCB 上以封装表示,在仿真中以 SPICE 模型表示,以信号完整性描述来分析信号质量,并以三维模型用于元件与 PCB 的 3D 可视化。一个元件,在每个设计领域都有不同的表示形式。
每个设计领域都需要专用模型。对于原理图捕获,该模型称为符号。由于设计环境的理念是“设计从原理图开始”,原理图符号被用来将各类模型关联在一起。
随后通过参数补充识别现实世界物理元件所需的更多细节,例如功率、容差、采购信息、数据手册引用等。

符号模型会链接到其他模型,从而在各个领域中完整描述该元件。3D 模型实际上是放置在封装之中的。
模型与模型库
每种模型类型和元件都需要存储在模型文件或库中。其中一些使用标准化文件格式(如 SPICE),而另一些使用专有格式(如用于存储原理图符号或元件的原理图库文件)。
某些模型类型(如 SPICE)采用“一文件一模型”的方式存储,称为模型文件。另一些(如 PCB 封装)存储在可包含一个或多个封装的文件中,称为模型库。
模型与库类型汇总
要支持电子开发流程中广泛的设计任务,需要多种模型类型与库格式。
下面汇总了各类模型与库类型。
| 设计领域 | 模型或库类型 | 文件扩展名 | 说明 |
|---|---|---|---|
| Schematic capture | 符号 | *.SchLib | Altium 原理图符号;可以仅包含符号本身,也可以链接其他模型并添加参数,以定义一个完整元件。 |
| PCB design | 封装 | *.PcbLib | 定义元件在 PCB 上的安装与连接点的封装/焊盘图形;既可存储制造相关元素(焊盘、丝印、阻焊等),也可包含可选的已装配元件 3D 表示。 |
| 3D PCB design | 3D 实体 | *.PcbLib | Altium 设计对象;在封装上放置一个或多个 3D 实体,以在 *.PcbLib 文件中构建元件的 3D 模型。 |
| STEP | *.STEP, *.STP | 标准 STEP 格式 3D 模型;可导入到 PCB 3D 实体对象中,并放置到 *.PcbLib 文件的封装上。 | |
| Parasolid 3D© | *.X_T, *.X_B | Parasolid 格式 3D 模型(ASCII 或二进制);可导入到 PCB 3D 实体对象中,并放置到 *.PcbLib 文件的封装上。 | |
| SOLIDWORKS 3D© | *.SldPrt | SOLIDWORKS 格式 3D 模型;可导入到 PCB 3D 实体对象中,并放置到 *.PcbLib 文件的封装上。 | |
| Circuit simulation | SPICE3f5 / XSpice / PSpice 模型 | *.mdl | SPICE 3f5 模型文件;使用 SPICE 语法描述元件的行为。 |
| *.ckt | SPICE 子电路文件;SPICE 格式网表,详细描述用于建模元件行为的电路。 | ||
| SimCode 模型 | *.txt + *.mdl | ASCII 数字 SimCode 模型文件/库,以及将数字模型映射到符号所需的中间模型链接(MDL)文件;用于混合信号电路仿真中的数字元件建模。 | |
| *.scb + *.mdl | 已编译的数字 SimCode 模型文件/库,以及将数字模型映射到符号所需的中间模型链接(MDL)文件;用于混合信号电路仿真中的数字元件建模。 | ||
| Signal Integrity analysis | IBIS 模型 | *.ibis | 输入/输出缓冲器信息规范文件;一种行为模型,用于描述输入或输出引脚的电气特性。 |
| Component creation | Altium Integrated Library | *.IntLib | 编译库;在其中存储所有类型的模型。IntLib 是 LibPkg 项目的编译输出。 |
| Component creation | Altium database linked library | *.DbLink | 数据库链接接口文件;使用存储在 SchLib 元件中的参数化数据,通过查询外部 ODBC 数据源来匹配合适记录(例如料号,或电阻值、功率与封装)。DbLink 中映射字段的数据会在放置元件时被检索并添加到元件中。 |
| Component creation | Altium database library | *.SVNDbLib | 带版本控制的 DbLib——通过接口连接到 SVN 仓库,对原理图与 PCB 模型进行版本控制。 |
元件
元件可以简单到两引脚电阻,也可以复杂到拥有成百上千引脚的大型连接器。为了在原理图页上更灵活地组织元件,软件提供了多项与显示相关的实用功能。
它是符号还是元件?
一旦你链接了其他领域模型并添加了参数,符号就成为元件。许多设计人员在原理图上看到它时仍会称其为符号,因为他们看到的就是符号;但附着在该符号上的,是其他领域模型与参数化细节,这些共同将其定义为元件。本文使用术语 symbol 来描述在原理图库编辑器中放置的图形对象与引脚。在其他所有情况下,则称其为 component。
符号在原理图库编辑器中创建。一旦你添加模型链接并添加参数,它就成为元件。元件细节可以在原理图库编辑器中添加;或者如果你使用 DbLink 或 DbLib 类型库,这些细节也可以从数据库中提取,并在原理图放置时添加到符号中(后文会进一步介绍)。另外,也可以在符号放置到原理图页之后再添加这些细节。
符号
符号在原理图库编辑器中创建。通过放置图形对象构建所需外形,然后添加引脚。正是引脚为元件带来电气智能:软件将其识别为电气连接点,并将其映射到 PCB 封装上的焊盘。
基于文件的库
Altium Designer 支持多种不同类型的基于文件的库,说明如下。
原理图与 PCB 模型及模型库
在电子设计自动化的早期,只有两个设计领域:原理图捕获与 PCB 布局。原理图捕获的输出是一组打印的原理图页,而 PCB 布局的输出则是 PCB 制造与装配文件。
为此,设计人员需要能够创建并存储原理图符号,以便随时放置到原理图页上。诸如元件数值、电压、功率、封装等细节,通常是在从符号库将符号放置到原理图页之后再添加。
至于封装,编辑能力的重点在于将设计实现为一组图层,这些图层包含光绘所需的形状。这种以输出为导向的重点决定了所支持的形状细节,甚至包括位号与其他丝印字符串所使用的字体。
这些简单的符号与封装被创建并存储在库中,最初两者的文件扩展名都是 *.Lib。当 Windows 放宽了对扩展名三字符长度的限制后,原理图符号改为 *.SchLib,封装改为 *.PcbLib。
集成库
Main page: 集成库
随着时间推移,人们越来越希望将元件创建过程与产品设计过程分离。设计团队希望在库中就把元件完整定义好,而不是在符号放置到原理图页之后再补充元件细节。与此同时,电路仿真等其他设计领域也在发展,因此也需要支持这些领域的模型。作为创建可直接使用元件的一部分,你还需要能够验证符号与模型之间的映射关系,然后将这些元件交付为一个单一、可直接使用的库文件。
为满足这些要求,开发了集成库(*.IntLib)。集成库在单个文件中包含所有类型的模型。集成库的源文件是库包(*.LibPkg),它是一个设计工程项目,用于将源原理图符号、封装(footprint)和仿真模型汇集在一起。当库包工程被编译时,会验证符号到模型的映射 并创建集成库。使用 IntLib 意味着库变成了一个可直接放置即用型元器件的来源,这为希望将元器件创建与产品设计分离的中大型组织提供了 一个良好的解决方案。
术语表
|
元器件 |
元器件是放置在电路板上的物理器件,例如集成电路或电阻。在这些元器件中,可能包含单个器件,或将一组器件封装在一起。 |
|
3D 实体 |
3D 实体是一个多边形形状的对象,可添加到封装 中的任何已启用机械层上。它可用于在水平与垂直平面上定义元器件的物理尺寸与形状,从而实现更可控的元器件间隙检查 以及更好的 3D 可视化。3D 实体对象还可作为导入模型在元器件封装中的占位符,或作为不安装在 PCB 上的自由悬浮对象,例如外壳和装配体。 |
|
位号 |
位号是用于在 PCB 中区分不同元器件的唯一标识符。它们可以是字母、数字或两者的组合。焊盘也有唯一的位号,对应元器件的引脚编号。 |
|
封装 |
封装定义(或建模)元器件安装到 PCB 上所需的空间。元器件的封装模型存储在 PCB 库中。封装可包含用于连接器件引脚的焊盘,以及在丝印(overlay)层上由线段和/或圆弧段构成的封装外形轮廓。也可包含器件安装特征。PCB 库中的封装没有位号或注释。它们在放置到 PCB 图纸上并分配位号与注释后,才成为元器件。 |
|
库 |
原理图库是一组元器件,其各个部件存储在单独的图纸中。PCB 库包含元器件封装。每种库类型都有各自的编辑器。集成库将原理图库与其相关模型组合在一起,且不能通过库编辑器直接编辑。 |
|
对象 |
对象是指可放置在库编辑器设计空间中的任何单个条目。 |
|
焊盘 |
焊盘通常用于在封装中创建元器件引脚的连接焊盘。 |
|
部件 |
部件是由一组图形对象组成,用于表示多器件元器件中的一个部分。部件存储在原理图元器件库中元器件内部的独立图纸中。 |
|
引脚 |
元器件引脚赋予元器件电气属性,并定义元器件上的连接点。 |


