电路仿真可以让你在投入生产之前探索你的想法。可以验证概念,快速准确地调整电路。电路仿真还为您提供了在工作台上进行物理测量的机会。
模拟电子设备功能的主要目的是表现和分析设计的性能。如果没有仿真功能,即使是最简单的设备设计也无法想象。使用仿真软件可以分析所设计设备的所有模式,而不会造成可能的损坏,还可以确定在实际条件下难以测量的参数和特性,并进行可能需要使用昂贵测量设备的测量。
SPICE(集成电路仿真程序)是作为一个开放源码软件包开发的,这使得它广受欢迎并得到持续发展。Altium Designer 的混合仿真(MixedSim)技术使用基于 SPICE 算法的改进内核,旨在仿真模拟、数字或模数混合器件电路。它是真正的混合信号模拟器,这意味着它可以分析包含模拟和数字器件的电路。它完全兼容 SPICE3f5,并支持一系列PSpice®和LTspice®器件模型。
要了解 Altium Designer 仿真引擎支持哪些 SPICE 模型,请参阅支持的 Spice 模型知识库文章。
要访问 Altium Designer 中的混合仿真功能,必须安装 Mixed Simulation系统扩展。Altium Designer 默认安装了该扩展。可以手动安装或删除。
有关管理扩展的更多信息,请参阅 Extending Your Installation页面(Altium Designer Develop、Altium Designer Agile、Altium Designer)。
要快速开始使用 Altium Designer 中的仿真,您可以在共享文档文件夹中找到一组仿真示例 (C:\Users\Public\Documents\Altium\AD\Examples\Simulation Quick Start用于默认安装)。每个示例都演示了仿真的实际用例,并提供了设置仿真器和解释结果的完整信息。
Altium Designer 可导入各种格式的原理图,包括OrCAD®、LTspice 和KiCad®。导入时使用 Import Wizard导入,每种文件类型由安装在 Altium Designer 中的扩展处理。了解有关与其他设计工具交互的更多信息。
Altium Designer 中的仿真过程可分为以下几个阶段:
验证和准备仿真项目- 应验证要仿真的设计并做好充分准备,以便获得正确的仿真结果。这包括使用仿真模型放置元件、设置信号源以及使用探针定义电路中的兴趣点。如果要分析的原理图有问题,验证过程会给出反馈。
配置和运行仿真- 可直接从原理图执行仿真,也可在分析仿真波形时重新运行。快速配置所需的分析类型和要绘制的输出表达式,然后运行仿真。
处理仿真结果- 仿真结果显示在 SimData 编辑器中。这是一个功能丰富的环境,您可以在此快速、高效地分析仿真结果,从而评估、调试并最终对设计的运行充满信心。
混合仿真 - 示例指南
下面的可折叠部分将带您了解创建滤波器电路仿真就绪原理图的过程,然后使用该原理图运行一些电路仿真分析。
Creating a New Design Project
从主菜单中选择 File » New » Project命令。
对话框 Create Project对话框将打开:
在 Locations列表中,选择工作区的条目(如果不使用工作区,则选择 Local Projects条目)。
在 Project Type列表中,选择 类型下的 PCB类型下的条目。
在 Filter字段。 Project Name字段。
根据需要在对话框右侧设置其他选项(如存储文件夹),然后单击 Create按钮。
新项目将被创建,项目条目将出现在 Projects面板中。
右键单击面板中的项目条目 Projects面板中的项目条目,并从右键菜单中选择 Add New to Project » Schematic命令。
新原理图文档的空白页就会出现。右键单击面板中的 Projects面板中的 Save As命令,将其保存在硬盘上。此时将打开 Save As对话框将打开,准备将文档保存到与项目文件相同的位置。在 Filter在 File name字段,然后点击 Save(无需输入扩展名,因为它会自动添加)。
由于您在项目中添加了新文档,项目文件已经更改。右键单击 Projects面板中的项目条目上单击右键,然后选择 Save保存项目更改。
Capturing the Circuit
要模拟的滤波电路如下所示。在本节中,我们将找到所需的元件,设置元件属性,然后为原理图布线。
滤波器电路原理图
放置模拟就绪的元件
原理图中的元件将从 Simulation Generic Components库中获取:
打开 Components面板,点击设计空间右下方的 Panels按钮打开面板,并从出现的菜单中选择 Components打开面板。
从面板顶部的 Simulation Generic Components从面板顶部的下拉菜单中选择库(如果面板处于紧凑模式),或通过点击面板左上角的 Categories面板左上角的 按钮(如果面板处于正常模式)。面板中将显示程序库提供的组件列表。
放置运算放大器:
在组件列表中找到 OpAmp with power terminals组件,右键单击其条目,然后从主菜单中选择 Place命令。该元件将出现在设计空间中光标的旁边,但先不要放置该元件。
您可以使用 Component面板的 Search字段快速找到所需的组件。
当运算放大器浮动在光标上时,按下 Tab键打开 Properties面板,您可以在这里编辑其属性,然后再将元件放到原理图上。
在 General区域 Properties面板区域,将 Designator改为 U1.
单击设计空间中的 "暂停 "按钮 () 返回元件布局。
在设计空间中单击,放置运算放大器实例。
您将保持在元件放置模式下放置更多元件实例。由于该电路只需要一个运算放大器元件实例,右键单击即可退出元件放置模式。
放置电阻器:
在 Components面板中,找到 Resistor元件,右键单击其条目,然后从主菜单中选择 Place命令。
当电阻浮动在光标上时,按下 Tab键。
在打开的 Properties面板中更改元件属性,如下所示:
在 General区域中,将 Designator改为 R1.
在 Parameters区域中,将 Value的 Value参数改为 100K.
单击设计空间中的 "暂停 "按钮 () 返回元件布局。
在设计空间中单击以放置电阻器实例。
移动光标并在设计空间中单击,放置另一个具有相同值的电阻器实例。新实例的代号将自动递增 (R2).
右键单击退出元件放置模式。
放置电容器:
在 Components面板中,找到 Capacitor元件,右键单击其条目,然后从主菜单中选择 Place命令。
当电容器浮动在光标上时,按下 Tab键。
在打开的 Properties面板中更改元件属性,打开的面板如下:
在 General区域中,将 Designator改为 C1.
在 Parameters区域中,将 Value的 Value参数改为 112p.
单击设计空间中的 "暂停 "按钮 () 返回元件布局。
在设计空间中单击,放置一个电容器实例。
当电容器仍浮动在光标上,准备放置另一个电容器实例时,按下 Tab键。
在 Parameters区域 Properties面板区域,更改 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
单击设计空间中的暂停按钮 () 返回电压源放置。
在设计空间中单击,放置电压源实例。
放置 VSS 电压源:
当电压源仍浮动在光标上,准备放置另一个电压源实例时,按下 Tab键。
在打开的 Properties面板中更改源属性,如下所示:
在 General区域中,将 Designator改为 VSS并选择 DC Source作为源的 Stimulus Type.
在 Parameters区域,更改参数值如下:
DC Magnitude= -5
AC Magnitude= 0
AC Phase= 0
单击设计空间中的暂停按钮 () 返回电压源放置。
在设计空间中移动光标并单击,以放置另一个电压源实例。
放置正弦电压源:
当电压源仍漂浮在光标上,准备放置另一个电压源实例时,按下 Tab键。
在打开的 Properties面板中更改源属性,如下所示:
在 General区域 Properties面板区域,将 Designator改为 VIN并选择 Sinusoidal作为信号源的 Stimulus Type.
在 Parameters面板的 Properties面板区域,更改参数值如下:
DC Magnitude= 0
AC Magnitude= 1
AC Phase= 0
Offset= 0
Amplitude= 5
Frequency= 50K
Delay= 0
Dampling Factor= 0
Phase= 0
单击设计空间中的暂停按钮 () 返回电压源放置。
在设计空间中移动光标并单击,以放置另一个电压源实例。
单击右键退出元件贴装模式。
电路布线
布线是在电路的各个元件之间建立连接的过程。在本节中,电路将按照下图进行布线。
从主菜单中选择 Place » Wire命令。
将光标置于运算放大器的"+"引脚的热点上 - 光标位置将出现一个红色连接标记(红叉)。这表明光标位于元件的有效电气连接点上。
单击以固定导线的起点。
将光标置于最近的引脚的热点上,直到看到光标变为红色连接标记。 R2直到光标变为红色连接标记。
单击将导线连接到引脚。光标将从该导线上释放。
如下面的视频所示,连接电路的其余部分。
完成所有布线后,单击右键退出布线模式。
在设计空间中单击,锚定一系列定义导线形状的顶点。
如果线材形成角的方向错误,按 Spacebar来切换角的方向。
添加电源端口
放置 GND 电源端口:
从主菜单中选择 Place » Power Port命令。
当电源端口浮动在光标上时,按下 Tab键。
在 Properties区域 Properties面板区域,设置 Name= GND和 Style= Power Ground.
单击设计空间中的暂停按钮 () 返回电源端口布局。
如下图所示,在电压源元件的"-"引脚上各放置一个。
如果需要,可按下""键旋转浮动电源端口。 Spacebar.
放置 VDD 电源端口:
当电源端口浮动在光标上时,按下 Tab键并设置 Name= VDD和 Style= Bar和 Properties面板。
单击设计空间中的 "暂停 "按钮 () 返回电源端口布局。
如下图所示,放置两个电源端口。
放置 VSS 电源端口:
当电源端口浮动在光标上时,按下 Tab键并设置 Name= VSS和 Style= Bar和 Properties面板。
单击设计空间中的 "暂停 "按钮 () 返回电源端口布局。
如下图所示,放置三个电源端口。
右键单击退出放置模式。
添加网络标签
为输入网络放置网络标签:
从主菜单中选择 Place » Net Label命令。
当电源端口浮动在光标上时,按下 Tab键并设置 Net Name= IN.
单击设计空间中的 "暂停 "按钮 (),返回网标签放置。
单击以将网标签放置在介于 VIN和 R1.请注意,网标签的左下角是其热点--该点必须接触导线。
为输出网放置网标签:
当电源端口浮动在光标上时,按下 Tab键并设置 Net Name= OUT.
单击,将网络标签放在运算放大器输出引脚的导线上。
单击右键退出放置模式。
保存原理图文档,方法是右键单击其在 Projects面板中的 Save保存。
Preparing the Project for Simulation
Altium Designer 允许您直接从原理图运行电路仿真。仿真由面板配置和驱动。 Simulation Dashboard面板进行配置和驱动。
打开 Simulation Dashboard面板。 Panels按钮,然后从出现的菜单中选择 Simulation Dashboard打开面板。
展开 Verification展开面板的可折叠区域,然后单击 Start Verification按钮。在 Electrical Rule Check和 Simulation Models条目的绿色复选框。
如果检测到任何违规情况,请查找并修复违规条件以继续。
展开 Preparation面板的可折叠区域,确保添加到原理图中的所有三个电压源都显示在列表中并已启用。 Simulation Sources并启用。
如需了解更多信息,请参阅 "验证和准备用于仿真的项目"页面。
Configuring the Analyses
设置瞬态分析
瞬态分析生成的输出与示波器上通常显示的输出类似,计算瞬态输出变量(电压、电流或功率)与用户指定时间间隔内时间的函数关系。
展开 Analysis Setup & Run 面板的 Simulation Dashboard面板的 Transient区域。
确保 Interval选项 () 并输入以下值:
From= 0
To= 60u
Step= 100n
为输入信号添加新表达式。该表达式将作为波形输出到仿真结果文档中:
点击 Add控件 Output Expressions标题下的控件,为新表达式添加一个字段,该表达式将作为波形输出到仿真结果文档中。
单击已添加字段右侧的 按钮,进入输出表达式配置对话框。 Add Output Expression对话框,在该对话框中可以配置输出表达式。
在 Add Output Expression对话框中,从 Node Voltages从 Waveform区域,然后单击 v(IN)下面列表中的条目。该 v(IN)表达式将添加到 Expression Y字段。
单击 Create在 Add Output Expression对话框。表达式将出现在 Simulation Dashboard面板中。
为输出信号添加输出表达式:
点击 Add控制 Simulation Dashboard面板中的控件,为另一个输出表达式添加一个字段,然后点击添加字段右侧的 按钮。
在 Add Output Expression对话框中,从 Node Voltages从 Waveform区域,然后单击 v(OUT)下面列表中的条目。
选择 New Plot在 Plot Number下拉菜单,在仿真结果文档的另一个图中绘制该表达式的波形。选择后,下拉菜单将显示 2.
点击 Create在 Add Output Expression对话框,将表达式添加到 Simulation Dashboard面板。
至此,瞬态分析已配置完成。其选项在 Simulation Dashboard面板中的选项如下所示。
设置交流扫描分析
交流扫描分析生成的输出显示电路的频率响应,计算小信号交流输出变量与频率的函数关系。交流小信号分析的预期输出通常是传递函数,如电压增益。
在 Simulation Dashboard面板中,扩展 AC Sweep区域内的 Analysis Setup & Run 可折叠区域。
选择 Decade作为扫描 Type并输入以下值:
Start Frequency= 100m
End Frequency= 1meg
Points/Dec= 100
为输入信号的分贝大小添加输出表达式:
点击 Add控件 Output Expressions标题下的控件,为新表达式添加一个字段,然后点击添加字段右侧的 按钮。
在 Add Output Expression对话框中,从 Node Voltages从 Waveform区域,然后单击 v(IN)下面列表中的条目。
选择 Magnitude (dB)从 Complex Functions下拉菜单中选择 Add Output Expression然后单击 Create.
为输出信号的幅度(以分贝为单位)添加输出表达式:
单击 Add控件 Output Expressions标题下的控件,为新表达式添加一个字段,然后点击添加字段右侧的 按钮。
在 Add Output Expression对话框中,从 Node Voltages从 Waveform区域,然后单击 v(OUT)下面列表中的条目。
选择 Magnitude (dB)从 Complex Functions下拉菜单中选择 Add Output Expression然后单击 Create.
添加输入信号相位(度)的输出表达式:
点击 Add控制 Simulation Dashboard面板中的控件,为另一个输出表达式添加一个字段,并点击添加字段右侧的 按钮。
在 Add Output Expression对话框中,从 Node Voltages从 Waveform区域,然后单击 v(IN)下面列表中的条目。
选择 Phase (Deg)从 Complex Functions对话框中的 Add Output Expression对话框的下拉菜单中选择。
在 New Plot然后单击 Plot Number下拉菜单,然后点击 Create在 Add Output Expression对话框。
为输出信号的相位(度)添加输出表达式:
点击 Add控制 Simulation Dashboard面板中的控件,为另一个输出表达式添加一个字段,并点击添加字段右侧的 按钮。
在 Add Output Expression对话框中,从 Node Voltages从 Waveform区域,然后单击 v(OUT)下面列表中的条目。
选择 Phase (Deg)从 Complex Functions对话框中的 Add Output Expression对话框的下拉菜单中选择。
至此,交流扫描分析已配置完成。其选项应在 Simulation Dashboard面板,如下图所示。
仿真配置文件 (project_sim_config.simcfg)将出现在 Settings\Simulation Documents文件夹中。 Projects面板。右键单击面板中的 Projects右键单击面板中的 Save As命令来保存文档。
此时 Save As对话框将打开,准备将文档保存到硬盘上的项目文件夹中。单击 Save以默认名称将文档保存在此默认位置。
右键单击面板中的项目条目并选择 Projects面板中的 Save命令来保存项目文件。
如需了解更多信息,请参阅 "配置和运行模拟"页面。
Running the Analyses and Exploring the Results
点击 Run按钮。 Transient区域标题右侧的 Simulation Dashboard面板中区域标题右侧的按钮来执行瞬态分析。
模拟成功后 Messages面板将报告模拟成功完成。该面板可以关闭。
一个名为 Filter.sdf的新模拟结果文档将自动在 SimData 编辑器中作为文档选项卡打开。它包含一个 Transient Analysis图表(由文档底部的选项卡指示)和两个图,每个图包含一个波形、 v(IN)和 v(OUT)分别为
点击设计空间顶部的示意图标签,切换到示意图文档。
点击 Run按钮,执行交流扫描分析。 Simulation Dashboard面板中交流扫描区域标题右侧的按钮,以执行交流扫描分析。
关闭 Messages面板。
包含单个 AC Analysis图表。图表包括两个图,每个图有两个波形。
使用测量光标确定 3dB 点:
右键单击 dB(v(OUT))波形并选择 Cursor A.
通过拖动标记将光标 A 定位在低通部分(位置并不重要,只要在低通区域内即可)。
右键单击 dB(v(OUT))再次右击波形,选择 Cursor B.
面板 Sim Data面板将用于帮助定位光标(如果面板不可见,请单击设计空间右下方的 Panels按钮,然后从出现的菜单中选择 Sim Data即可显示)。
在观察 B-A Measurement区域中的 Measurement Cursors区域的值时,单击并拖动光标 Sim Data点击并拖动光标 B,使 Y(增益)值为 -3。
可以看到,光标 B 的 X 结果为约 20k,表明滤波器电路的 3dB 点为-3。 Wave NameB 的 X 结果约为 20k,表明滤波器电路的 3dB 点为 20kHz。
要清除光标,请右键单击每个光标标记并选择 Cursor Off.
要清除文档中的过滤,请单击设计空间右下方的 Clear按钮。
仿真结果文件 (Filter.sdf)将出现在 Generated\Simulation Documents文件夹中。 Projects面板中的项目结构文件夹中。右键单击面板中的 Projects右键单击面板中的 Save As命令来保存文档。
这时 Save As对话框将打开,准备将文档保存到硬盘上的 Simulation项目文件夹的子文件夹中。单击 Save将文档保存在此默认位置并使用默认名称。
单击设计空间顶部的原理图选项卡,切换到原理图文档。
在 Simulation Dashboard面板中,展开 Results 可折叠区域。该区域将包含已执行的仿真运行列表 (Transient Analysis和 AC Analysis在本例中)。
要显示之前运行的瞬态分析结果,请单击条目右侧的 按钮,然后选择 "瞬态分析"。 Transient Analysis并选择 Show Results.
模拟结果文件将打开,显示瞬态分析结果。
保存修改后的项目文档和项目本身,方法是右键单击面板中的 Projects面板中的条目并从右键菜单中选择 Save命令。
如果您在已连接的工作区中创建了项目,请右键单击面板中的项目条目,然后从右键菜单中选择 "保存 "命令。 Projects面板中的项目条目,并从上下文菜单中选择 Save to Server命令,然后单击 OK在打开的 Save to Server对话框。
如需了解更多信息,请参阅 "处理仿真结果"页面。