使用电路仿真分析您的设计
概览
- 了解仿真在检查电路行为、调整设计,以及执行在实验台上难以实现或不切实际的测量时有何价值。
- 了解 Altium Designer 如何支持基于 SPICE 的混合信号仿真,涵盖模拟电路、数字电路以及模数混合电路。
- 了解 Altium Designer 中的仿真流程,并通过分步示例学习如何准备原理图并开始运行分析。
电路仿真可让您在投入制造之前探索设计构想。通过仿真,您可以验证概念,并快速、准确地调整电路。电路仿真还让您有机会执行在工作台上可能无法实际完成的 测量。
对电子设备的功能进行仿真的主要目的是呈现和分析设计性能。如果没有仿真所提供的能力,即使是最简单的设备设计也难以想象。 使用仿真软件,可以在不造成潜在损坏的情况下分析所设计设备的所有工作模式,确定在实际条件下难以测量的参数和特性,并执行原本可能需要昂贵测量设备才能完成的测量。
SPICE(Simulation Program with Integrated Circuit Emphasis,集成电路重点仿真程序)最初作为开源软件包开发,因此得到了广泛应用和持续发展。Altium Designer 的混合仿真(MixedSim)技术采用基于 SPICE 算法的改进内核,专为模拟、数字或模数混合设备电路的仿真而设计。它是真正的混合信号仿真器,这意味着它可以分析同时包含模拟和数字器件的电路。它完全兼容 SPICE3f5,并支持多种 PSpice® 和 LTspice® 器件模型。
Altium Designer 中的仿真流程可分为以下阶段:
- 验证项目并为仿真做好准备 – 应对待仿真的设计进行验证并做好充分准备,以获得正确的仿真结果。这包括放置带有仿真模型的元件、设置信号源,以及使用探针定义电路中需要关注的点。如果待分析的原理图存在问题,验证过程会提供反馈。
- 配置并运行仿真 – 仿真可直接从原理图运行,也可以在分析仿真波形时重新运行。快速配置所需的分析类型和要绘制的输出表达式,然后运行仿真。
- 处理仿真结果 – 仿真结果显示在 SimData 编辑器中。这是一个功能丰富的环境,您可以在其中快速、高效地分析仿真结果,从而评估、调试设计,并最终对设计的运行充满信心。
混合仿真 – 示例指南
下面的可折叠部分将引导您创建可用于仿真的滤波器电路原理图,然后使用该原理图运行一些电路仿真分析。
创建新的设计项目
- 从主菜单中选择 File » New » Project 命令。
-
将打开 Create Project 对话框:
- 在 Locations 列表中,选择您的工作区对应的条目(如果您不使用工作区,则选择 Local Projects 条目)。
- 在 Project Type 列表中,选择 PCB 类型下的 <Empty> 条目。
-
在 Project Name 字段中输入
Filter。 - 根据需要设置对话框右侧的其他选项(例如存储文件夹),然后单击 Create 按钮。
系统将创建一个新项目,该项目条目会显示在 Projects 面板中。
-
右键单击 Projects 面板中的项目条目,然后从上下文菜单中选择 Add New to Project » Schematic 命令。
-
将出现新原理图文档的空白图纸。在 Projects 面板中右键单击该文档条目,然后从上下文菜单中选择 Save As 命令,将其保存到硬盘。 此时将打开 Save As 对话框,默认将文档保存到与项目文件相同的位置。在 File name 字段中输入
Filter,然后单击 Save (无需输入扩展名,系统会自动添加)。 - 由于您向项目添加了新文档,项目文件已发生更改。在 Projects 面板中右键单击项目条目,然后选择 Save 以保存项目更改。
绘制电路
待仿真的滤波器电路如下所示。 在本节中,我们将查找所需的元件,设置其元件属性,然后完成原理图连线。

滤波器电路原理图
放置可用于仿真的元件
-
原理图所需的元件将取自 Altium Designer 默认安装时提供的
Simulation Generic Components库: -
放置运算放大器:
-
在元件列表中找到 OpAmp with power terminals 元件,右键单击其条目,然后从主菜单中选择 Place 命令。该元件将附着在设计空间中的光标上,但暂时不要放置元件。
- 当运算放大器附着在光标上时,按 Tab 键打开 Properties 面板,以便在将元件放置到原理图之前编辑其属性。
-
在 Properties 面板的 General 区域中,将 Designator 更改为
U1。
- 单击设计空间中的暂停按钮 ,返回元件放置状态。
- 在设计空间中单击,放置一个运算放大器实例。
- 您将继续处于元件放置模式,以便放置更多元件实例。由于此电路只需要一个运算放大器元件实例,因此右键单击以退出元件放置模式。
-
-
放置电阻:
- 在 Components 面板中找到 Resistor 元件,右键单击其条目,然后从主菜单中选择 Place 命令。
- 当电阻附着在光标上时,按 Tab 键。
-
在打开的 Properties 面板中,按如下方式更改元件属性:
-
在 General 区域中,将 Designator 更改为
R1。 -
在 Parameters 区域中,将
Value参数的 Value 更改为100K。
-
在 General 区域中,将 Designator 更改为
- 单击设计空间中的暂停按钮 ,返回元件放置状态。
-
在设计空间中单击,放置一个电阻实例。
-
移动光标并在设计空间中单击,放置另一个阻值相同的电阻实例。新实例的位号将自动递增 (
R2)。
- 右键单击以退出元件放置模式。
-
放置电容:
- 在 Components 面板中找到 Capacitor 元件,右键单击其条目,然后从主菜单中选择 Place 命令。
- 当电容附着在光标上时,按 Tab 键。
-
在打开的 Properties 面板中,按如下方式更改元件属性:
-
在 General 区域中,将 Designator 更改为
C1。 -
在 Parameters 区域中,将
Value参数的 Value 更改为112p。
-
在 General 区域中,将 Designator 更改为
- 单击设计空间中的暂停按钮 ,返回元件放置状态。
-
在设计空间中单击,放置一个电容实例。
- 当电容仍附着在光标上、准备放置另一个电容实例时,按 Tab 键。
-
在 Properties 面板的 Parameters 区域中,将
Value参数的 Value 更改为56p。 - 单击设计空间中的暂停按钮 ,返回元件放置状态。
- 按 Spacebar 以 90° 为步进旋转元件,直到其方向正确。
-
移动光标并在设计空间中单击,放置另一个电容实例。新实例的位号将自动递增 (
C2)。
- 右键单击以退出元件放置模式。
添加电压源
仿真时需要使用电压源为电路供电。
-
放置 VDD 电压源:
- 从主菜单中选择 Simulate » Place Sources » Voltage Source 命令。
- 当电压源附着在光标上时,按 Tab 键。
-
在打开的 Properties 面板中,按如下方式更改电压源属性:
-
在 General 区域中,将 Designator 更改为
VDD,并选择 DC Source 作为电压源的 Stimulus Type。 -
在 Parameters 区域中,按如下方式更改参数值:
DC Magnitude=5
AC Magnitude=0
AC Phase=0
-
在 General 区域中,将 Designator 更改为
- 单击设计空间中的暂停按钮 ,返回电压源放置状态。
-
在设计空间中单击,放置一个电压源实例。
-
放置 VSS 电压源:
- 当电压源仍附着在光标上、准备放置另一个电压源实例时,按 Tab 键。
-
在打开的 Properties 面板中,按如下方式更改电压源属性:
-
在 General 区域中,将 Designator 更改为
VSS,并选择 DC Source 作为电压源的 Stimulus Type。 -
在 Parameters 区域中,按如下方式更改参数值:
DC Magnitude=-5
AC Magnitude=0
AC Phase=0
-
在 General 区域中,将 Designator 更改为
- 单击设计空间中的暂停按钮 ,返回电压源放置状态。
-
移动光标并在设计空间中单击,放置另一个电压源实例。
-
放置正弦电压源:
- 当电压源仍附着在光标上、准备放置另一个电压源实例时,按 Tab 键。
-
在打开的 Properties 面板中,按如下方式更改电压源属性:
-
在 Properties 面板的 General 区域中,将 Designator 更改为
VIN,并选择 Sinusoidal 作为电压源的 Stimulus Type。 -
在 Properties 面板的 Parameters 区域中,按如下方式更改参数值:
DC Magnitude=0
AC Magnitude=1
AC Phase=0
Offset=0
Amplitude=5
Frequency=50K
Delay=0
Dampling Factor=0
Phase=0
-
在 Properties 面板的 General 区域中,将 Designator 更改为
- 单击设计空间中的暂停按钮 ,返回电压源放置模式。
-
移动光标并在设计空间中单击,以放置另一个电压源实例。
- 右键单击以退出元件放置模式。
连接电路
连线是为电路中的各个元件建立连接的过程。本节将按照下图连接电路。
- 从主菜单中选择 Place » Wire 命令。
- 将光标移至运算放大器的“+”引脚热点上,光标位置将出现红色连接标记(红色十字)。这表示光标位于元件的有效电气连接点上。
- 单击以确定导线的起点。
-
将光标移至
R2最近的引脚热点上,直到光标变为红色连接标记。 - 单击以将导线连接到引脚。光标将脱离该导线。
- 按照下方视频所示,完成电路其余部分的连线。
- 完成所有导线的放置后,右键单击以退出放置模式。
添加电源端口
-
放置 GND 电源端口:
- 从主菜单中选择 Place » Power Port 命令。
- 当电源端口悬浮在光标上时,按 Tab 键。
-
在 Properties 面板的 Properties 区域中,设置 Name =
GND和 Style = Power Ground。
- 单击设计空间中的暂停按钮 ,返回电源端口放置模式。
-
如下图所示,放置三个电源端口,分别放置在各电压源元件的“-”引脚上。
-
放置 VDD 电源端口:
-
当电源端口悬浮在光标上时,按 Tab 键,并在 Properties 面板中设置 Name =
VDD和 Style = Bar。 - 单击设计空间中的暂停按钮 ,返回电源端口放置模式。
-
如下图所示,放置两个电源端口。
-
当电源端口悬浮在光标上时,按 Tab 键,并在 Properties 面板中设置 Name =
-
放置 VSS 电源端口:
-
当电源端口悬浮在光标上时,按 Tab 键,并在 Properties 面板中设置 Name =
VSS和 Style = Bar。 - 单击设计空间中的暂停按钮 ,返回电源端口放置模式。
-
如下图所示,放置三个电源端口。
- 右键单击以退出放置模式。
-
当电源端口悬浮在光标上时,按 Tab 键,并在 Properties 面板中设置 Name =
添加网络标签
-
为输入网络放置网络标签:
- 从主菜单中选择 Place » Net Label 命令。
-
当电源端口悬浮在光标上时,按 Tab 键,并设置 Net Name =
IN。
- 单击设计空间中的暂停按钮 ,返回网络标签放置模式。
-
单击以将网络标签放置在
VIN和R1之间的导线上。请注意,网络标签的左下角是其热点,此点必须接触导线。
-
为输出网络放置网络标签:
-
当电源端口悬浮在光标上时,按 Tab 键,并设置 Net Name =
OUT。 -
单击以将网络标签放置在从运算放大器输出引脚引出的导线上。
- 右键单击以退出放置模式。
-
当电源端口悬浮在光标上时,按 Tab 键,并设置 Net Name =
- 在 Projects 面板中右键单击原理图文档条目,然后从右键菜单中选择 Save,以保存该文档。
准备项目以进行仿真
Altium Designer 允许您直接从原理图运行电路仿真。仿真通过 Simulation Dashboard 面板进行配置和控制。
配置分析
设置瞬态分析
瞬态分析生成的输出类似于示波器通常显示的内容,它计算用户指定时间间隔内瞬态输出变量(电压、电流或功率)随时间的变化。
-
展开 Simulation Dashboard 面板的 Analysis Setup & Run 可折叠区域及其中的 Transient 区域。
-
确保已选中 Interval 选项 ,并输入以下值:
-
From =
0 -
To =
60u -
Step =
100n
-
From =
-
为输入信号添加一个新表达式。此表达式将以波形形式输出到仿真结果文档中:
-
单击 Output Expressions 标题下的 Add 控件,添加一个用于输入新表达式的字段,该表达式将以波形形式输出到仿真结果文档中。
-
单击
所添加字段右侧的 按钮,打开 Add Output Expression 对话框,在其中配置输出表达式。
-
在 Add Output Expression 对话框中,从 Waveform 区域的下拉列表中选择 Node Voltages,然后单击下方列表中的 v(IN) 条目。
v(IN)表达式将添加到对话框的 Expression Y 字段中。 -
在 Add Output Expression 对话框中单击 Create。该表达式将显示在 Simulation Dashboard 面板中。
-
-
为输出信号添加输出表达式:
-
单击 Simulation Dashboard 面板中的 Add 控件,添加一个用于另一个输出表达式的字段,然后单击所添加字段右侧的
按钮。
- 在 Add Output Expression 对话框中,从 Waveform 区域的下拉列表中选择 Node Voltages,然后单击下方列表中的 v(OUT) 条目。
-
在 Plot Number 下拉列表中选择 New Plot,以便在仿真结果文档的另一个绘图中绘制此表达式的波形。选择后,下拉列表将显示 2。
- 在 Add Output Expression 对话框中单击 Create,将该表达式添加到 Simulation Dashboard 面板中。
-
单击 Simulation Dashboard 面板中的 Add 控件,添加一个用于另一个输出表达式的字段,然后单击所添加字段右侧的
-
至此,瞬态分析已配置完成。Simulation Dashboard 面板中的选项应如下图所示。
设置交流扫描分析
交流扫描分析生成的输出用于显示电路的频率响应,通过计算得到小信号交流输出变量随频率的变化关系。交流小信号分析所需的输出通常为传递函数,例如电压增益。
- 在 Simulation Dashboard 面板中,展开 Analysis Setup & Run 可折叠区域内的 AC Sweep 区域。
-
选择 Decade 作为扫描的 Type,并输入以下值:
-
Start Frequency =
100m -
End Frequency =
1meg -
Points/Dec =
100
-
Start Frequency =
-
为输入信号的幅值(以分贝为单位)添加输出表达式:
-
单击 Output Expressions 标题下的 Add 控件,添加一个用于新表达式的字段,然后单击所添加字段右侧的
按钮。
- 在 Add Output Expression 对话框中,从 Waveform 区域的下拉列表中选择 Node Voltages,然后单击下方列表中的 v(IN) 条目。
- 在 Add Output Expression 对话框的 Complex Functions 下拉列表中选择 Magnitude (dB),然后单击 Create。
-
单击 Output Expressions 标题下的 Add 控件,添加一个用于新表达式的字段,然后单击所添加字段右侧的
-
为输出信号的幅值(以分贝为单位)添加输出表达式:
-
单击 Output Expressions 标题下的 Add 控件,添加一个用于新表达式的字段,然后单击所添加字段右侧的
按钮。
- 在 Add Output Expression 对话框中,从 Waveform 区域的下拉列表中选择 Node Voltages,然后单击下方列表中的 v(OUT) 条目。
- 在 Add Output Expression 对话框的 Complex Functions 下拉列表中选择 Magnitude (dB),然后单击 Create。
-
单击 Output Expressions 标题下的 Add 控件,添加一个用于新表达式的字段,然后单击所添加字段右侧的
-
为输入信号的相位(以度为单位)添加输出表达式:
-
单击 Simulation Dashboard 面板中的 Add 控件,添加一个用于另一个输出表达式的字段,然后单击所添加字段右侧的
按钮。
- 在 Add Output Expression 对话框中,从 Waveform 区域的下拉列表中选择 Node Voltages,然后单击下方列表中的 v(IN) 条目。
- 在 Add Output Expression 对话框的 Complex Functions 下拉列表中选择 Phase (Deg)。
- 在 Plot Number 下拉列表中选择 New Plot,然后在 Add Output Expression 对话框中单击 Create。
-
单击 Simulation Dashboard 面板中的 Add 控件,添加一个用于另一个输出表达式的字段,然后单击所添加字段右侧的
-
为输出信号的相位(以度为单位)添加输出表达式:
-
单击 Simulation Dashboard 面板中的 Add 控件,添加一个用于另一个输出表达式的字段,然后单击所添加字段右侧的
按钮。
- 在 Add Output Expression 对话框中,从 Waveform 区域的下拉列表中选择 Node Voltages,然后单击下方列表中的 v(OUT) 条目。
- 在 Add Output Expression 对话框的 Complex Functions 下拉列表中选择 Phase (Deg)。
-
单击 Simulation Dashboard 面板中的 Add 控件,添加一个用于另一个输出表达式的字段,然后单击所添加字段右侧的
-
至此,交流扫描分析已配置完成。Simulation Dashboard 面板中的选项应如下图所示。
-
仿真配置文件 (
project_sim_config.simcfg) 将显示在 Projects 面板中项目结构的Settings\Simulation Documents文件夹下。在 Projects 面板中右键单击该文档条目,然后从右键菜单中选择 Save As 命令以保存文档。此时将打开 Save As 对话框,准备将文档保存到硬盘上的项目文件夹中。单击 Save ,以默认名称将文档保存到此默认位置。
- 在 Projects 面板中右键单击项目文件条目,然后从右键菜单中选择 Save 命令以保存项目文件。
运行分析并查看结果
-
单击 Simulation Dashboard 面板中 Transient 区域标题右侧的 Run 按钮,执行瞬态分析。
- 仿真成功后,Messages 面板将报告仿真已成功完成。此时可以关闭该面板。
-
名为
Filter.sdf的新仿真结果文档将自动在 SimData 编辑器中以文档选项卡的形式打开。其中包含一个 Transient Analysis 图表(由文档底部的选项卡标识),该图表包含两个绘图,每个绘图各包含一条波形,分别为v(IN)和v(OUT)。 - 单击设计空间顶部的原理图文档选项卡,切换到该文档。
-
单击 Simulation Dashboard 面板中 交流扫描 区域标题右侧的 Run 按钮,执行交流扫描分析。
- 关闭 Messages 面板。
-
包含一个 AC Analysis 图表的仿真结果文档将打开。该图表包含两个绘图区,每个绘图区中有两条波形。
-
使用测量游标确定 3dB 点:
-
右键单击
dB(v(OUT))波形并选择 Cursor A。 -
拖动标记,将游标 A 放置在低通区域中(具体位置并不重要,只要位于低通区域内即可)。
-
再次右键单击
dB(v(OUT))波形并选择 Cursor B。 - 使用 Sim Data 面板辅助定位游标(如果该面板未显示,请单击设计空间右下角的 Panels 按钮,然后从弹出的菜单中选择 Sim Data 以显示该面板)。
- 观察 Sim Data 面板的 Measurement Cursors 区域中的 B-A Measurement 值,同时单击并拖动游标 B,使 Y(增益)值为 -3。
-
可以看到, Wave Name B 的 X 值约为 20k,表明该滤波电路的 3dB 点为 20kHz。
- 要清除游标,请右键单击每个游标标记并选择 Cursor Off。
- 要清除文档中的筛选,请单击设计空间右下角的 Clear 按钮。
-
右键单击
-
仿真结果文档(
Filter.sdf)将显示在 Projects 面板中项目结构的Generated\Simulation Documents文件夹下。要保存该文档,请右键单击 Projects 面板中的相应条目,然后从右键菜单中选择 Save As 命令。Save As 对话框将打开,准备将文档保存到硬盘上项目文件夹的
Simulation子文件夹中。单击 Save ,以默认名称将文档保存到此默认位置。 - 单击设计空间顶部的原理图文档标签页,切换到该文档。
-
在 Simulation Dashboard 面板中,展开 Results 可折叠区域。该区域将列出已执行的仿真运行(本例中为 Transient Analysis 和 AC Analysis)。
-
要显示先前执行的瞬态分析结果,请单击 Transient Analysis 条目右侧的
按钮,然后选择 Show Results。
仿真结果文档将打开,显示瞬态分析结果。
- 要保存已修改的项目文档和项目本身,请右键单击 Projects 面板中的相应条目,然后从右键菜单中选择 Save 命令。
- 如果您在已连接的工作区中创建了该项目,请右键单击 Projects 面板中的项目条目,从右键菜单中选择 Save to Server 命令,然后在打开的 Save to Server 对话框中单击 OK 。




























