SLiCAP 能做什么?
SLiCAP 的卖点之一是它能够求解线性电路设计方程。它可以计算直流和动态频率行为的电路解决方案,在后一种情况下使用拉普拉斯域传递函数、根轨迹分析和零极点分析。符号和数字噪声分析也是可能的。
SLiCAP 还具有专用的参数步进功能。许多器件(例如晶体管)的行为都是非线性的。我们可以使用参数步进函数来更改这些组件线性化的工作点。
对于我们这些不太喜欢文档的人来说,SLiCAP 也可以在这方面提供帮助。 Python 应用程序允许我们在后处理脚本中直接使用 SLiCAP 输出。当我们完成设计过程时,应用程序可以同时生成 HTML 页面来记录它。
请注意,这是对 SLiCAP 功能的介绍,而不是完整列表。我们将在本文后面讨论更多内容,例如与网表生成相关的内容。不过,建议读者查阅SLiCAP 手册,以更完整地了解该程序的功能。
本手册的“如何使用 SLiCAP ”部分包含详细的工作流程。我们可以粗略地概括为:
设置电路网表。
在 Python 中定义 SLiCAP 指令。
执行指令。
使用结果来调整电路参数(后处理)和/或验证您的设计。
生成带索引的 HTML 。
为了更好地掌握 SLiCAP 提供的功能,让我们通过一个设计示例来完成。
使用 SLiCAP 设计负反馈放大器
在此示例中,我们将使用 SLiCAP 的渐近增益模型来设计负反馈放大器的增益和动态行为。然后,我们将使用 SLiCAP 生成的波特图在频域中评估我们的设计。尽管我们不会深入讨论编码技术细节,但这个示例应该提供足够的细节来说明程序的底层设计理念。
要求
我们的目标是设计具有以下规格的电压至电压放大器的关键组件:
源至负载放大系数A v = 20 V/V。
–3 dB 带宽 ( f BW )为 500 kHz 或更高。
出于演示目的,我们假设负载具有无限阻抗,而源具有零阻抗。我们进一步假设所选电路拓扑是具有电阻分压器反馈和高增益运算放大器控制器的负反馈配置。我们初的设计目标现在可以归结为:
确定两个电阻的大小。
选择运算放大器。
必须完成上述操作才能满足A v和f BW的要求。
设置 SLiCAP 网表
为了求解网络,SLiCAP 需要电路网表作为输入。您可以手动创建网表或导入网表 - 网表语法与 SPICE 兼容。如果您选择手动创建网表,SLiCAP 具有许多适用于无源和有源组件的内置模型,包括运算放大器和晶体管的线性化模型。
由于原理图比网表文本更容易阅读,因此您可能更喜欢在 SPICE 中构建原理图并生成网表。如果您选择该路线,则可以将以下任意选项与 SLiCAP 设备符号一起使用:
基卡德。
LT香料。
g 方案。
轻子埃达。
说明和语法详细信息可以在 SLiCAP 用户指南中找到。
回到我们的设计示例,我选择在 LTspice 中生成网表。此过程会生成一个 .cir 文件,如图 1 所示以及电路拓扑。
左:LTspice 中的电路拓扑和原理图捕获。右:SLiCAP 网表创建。
图 1.左:LTspice 中的电路拓扑和原理图捕获。右:SLiCAP 网表创建。
内置器件模型(上面.model语句中的OV)用作放大器的控制器。输出端的电压源由输入端子之间的差分电压控制,对电压反馈运算放大器的小信号动态行为进行建模。
模型参数可用于归因输入和输出阻抗以及电压增益。因为我们想让这个例子保持简单,所以我们使用高度理想化的运算放大器模型。它的积分电压增益等于2πGBs
设计方法和渐近反馈模型
在运行 SLiCAP 仿真之前,让我们检查一下我们将用于负反馈放大器的两步设计方法。
步,我们通过用零值器(具有无限电流、电压、跨导和跨阻增益的理想放大器)替换运算放大器来确定理想增益。如果正确选择了环路增益参考变量,则这与渐近增益A ∞ ( s ) 一致。渐近增益是通过假设控制器增益无穷大来找到的。
在第二步中,我们确定控制器非理想性的影响,包括有限增益和带宽限制。该信息嵌入拉普拉斯域伺服函数S ( s ) 中,可以通过以下等式找到:
S(s) = ?L(s)1 ? L(s)
其中L ( s ) 是环路增益。
源到负载增益G ( s ) 是渐近增益和伺服增益的乘积: G(s) = A∞(s) × S(s)
简而言之,步骤 1 告诉您如何根据所需的传递函数设计反馈网络。步骤 2 告诉您如何选择控制器的性能方面(例如增益和带宽),以便源到负载增益G ( s ) 仍然可以接受。这种方法的优雅之处在于将反馈网络的设计与控制器的设计分开。
有关两步设计方法和渐近反馈模型的更多信息,请参阅Anton Montagne 的“结构化电子设计:放大器设计的概念方法”。本书可在线获取 PDF 版本。
定义和执行指令
让我们继续 SLiCAP 设计过程中停下来的地方。到目前为止,我们已经通过网表定义了电路。下一步将是定义 SLiCAP 指令,为我们感兴趣的特定性能方面提供信息。这是 Python 编码的起点。
定义指令的步是创建指令对象的实例并将电路对象分配给指令。如图 2 中的代码片段所示,这意味着将之前创建的 .cir 网表文件连接到指令。
创建 SLiCAP 指令实例并将其连接到 .cir 网表文件。
图 2.创建 SLiCAP 指令实例并将其连接到 .cir 网表文件。
请记住,我们感兴趣的是设计源到负载传递函数G ( s ),使得直流电压增益为A v = 20 且带宽f BW = 500 kHz。因此我们想要获得符号设计方程。因此,我们将模拟类型设置为symbolic。由于这些需要是拉普拉斯域传递函数,我们还将数据类型设置为拉普拉斯。
还需要定义源电压和负载(检测器)电压。我们还想使用渐近增益模型作为设计方法,这需要我们定义一个环路增益参考变量。这将是用作控制器的运算放大器模型的压控电压源。
所有上述指令属性均已编码并如图 3 所示。
显示 SLiCAP 指令属性的 Python 代码片段。
图 3. 在 Python 中编码 SLiCAP 指令属性并执行指令。
在执行指令之前,我们还有一步需要完成,即定义增益类型。回想一下上一节,源到负载传输、渐近增益和伺服增益之间存在关系。此外,伺服增益取决于环路增益。这就是为什么在图 3 中,我们为每种增益类型执行指令。
使用 SLiCAP 输出进行设计
现在我们已经运行了模拟,我们可以使用结果来促进我们的设计过程。图 4 显示了通过运行 Python 脚本生成的 HTML 的一部分。
HTML 的片段显示了不同增益类型的传递函数。
图 4.生成的 HTML 的片段显示了不同增益类型的电压放大器传递函数。
正如预期的那样,渐近增益 ( A ∞ ) 仅取决于电阻反馈比。由于电压增益要求(A v = 20),该比率已经固定。
另一方面,环路增益表现为积分器,其单位增益频率等于GB与电阻反馈比的乘积。我们还可以从图 4 的输出中观察到,环路增益的单位增益频率将决定伺服函数的带宽S ( s ) 和源到负载传输G ( s )。
这些观察为我们的设计奠定了基础。由于电阻比已由A v要求确定,因此显然只能通过改变所选运算放大器的增益带宽积来设计电路的带宽。
接下来,让我们使用Python作为计算器来完成我们的设计。图 5 显示了当我们使用设计方程调整电阻器大小以使A v = 20 时产生的 HTML 输出。
HTML 的片段显示了基于电压增益要求的 R1 计算。
图 5.生成的 HTML 的片段显示了基于A v要求的R 1计算。
基于该电阻分压比,我们可以自由选择R 1和R 2。在这种情况下,我们选择R 1并根据给定的公式计算R 2 。一般来说,我们会添加限制设计自由度的噪声和功耗要求,但这些超出了这个简单示例的范围。
,图 6 显示了用于确定运算放大器的增益带宽积的 HTML 输出。
HTML 的片段显示了带宽要求的增益带宽积的计算。
图 6.生成的 HTML 的片段显示了带宽要求的GB
顺便说一句,您可能已经注意到上图中称为“环路增益极点乘积”的东西。虽然我们不会在本文中讨论它,但环路增益极点乘积的概念(和重要性)在我之前提到的教科书的第 11 章中得到了彻底的解释。
SLiCAP 中的设计验证
我们初的设计目标——适当调整R 1、R 2和GB 的大小——现已达到。不过,我们仍然需要验证这三个参数是否满足性能要求。为此,我们使用选定的参数值在 SLiCAP 中运行数值模拟。然后,SLiCAP Python 包将为我们一直在研究的不同增益类型创建波特图:
渐近增益。
环路增益。
伺服增益。
源到负载传输(简称为增益)。
图 7 和图 8 分别显示了幅度和相位波特图。
SLiCAP 生成的幅度伯德图。
图 7. SLiCAP 生成的幅度波德图,其中R 1 = 190 kΩ、 R 2 = 10 kΩ、 GB = 10 MHz。
由 SLiCAP 生成的相位伯德图。
图 8. SLiCAP 生成的相位波特图,其中R 1 = 190 kΩ、 R 2 = 10 kΩ、 GB = 10 MHz。
源到负载传输的直流幅度为A v = 20(约等于 26 dB),带宽f BW = 500 kHz,这意味着满足要求。其他增益类型对应于我们之前发现的拉普拉斯传递函数。G ( s )和S ( s )超出带宽的一阶衰减来自环路增益中的一阶积分器,其本身源自运放的电压增益。
总结 我们在本文中使用的模型非常简单,可能过于简单,无法准确表示真实的应用程序。更实际的示例电路可能包括以下任意或全部内容:
负载阻抗。
源阻抗。
运算放大器的输入和输出阻抗。
运算放大器电压增益中的附加极点和零点。
在设计过程的部分中,技巧是了解在环路增益中引入主导极点和/或零点的模型组件。这应该返回有限阶环路增益传递函数,有助于确保零极点布局满足带宽要求。我们可以稍后在数值模拟中添加复杂性,以验证完整的电路。
尽管很简单,我们的设计示例准确地反映了SLiCAP 的结构化设计理念。在更实际的层面上,它表明 SLiCAP 能够在相当短的时间内提供有助于元件选择、验证电路和记录过程的方程式。总而言之,SLiCAP 为模拟电子工程师提供了一个的机会来加速和自动化一些放大器设计。