数据库库功能的核心是数据库库文件。根据您使用的是标准数据库库还是受版本控制的数据库库,它有两种形式:
-
Standard Database Library - Database Library 文件。该文件使用 Altium Designer 的 DatabaseLib Editor 创建和管理。当主设计窗口中的活动文档是 *.DbLib 文件时,此编辑器可用。
-
Version-Controlled Database Library - SVN Database Library 文件。该文件使用 Altium Designer 的 SVNDatabaseLib Editor 创建和管理。当主设计窗口中的活动文档是 *.SVNDbLib 文件时,此编辑器可用。
在 DatabaseLib Editor 中打开的 DbLib 文件示例。将鼠标悬停在图像上可查看在 SVNDatabaseLib Editor 中打开的 SVNDbLib 文件示例。
要新建这些类型的文件,请从主菜单选择 File » New » Library 命令,并在打开的 New Library 对话框的 Database 区域中选择 Database Library 或 SVN Database Library 选项。
连接到外部数据库
只有在活动的 Database Library/SVN Database Library 文件成功连接到所需的外部数据库后,表格和映射数据才会显示在编辑器的主显示窗口中。连接通过 Source of Connection 区域中提供的控件来定义。
通过 DbLib 文件指定与外部数据库的连接。将鼠标悬停在图像上可查看通过 SVNDbLib 文件进行连接的示例。
任何提供 OLE DB 支持的数据库都可以连接。该区域提供的各个选项都使用 OLE DB 连接字符串连接到目标数据库。有些数据库可能不提供 OLE DB 支持。然而,几乎所有当今使用的数据库管理系统都可以通过开放数据库连接(ODBC)接口访问。数据库链接功能使用 Microsoft 的 ODBC 提供程序,它允许 ADO(ActiveX Data Object)连接到任何 ODBC 数据源。因此,任何 ODBC 数据库都可以连接。ODBC 数据库的 OLE DB 提供程序作为连接字符串的一部分来指定。
也可以在 Database Connection 对话框的 Connection 选项卡上定义连接。该对话框可通过主菜单选择 Tools » Database Connection 命令访问,或点击 Advanced 按钮(位于该区域底部 Connect 按钮的右侧)。
Options and Controls of the Database Connection Dialog
Connection 选项卡
-
Source of Connection
-
Use Data Link File - 连接字符串是数据库连接信息的字符串形式,并且可以保存为一个带有 .udl 扩展名的独立文件,称为 Microsoft Data Link 文件。如果您想使用数据链接文件作为连接到数据库的来源,请选择此选项,然后点击 Browse 打开 Select Data Link File 对话框,或使用下拉列表查找所需的 .udl 文件。
-
Use Connection String - 选择此选项,然后点击 Build 打开 Data Link Properties dialog,以重新构建用于映射元件参数的数据库连接字符串。 连接字符串中指定的信息可能会因所选的 OLE DB 提供程序而异。
Advanced 选项卡
-
SQL Options
-
Quote Tables - 启用以使用特定的引号字符来引用表。
-
Left Quote Character - 指定左引号字符。默认值为 "["。
-
Right Quote Character - 指定右引号字符。默认值为 "]"。
所使用的具体引号字符取决于所用数据库。例如,方括号([ ])仅在 Microsoft 数据库(如 MS Access)中有效,而 MySQL 使用 "`" 字符进行引用。
-
Include Table Schema Names - 启用此选项以包含带有表架构名称(Table Schema Names)的表。默认情况下该选项关闭,仅使用普通表名的表。
大多数数据库的表通过表名来标识。其他数据库(如 Oracle)的表还带有一个称为 table schema name 的前缀。必须启用此选项才能包含此类表。
-
Field Data Type - 为新字段指定数据类型。例如,TEXT(N) 或 VARCHAR(N) 可用于 MS Access 或 MySQL 数据库;VARCHAR2(N) 可用于 Oracle 数据库。
快速连接到 Access 和 Excel 数据库
Select Database Type 选项提供了一种快速创建连接字符串的方法,适用于目标数据库由 Microsoft Access 或 Microsoft Excel 创建的情况。使用该选项时,选择数据库类型,然后浏览并选择所需的数据库文件。相应的连接字符串将自动生成并填入 Use Connection String 选项的字段中。
可以指定完整路径,或者选择将路径以相对于 Database Library/SVN Database Library 文件的方式存储。
构建连接字符串
如果您的公司数据库不是基于 Access 或 Excel,并且您希望显式构建连接字符串,请启用 Use Connection String 选项,然后点击右侧关联的 Build 按钮。将出现 Data Link Properties 对话框。
通过 Data Link Properties 对话框构建连接字符串。
该对话框在 Connection 选项卡打开。OLE DB Provider Microsoft Office <Version> Access Database Engine OLE DB Provider 默认在对话框的 Provider 选项卡中设置。这是新建 Database Library/SVN Database Library 文件的默认提供程序设置,也用于连接 Access 数据库文件(*.mdb)。请根据需要更改提供程序。
在 Connection 选项卡中输入要连接的数据库名称(包括路径)。
如果您的数据库需要登录权限,请按需输入,并可在对话框的 Advanced 选项卡中设置其他可用的高级选项。All 选项卡提供已定义链接选项的汇总列表,以及与所选 OLE DB Provider 相关的扩展选项。可在该选项卡中按需修改选项。
定义链接选项后,您可以点击 Test Connection 按钮(位于 Connection 选项卡)检查连接是否成功。连接成功将弹出确认对话框。
Data Link Properties 对话框是 Microsoft 对话框,因此按下 F1 或使用可用的 Help 按钮将访问 Microsoft Data Link Help 文件。该文件不属于 Altium Designer 的文档集。
指定 Data Link 文件
如果您要连接的数据源是通过 Microsoft Data Link 文件(*.udl)描述的,请启用第三个连接选项——Use Data Link File——并点击关联的 Browse 按钮以定位所需文件。Data Link 文件本质上是用于存储连接字符串的容器。
继续连接
在定义与外部数据库的连接后,Connect 按钮的文字将变为加粗,表示您可以继续进行连接。如果连接详情正确,目标数据库的表和映射信息将被加载到 Database Library/SVN Database Library 文件中。Connect 按钮上的文字将变为 Connected,并且按钮将变为灰色不可用。
如果连接详情存在问题,例如连接字符串构建不正确或路径输入错误,连接将失败,并会出现消息提示。请检查连接设置,然后再次点击 Connect 按钮。
在数据库库中标记连接失败的示例。
如果在已连接到数据库时更改连接设置,实时连接将丢失,Connect 按钮上的文字将变为 Reconnect。点击以重新建立连接。
首次成功连接并保存 Database Library/SVN Database Library 文件后,只要目标数据库的位置和文件名未更改,每次打开该文件都会自动建立连接。
指定到版本控制仓库的链接(仅 SVNDbLib)
对于 DbLib,符号库和模型库存储在您的硬盘或其他本地/网络介质上。请记住,对于 SVNDbLib,这些库存储在 Subversion 仓库中并受版本控制。作为 SVNDbLib 文件的一部分,您必须定义到该仓库的链接。到 SVN 仓库的连接在 Database Library Options 对话框(Tools » Options)的 SVN Repository 选项卡中定义。也可以通过点击文档视图中 Field Settings 区域的 Options 按钮来访问该对话框。
连接到基于文件的 SVN 仓库的示例。
数据库表列表
成功连接到外部数据库后,将加载表和映射数据。DbLib/SVNDbLib 文档左侧列出已连接数据库中存在的所有表。
对于基于 Excel 的数据库,表实际上是所链接电子表格中的一个工作表。表名将带有后缀 $。
已连接数据库中存在的表。
每个表条目旁边的 Enable 选项允许您控制该表是否应成为最终数据库库的一部分。当数据库库被添加到 Components panel 中用于浏览的“可用的基于文件的库”列表时,每个表都会作为一个独立的库实体出现。因此,尽管实际只添加了一个数据库库,但从 Components panel 的角度看,就像添加了多个彼此独立的库一样。更多信息请参见 Searching for Components in File-based & Database Libraries。
当你在列表中单击某个表条目时,其图标会从
变为
,以便将其与当前处于活动状态的表区分开来。该表(连同其所有数据)会显示在文档的 Table Browser 选项卡上。这是表的可编辑视图,使你无需启动外部数据库本身,就能快速查阅其内容,并在需要时进行编辑。
在已连接的数据库中浏览源表。
要扩大表浏览器(如上图所示)的显示区域,可通过单击文档视图右上角的

控件,折叠其上方的整个区域(连接与字段设置)。单击

可展开。该表同样支持常见的分组、排序与筛选功能。
指定匹配条件
在从外部数据库放置元件之后,需要有一种方式来保留已放置元件与用于创建它的数据库记录之间的链接。本质上,这两者需要进行匹配。
放置元件时,会使用数据库记录中的对应字段即时创建参数信息。放置后,原理图元件与数据库记录之间的链接将通过这些参数中的一个或多个来建立。文档的 Field Settings 区域允许你定义匹配条件——可以是简单的单键查找,也可以是使用 Where 子句的更高级匹配。
匹配条件按表逐一指定。
控制放置后的匹配条件。
单键查找
如果启用 Single key lookup 选项(默认启用),则 Database field 和 Part parameter 字段将可用。前者列出数据库活动表中所有可用的字段名(列标题)。由于原理图元件的参数是在放置时添加的,Part parameter 字段会反映所选择的数据库字段。
通常,所用的查找键字段应能在外部数据库中唯一标识每个元件,例如料号(Part Number)。在文档的 Field Mappings 选项卡上,所选查找字段会通过 Design Parameter 条目以灰显方式标识出来。
通过料号进行单键映射。
在放置之后的某个阶段使用 Update Parameters From Database 功能时,会从已放置的原理图元件中读取所选键参数的信息,然后在数据库中所选(键)字段里进行搜索——跨所有已启用的表。当匹配成功时,就可以将父表中该记录其他单元格的信息回写到原理图元件中已映射的参数。
高级匹配 - Where 子句
当存在唯一的料号/ID 可用于匹配时,Single key lookup 选项效果很好;但当按非唯一参数(如电容值或电阻值)匹配时,就不太有效。此时应使用更高级的 Where 子句,使你能够指定多个键进行匹配,从而将原理图元件链接到其源数据库记录。
在最简单的形式下,Where 子句(使用 SQL 语法编写)会反映用于单键查找的所选条目。例如,如果选择 Database field 为 Part Number(默认值),则 Part parameter 字段也会自动设置为 Part Number,Where 子句的条目将为:
[Part Number] = '{Part Number}'
数据库字段(表列)外的方括号是引用字符,其设置位于 Advanced tab 的 Database Connection dialog 中。可通过单击文档 Source of Connection 区域中的 Advanced button,或从主 Tools menu 进入该对话框。
Advanced tab 的 Database Connection dialog 提供了额外的 SQL 选项,用于在构造 Where 子句时对
表进行引用,或使用表架构(schema)名称。
在对表名进行引用时,所使用的具体引用字符取决于你所用的数据库。例如,方括号 [ ] 仅适用于 Microsoft 数据库,如 Access、通过 ADO 访问的 Excel,或 MSSQL(较新版本)。MYSQL 会使用 `(反引号)字符进行引用。通常只有当列名包含空格或是(该数据库的)保留字时,才需要在任何数据库中对列名加引用。请查阅你所用数据库软件的文档,了解使用的是哪种引用字符(如果有)。
花括号(大括号)表示所引用的条目是一个设计参数。单引号用于指定将该设计参数按字符串处理,而不是按数字处理(数字不加引号)。类型匹配非常重要,因为 SQL 对类型敏感。设计参数应与数据库中该列的类型保持一致。
使用标准 SQL 语法,Where 子句可以扩展为通过多个 Database field/Part parameter 条目进行匹配,例如:
[Capacitance] = '{Capacitance}' AND [Tolerance] = {Tolerance} AND [Manufacturer] = '{Manufacturer}'
在这种情况下,将使用三个不同的设计参数链接到数据库相关表中的单条记录。注意,Tolerance 设计参数的条目未加引号。这意味着数据库关联表中的该列类型是 Number 而不是 String。
使用标准 SQL 语法,你可以将 Where 子句写得非常简单,也可以写得非常复杂。
将数据库字段映射到设计参数
从数据库库放置元件时,会在放置时创建/添加该元件的设计参数。实际创建哪些参数,以及放置后使用 Tools » Update Parameters From Database 命令更新其信息时所采用的选项,由 Database Library/SVN Database Library 文件中指定的映射与更新信息决定。这些设置在主文档视图的 Field Mappings 选项卡上完成。
映射与更新选项按表逐一指定。
在 DbLib/SVNDbLib 文档的 Field Mappings 选项卡上指定参数映射与更新选项。
模型与参数映射
Field Mappings 选项卡中最左侧的两列用于控制将数据库中的哪些信息映射到元件的属性、模型与参数。
-
Database Field Name - 此列列出数据库当前活动表中的所有字段(列)名称。
-
Design Parameter - 此列定义数据库中每个对应字段的用途。它可以用作元件符号或封装模型的来源(会被方括号括起来),也可以作为元件参数包含在内(不加方括号)。
当你打开一个已连接到数据库的 DbLib/SVNDbLib 文档时,会注意到某些 Design Parameters 带有方括号,而另一些则没有。方括号表示保留名称,例如 [Library Ref]。这些数据用于填充元件的属性与模型。不带方括号的 Design Parameters 会成为元件参数。
初始映射会在连接到数据库时自动执行,并将所有数据库字段映射进来。
请注意,自动映射假设数据库字段名与 Altium Designer 中使用的保留名称一致。如果不一致,则必须手动配置映射。
属性与模型
如果数据库字段名属于以下保留名称之一,则对应的属性/模型映射条目会在 Design Parameter 字段中自动设置:
-
Description → [Description]
-
Footprint Ref → [Footprint Ref]
-
Footprint Path → [Footprint Path]
-
Footprint Ref n → [Footprint Ref n]
-
Footprint Path n → [Footprint Path n]
可在数据库表中指定不限数量的封装模型引用(及路径),并在 DbLib/SVNDbLib 文件中进行映射。在保留名称中,n 表示从 2 开始的正整数。
-
Library Ref → [Library Ref]
-
Library Path → [Library Path]
-
Orcad Footprint → [Orcad Footprint]
-
Orcad Library → [Orcad Library]
这些引用用于导入 OrCAD CIS 配置文件与库,并生成标准数据库库(DbLib)。
-
PCB3D Ref → [PCB3D Ref]
-
PCB3D Path → [PCB3D Path]
-
对 PCB3D 的引用指向旧版 3D 查看器,不应在新设计中使用。PCB 编辑器的原生 3D 引擎可以渲染与元件封装关联的元件实体以及导入的 3D 模型文件。
-
可以在 SVNDbLib 文件中定义 PCB3D 模型映射,但不支持在 Subversion 仓库中存储 PCB3D 模型库。
-
Sim Description → [Sim Description]
-
Sim Excluded Parts → [Sim Excluded Parts]
-
Sim File → [Sim File]
-
Sim Kind → [Sim Kind]
-
Sim Model Name → [Sim Model Name]
-
Sim Netlist → [Sim Netlist]
-
Sim Parameters → [Sim Parameters]
-
Sim Port Map → [Sim Port Map]
-
Sim Spice Prefix → [Sim Spice Prefix]
-
Sim SubKind → [Sim SubKind]
对于外部数据库中的一个元件,只能定义一个仿真模型链接。通常一个元件只会链接一个仿真模型。若你希望设置多个仿真模型链接,则其他链接需要在源原理图库文件中为该元件定义并存储。
版本控制数据库库(SVNDbLib)支持链接的仿真模型,但不支持在 Subversion 仓库中存储仿真模型文件。
这些映射定义了该元件的属性与模型信息。放置元件时,将从指定的原理图库中提取对应数据库记录 [Library Ref] 字段所指定的原理图符号。同样,记录中存储的 PCB 封装与仿真模型信息将分别作为链接的封装模型与仿真模型添加到元件中。
要能够将元件从 Database Library/SVN Database Library 放置到原理图上,[Library Ref] 条目必须存在于 Design Parameter 列中,并映射到用于指定原理图符号的 Database Field Name。如果数据库表在不同的 Database Field Name 下包含该符号引用,例如 SCH Symbol,则需要使用该单元格可用的下拉列表,将此字段对应的 Design Parameter 条目手动设置为 [Library Ref]。
同样地,如果模型引用信息是以不同的字段命名方式写入数据库的,则需要针对每个字段依次通过下拉列表选择合适的 Design Parameter 条目([Footprint Ref]、[Footprint Ref n]、[PCB3D Ref]、[Sim Model Name] 等等)来进行手动映射。
为了在放置元件时定义其符号和模型信息,数据库中的符号与模型引用字段是关键的
映射实体——请确保映射中包含一个符号以及至少一个 PCB 封装引用。
如前所述,可以映射多个 PCB 模型。映射到 Design Parameter [Footprint Ref] 的 Database Field Name 将作为元件放置到原理图时的默认封装。当设计传输到 PCB 域时,将放置的就是该封装。
仿真模型映射
本节讨论可添加到外部数据库表中的各个数据库字段,用于定义仿真模型链接;该链接会在放置元件时创建。
-
Sim Model Name – 你希望使用的模型名称。元件放置后,此信息将显示在 Sim Model 对话框的 Model Name 字段中。
在 DBLib 文件中将数据库字段映射到设计参数时,Sim Model Name 字段类似于 Footprint Ref、Library Ref 等字段。
-
Sim Description – 链接模型的描述。该信息为可选项,不影响仿真模型链接的运行。
-
Sim File – 用于查找 Sim Model Name 字段中所指定仿真模型的特定模型文件。该字段有多种用法:
-
你可以输入模型文件的绝对路径(例如
C:\DbLibs\Switching Diodes\Libraries\JAS33.mdl)。系统会在该文件中搜索 Sim Model Name 字段指定的模型,若找到则使用。
-
你可以输入模型文件的相对路径(相对于 DbLib 文件)(例如
Libraries\JAS33.mdl)。系统会在该文件中搜索 Sim Model Name 字段指定的模型,若找到则使用。
-
你也可以只输入模型文件名(例如
JAS33.mdl))。将使用 DbLib 文件中定义的搜索路径来定位第一个与指定名称匹配、且包含与 Sim Model Name 字段所指定模型匹配项的模型文件。
-
你可以将该字段留空。将使用 DbLib 文件中定义的搜索路径来定位第一个包含与 Sim Model Name 字段所指定模型匹配项的模型文件。
DbLib 文件的搜索路径在 Database Library Options 对话框的 Symbol & Model Search Paths 选项卡中定义(Tools » Options)。
-
Sim Kind – 所链接模型的父类别。
-
Sim SubKind – 所链接模型的类型。
-
Sim Netlist – 与所链接模型类型相一致的网表模板信息。若你要指定自定义网表模板并将 Sim SubKind 字段设置为 Generic Editor,该字段会变得尤为重要,从而让你能更好地控制写入网表的信息。
必须定义该字段且不能留空,否则不会在仿真网表中为该模型生成条目,并且从数据库库放置该器件时将无法进行仿真。
Netlist Template Syntax
在定义 Netlist Template 时,输入的信息应符合 SPICE 的要求以及下述语法规则。
输入到模板中的字符会原样写入 SPICE 网表,以下特殊字符除外:
| % |
百分号 |
| @ |
at 符号 |
| & |
与号 |
| ? |
问号 |
| ~ |
波浪号 |
| # |
井号 |
在生成网表时,这些字符会按下表所示进行转换:
| 网表模板中的语法... |
网表生成器替换为... |
| @<param> |
<param> 的值。若不存在该名称的参数,或未为其赋值,则会报错。 |
| &<param> |
<param> 的值。若参数未定义,不会报错。 |
| ?<param>s...s |
若 <param> 已定义,则输出分隔符 s...s 之间的文本。 |
| ?<param>s...ss...s |
若 <param> 已定义,则输出第一组 s...s 分隔符之间的文本;否则输出第二组 s...s 分隔符之间的文本。 |
| ~<param>s...s |
若 <param> 未定义,则输出分隔符 s...s 之间的文本。 |
| ~<param>s...ss...s |
若 <param> 未定义,则输出第一组 s...s 分隔符之间的文本;否则输出第二组 s...s 分隔符之间的文本。 |
| #<param>s...s |
若 <param> 已定义,则输出分隔符 s...s 之间的文本;但若 <param> 未定义,则忽略模板其余部分。 |
| #s...s |
若后续 Netlist Template 条目中有任何文本需要写入 XSpice 网表,则输出分隔符 s...s 之间的文本。 |
| %<pin id> |
与映射到 <pin id> 的原理图引脚相连的网络之网络名。 |
| %% |
字面量百分号字符。 |
在上表中,
-
s 表示分隔符字符(, . ; / |)。
-
<param> 指参数名称。
如果参数名包含任何非字母数字字符,应使用双引号括起来。例如:
@"DC Magnitude" - 此处使用双引号是因为名称包含空格。
&"Init_Cond" - 此处使用双引号是因为名称包含下划线。
当你希望为参数名添加字母数字前缀时,也应使用双引号。例如:
@"DESIGNATOR"A - 使用双引号可确保将 A 追加到元件位号后。
以下是前表中特殊字符语法条目的示例。每个示例都说明了该语法条目如何被网表生成器转换。
@"AC Phase"
参数名 AC Phase 因包含空格而用大括号括起。它将在网表中被替换为 AC Phase 参数的值。如果不存在该名称的参数,或其值为空,则会报错。
&Area
如果存在名为 Area 的参数且有值,则其值会写入网表。如果参数未定义(即不存在或未赋值),则网表中不会写入任何内容,但不会报错。这可用于可选参数。
?IC|IC=@IC|
如果名为 IC 的参数已定义,则会将 || 分隔符内的文本插入网表。例如若 IC 的值为 0.5,则会在网表中用 IC=0.5 替换该条目。如果参数未定义,则不会向网表插入任何内容。
?IC/IC=@IC//IC=0/
与前一示例相同,但如果 IC 参数未定义,则会向网表插入 IC=0。另请注意,这里使用了不同的分隔符字符。
~VALUE/1k/
如果名为 VALUE 的参数未定义,则会向网表插入文本 1k。
~VALUE/1k//@VALUE/
与前一示例相同,但如果 VALUE 参数已定义,则会将其文本值插入网表。
#"AC Magnitude"|AC@"AC Magnitude"|@"AC Phase"
该示例可在正弦电压源的预定义网表模板中看到。
如果已定义 AC Magnitude 参数,则会对分隔符内的内容进行求值并插入网表。网表中其后的所有条目也会被求值并写入网表(此处为 @"AC Phase")。
例如 AC Magnitude=1 且 AC Phase=0,则会向网表插入 AC 1 0。但如果 AC Phase 未定义,则会报错。
如果 AC Magnitude 参数未定义,则网表模板中 #"AC Magnitude" 条目之后的内容都不会写入网表。
#|PARAMS:|?Resistance|Resistance=Resistance|?Current|Current=@Current|
该示例可在参数化子电路的预定义网表模板中看到(参见 Fuse.PrjPcb 中的 F1)。
如果 Resistance 和 Current 参数都未定义,那么在网表中 #|PARAMS:| 条目之后将不会插入任何文本,因此分隔符中的文本也会被省略。
例如,如果参数取值为 Resistance=1k 且 Current=5mA,那么在 #|PARAMS:| 条目之后将会有文本,且在网表中生成的条目将是 PARAMS: Resistance=1k Current=5mA。
@DESIGNATOR%1%2@VALUE
此示例用于演示 % 字符的用法。
例如,如果参数取值为 DESIGNATOR=R1 且 VALUE=1k,并且在 Pin Mapping 区域的 Sim Model 对话框中按下表对引脚进行映射:
| 原理图引脚 |
模型引脚 |
原理图引脚所连接的网络名 |
| 1 (N+) |
1 (1) |
GND |
| 2 (N-) |
2 (2) |
OUT |
那么文本 R1 GND OUT 1k 将被写入该器件的 SPICE 网表中。
-
Sim Spice Prefix – 你要链接的模型类型的 SPICE 前缀。
-
Sim Port Map – 将原理图器件的引脚映射到所链接模型的引脚。器件放置后,这些信息将显示在 Pin Mapping 区域的 Sim Model 对话框中。
每一对引脚配对必须按以下格式输入:
(SchematicPinNumber:ModelPinNumber),
并且每个映射配对之间用逗号分隔。
例如,在映射二极管仿真模型时,原理图引脚 1(阳极)必须映射到模型引脚 1(阳极),原理图引脚 3(阴极)必须映射到模型引脚 2(阴极),则应在数据库字段中输入:
(1:1),(3:2)
-
Sim Excluded Parts – 如果你希望将多分部器件中的某些部分排除在仿真之外,请在数据库中创建此字段。该信息对应于 Exclude part from simulation 选项(位于 Pin Mapping 对话框的 Sim Model 区域)。
默认情况下,多分部器件的所有部分都会包含在仿真中,因此你只需按编号指定要排除的部分即可。排除列表中的多个部分用逗号分隔。例如,如果一个器件有四个部分,并且你不希望在任何仿真中包含第 2 和第 4 部分,那么应在数据库字段中输入:
2,4
-
Sim Parameters – 如果你希望为模型的仿真参数赋值,请在数据库中创建此字段。这些参数可在器件级别定义,而不是包含在模型文件中的更高级参数。
参数必须按以下格式输入:
ParameterName=Value,
多个参数必须用竖线字符(|)分隔。
你可能还记得,器件级仿真参数也可以作为器件参数来设置——显示在相关 Component Properties 对话框的 Parameters 区域中,并且可以显示在原理图页上。默认情况下,Sim Parameters 字段中的参数条目会自动添加为器件参数。如果你不希望某个仿真参数被添加为器件参数,只需在参数名之前加上感叹号前缀(例如 !Initial Voltage=100mV)。
以二极管模型为例,它具有以下四个器件级参数:
现在考虑在数据库中为面积系数(例如 2)和温度(例如 22°C)添加数值。同时,这两项都不应被添加为器件参数。则 Sim Parameters 字段中的条目应为:
!Area Factor=2|!Temperature=22
从数据库库中放置器件后,你可以验证为仿真链接定义的信息是否确实符合要求。当在设计空间中选中已放置的器件时,在 Properties 面板的 Parameters 区域中选择仿真模型条目,点击
按钮以访问 Sim Model 对话框,在其中你可以检查:
-
模型文件是否按预期被定位到。找到后,对话框的 Model File 选项卡将显示该文件内容。
-
来自数据库的其余仿真信息是否按预期添加到了对话框中。
运行仿真时,将使用数据库字段中存储的值来作用于从数据库库放置的器件。但请注意,如果你为从数据库库放置的器件访问某个仿真模型的 Sim Model 对话框并点击 OK,则会根据所选模型文本自动为该器件设置 Sim Netlist 和 Sim Spice Prefix 字段。
参数
所有其他数据库字段名将使用相同名称自动映射为设计参数。例如,如果数据库中的某个字段名为 Tolerance,则会映射一个名为 Tolerance 的设计参数。你可以通过点击其单元格并直接输入新名称来更改设计参数名称。器件放置到原理图页后,正是这些设计参数名称会显示在该器件相关属性对话框的 Parameters 区域中。
数据库中可能为某个器件关联了大量数据字段,但并非所有字段都希望(甚至需要)在器件放置到原理图页时作为设计参数添加到器件中。其中很多信息可能只在生成物料清单(BOM)时才需要。Report Manager dialog 允许你直接从已链接的数据库向 BOM 添加参数信息——从而减少随原理图源文档一起“携带”的信息量。更多信息请参阅 Preparing a BOM in the Report Manager 一节。
对于你明确不希望从数据库映射的字段,将 Design Parameter 条目设置为 [None]。未映射的数据库字段会在该选项卡中以红色叉号图标(
)区分;已映射的数据库字段则以绿色对勾图标(
)区分。
按需配置参数映射。设置为 [None] 可防止数据库中的某个参数被映射到已放置的器件。
如有需要,未映射的参数也可以直接包含在 BOM 中。
要快速重新映射某个未映射字段,请点击该字段所在行并使用 Ctrl+D 键盘快捷键。注意,对于模型映射,你需要从相应的 Design Parameter 下拉列表中手动选择。
参数更新选项
Field Mappings 选项卡中的其余列允许你指定参数在以下情况下所采取的动作:首次从数据库库放置器件时,或在器件放置后使用 Tools » Update Parameters From Database 命令更新器件时。
这四列如下:
-
Update Values - 此列中的单元格用于确定:当某个参数在原理图页和数据库中都存在,但当前值不同,应采取什么动作。可选择用数据库中存储的值更新已放置器件的参数(Update),或完全不更新(Do not update)。该选项在器件放置后使用 Update Parameters From Database 命令时生效。
-
Add To Design - 此列中的单元格用于确定:当在数据库中找到某个参数,但已放置器件中不存在该参数时,应采取什么动作。你可以选择添加该参数(Add)、不添加该参数(Do not add),或仅当该参数在数据库中被赋值时才添加(Add only if not blank in database)。该选项在首次从数据库库放置器件以及器件放置后使用 Update Parameters From Database 命令时均生效。
-
Visible On Add - 此列中的复选框用于确定:由于首次放置或放置后更新而新添加的参数,是否在原理图页上对该器件可见(启用)或不可见(禁用)。
-
Remove From Design - 此列中的单元格用于确定:当发现已放置器件中存在某个参数,但该参数不在数据库中,或虽在数据库中但没有值时,应采取什么动作。你可以选择完全不移除该参数(Do not remove),或仅当该参数在数据库中未被赋值时才移除(Remove only if blank in database)。该选项在器件放置后使用 Update Parameters From Database 命令时生效。
初始时,对于每个已映射的数据库字段,Update Values、Add To Design 和 Remove From Design 字段将被设置为 Default 条目,并且 Visible On Add 选项将被禁用,如下图所示。
初始(默认)参数更新选项。
从图中可以看出,关于更新选项有四点需要说明:
-
未映射的数据库字段将没有对应的更新选项。
-
基于 Attribute 和 Model 的映射(在 Design Parameter 列中带方括号的条目)将没有对应的更新选项,因为它们不是设计参数。
-
关键字段(例如图中的 Part Number)将没有对应的更新选项。该字段仅用于参数匹配。
-
将 Default 设置为某值会使某个更新选项遵循其对应的默认定义,该默认定义在 Database Library Options 对话框的 Default Actions 选项卡中指定(可通过主菜单中的 Tools » Options from the main menus or Options from the right-click menu of the Table Browser tab 打开)。也可以在文档视图的 Field Settings 区域中单击 Options 按钮来访问此对话框。
在一个集中位置为 DbLib 定义默认参数更新选项。将鼠标悬停在图像上可查看 SVNDbLib 的等效内容。
第四点的好处在于:你可以在一个集中位置指定更新选项,然后在为每个映射字段定义更新选项时指向该位置。这就是为什么在将数据库字段映射到设计参数时,Default 条目会自动加载到相关的更新字段中。
如果你希望覆盖某个更新选项的默认设置,请在 Field Mappings 选项卡上单击相应的更新字段内部,然后再次单击以打开下拉列表,从中选择适用的更新选项。
如有需要,可以手动覆盖参数更新选项。
通过这种方式,你可以完全控制设计中的参数如何更新。你可以将所有字段都设置为 Default,并在 Database Library Options 对话框中做出所需的更新决策;也可以逐个设置每个更新字段;或者两者混合使用——完全由你根据需要决定。对于已放置的元件,执行更新时会通过 Engineering Change Order 对话框来完成。如果在此阶段存在你不希望进行的更新,你可以选择不包含这些特定更改——从而对哪些设计参数会被更新拥有最终决定权。
指定符号与模型库位置
当你从数据库库放置元件时,其符号(由 [Library Ref] 映射指定)会从指定的原理图库(*.SchLib)中提取。同样,数据库中指定的任何模型引用(封装、PCB3D、仿真)将位于底层的 PCB Library(*.PcbLib)、PCB3D Library(*.PCB3DLib)以及 Simulation Model(*.mdl, *.ckt)文件中。这些文件的路径可以在数据库中通过以下方式显式指定:
如果你在数据库中为路径信息定义了字段,则需要将这些字段映射到相应的设计参数——[Library Path]、[Footprint Path]、[PCB3D Path]、[Sim File] 等(请回看 Model and Parameter Mapping)。
在数据库表中输入路径——即使是相对路径——也会有些受限。如果你移动了某个库或模型文件的位置,就需要相应更新数据库表。为了提供更大的自由度,你可以在 DbLib/SVNDbLib 文件本身中指定库搜索信息。这样你就可以在数据库中仅指定源库或模型文件的名称,甚至完全不定义它。
Using Search Paths with a large number of symbol/model files——虽然搜索路径在配置符号和模型的定位方式方面更灵活、更简单,但当搜索位置中存在大量符号或模型文件时,不建议采用这种方法。根据所使用的文件命名方案,Search Paths 可能要求在每次需要符号/模型时都搜索路径中存在的每一个库/模型文件,例如在浏览元件或将设计从原理图传输到 PCB 时。
针对 Database Library
对于 DbLib,库搜索路径在 Database Library Options 对话框(Tools » Options)的 Symbol and Model Search Paths 选项卡中定义。也可以在文档视图的 Field Settings 区域中单击 Options 按钮来访问此对话框。
为符号库和模型库指定搜索路径。
要向列表添加路径:
-
你可以直接在 Library Search Paths 区域下方的字段中输入路径,或单击
按钮打开 Browse for Folder 对话框,在其中定位所需库/模型文件所在的目录。
-
你可以添加完整路径,也可以添加相对路径(相对于 DbLib 文件的位置)。通过 Add/Update As Relative Path 选项进行控制。
-
指定所需路径后,单击 Add 按钮将其添加到搜索路径列表。
-
根据需要继续添加其他搜索路径。
对于直接输入的情况,如果你指定了错误路径(例如指向不存在的文件夹),该条目仍可被添加,但会在列表中显示为灰色,以表明它是无效的搜索路径。如果你发现路径输入有误,可以在列表中选中它,然后单击 Remove 按钮,或修改其路径定义后单击 Update 按钮。
库搜索路径决定了从数据库库放置元件以及放置后搜索模型时,库文件和模型文件可被找到的位置。实际使用的具体模型取决于你如何设置库搜索路径,以及你是否在数据库中添加了特定的库信息。搜索将按以下顺序进行:
-
如果在符号或模型的映射路径字段中存在完整路径,则使用该库/模型文件,并提取适用引用字段中指定的符号或模型。
-
如果在符号或模型的映射路径字段中存在相对路径,则使用该库/模型文件,并提取适用引用字段中指定的符号或模型。
-
如果在符号或模型的映射路径字段中仅存在库/模型文件名,则使用搜索路径定位第一个与指定名称匹配、且包含适用引用字段中所指定符号或模型匹配项的库/模型文件。
-
如果数据库中不存在任何库/模型文件信息,则使用搜索路径定位第一个包含适用引用字段中所指定符号或模型匹配项的库/模型文件。
针对 SVN Database Library
对于 SVNDbLib,Subversion 仓库中符号与封装模型所在的基础目录在 Database Library Options 对话框(Tools » Options)的 SVN Repository 选项卡中指定。也可以在文档视图的 Field Settings 区域中单击 Options 按钮来访问此对话框。
为符号和封装指定基础仓库目录。
使用 Models Location 区域中的可用字段来指定符号与封装的基础目录。单击字段右侧的
按钮可打开 Browse for directory 对话框——这是一个通向已链接仓库的窗口。使用该对话框选择所需文件夹。
在已链接的 SVN 仓库中浏览相关目录。
需要强调的是:符号和封装必须位于所指定的基础仓库目录之内。当然,它们也可以位于这些目录的子文件夹中,并且为符号与封装指定的路径也可以指向仓库中的同一目录。
模型位置决定了从受版本控制的数据库库放置元件以及放置后搜索模型时,库文件和模型文件可被找到的位置。实际使用的具体原理图符号与封装模型将取决于你如何设置这些位置,以及你是否在数据库中添加了特定的库信息。搜索将按以下顺序进行:
-
如果在符号或封装模型的映射路径字段中存在完整路径(例如 http://MyServer/svn/MyCompany/ParentDirectory/SchematicSymbols/Capacitor_NonPolarized.SchLib),则使用该库文件,并提取适用引用字段中指定的符号或封装。
-
如果在符号或封装模型的映射路径字段中存在相对路径(相对于仓库根目录)(例如 /ParentDirectory/SchematicSymbols/Capacitor_NonPolarized.SchLib),则使用该库文件,并提取适用引用字段中指定的符号或封装。对话框中 Repository Server Connection 区域所指定的仓库 URL 将作为前缀添加到你输入的路径上,以形成绝对地址。
-
如果在符号或封装模型的映射路径字段中仅存在库文件名(例如 Capacitor_NonPolarized.SchLib),则使用仓库内指定的模型位置来定位第一个与指定名称匹配、且包含适用引用字段中所指定符号或封装模型匹配项的库文件。
-
如果数据库中不存在任何库文件信息,则使用指定的模型位置来定位第一个包含适用引用字段中所指定符号或封装模型匹配项的库文件。
在定位符号/封装时,系统会首先查找第一个名称与符号或封装本身相同的库。例如,如果数据库中的逻辑符号名称(由 [Library Ref] 映射指定)为 Capacitor_NonPolarized,系统将查找第一个名为 Capacitor_NonPolarized.SchLib 的文件,并在该文件中查找该符号。如果无法通过这种方式找到符号/封装,系统将转而在所有库中查找匹配项。