4、AC小信号分析:AC仿真设置、增益与相位曲线解读、带宽与相位裕度计算

AC小信号分析,说白了就是给放大器灌一个小正弦波,然后看它怎么响应。这小信号得足够小,小到不会改变电路的直流工作点。我个人习惯把AC分析看作是放大器的“频率响应体检报告”——它能告诉你放大器在哪个频段干活最卖力,到了高频又怎么掉链子。

4.1 AC仿真设置

在Cadence ADE L/XL中,AC仿真的设置其实不复杂。但有几个关键点,我刚开始做设计时踩过坑,这里给你提个醒。

我的习惯:AC仿真一定要和DC工作点仿真一起跑。因为AC分析本质上是基于DC工作点的小信号线性化,工作点不对,AC结果全是错的。

具体设置步骤如下:

  1. 选择分析类型:在Choose Analysis窗口中勾选ac。
  2. 设置扫描范围:Sweep Variable选Frequency,Sweep Range一般从1Hz到1GHz或更高。我建议至少扫到10倍GBW以上,否则你看不到完整的滚降特性。
  3. 扫描点数:Points Per Decade设为100或200。点数太少,曲线不够平滑;点数太多,仿真时间变长。100点/十倍频程是个不错的折中。
  4. 输入激励:在输入端口加一个AC magnitude = 1V的电压源,AC phase = 0。这样输出端的电压值直接就是增益值,省得你换算。
注意:千万别忘了给输入信号源设置AC magnitude!我见过不少新手,只设了DC值,AC仿真跑出来一条直线,还以为是电路有问题。其实,AC源根本没给信号。

4.2 增益与相位曲线解读

跑完仿真,你会得到两条曲线:增益曲线(dB)和相位曲线(deg)。这两条曲线,是放大器频率响应的“心电图”。

增益曲线,纵坐标是20log|Av|,单位dB。横坐标是频率,对数坐标。理想情况下,低频段增益平坦,到了某个频率点开始以-20dB/dec的斜率下降。为什么会这样?因为每个极点都会贡献-20dB/dec的滚降。

相位曲线,纵坐标是输出相对于输入的相位差,单位度。低频时相位接近0°(同相放大器)或180°(反相放大器)。随着频率升高,每个极点贡献-45°的相移(在极点频率处),最终趋向-90°。

频率区域 增益行为 相位行为
低频(< f_p1) 平坦,等于直流增益A0 0°(同相)或180°(反相)
主极点附近(f_p1) 开始下降,-3dB点 -45°相移
中频(f_p1 < f < f_p2) -20dB/dec滚降 -90°相移
高频(f > f_p2) -40dB/dec滚降 -180°相移

我记得有一次,我设计一个两级运放,仿真出来的增益曲线在10MHz附近有个奇怪的“鼓包”。一开始我以为是仿真精度问题,后来仔细一查,发现是零点在作怪。零点会引入+20dB/dec的上升和+45°的相移,如果零点频率和极点频率靠得太近,就会把滚降“拉平”一段。

4.3 带宽与相位裕度计算

带宽和相位裕度,是衡量放大器稳定性和速度的两个核心指标。

4.3.1 -3dB带宽

-3dB带宽,就是增益从直流增益下降3dB时的频率点。在增益曲线上,找到直流增益值,往下数3dB,画一条水平线,与增益曲线的交点对应的频率,就是f_-3dB。

对于单极点系统,f_-3dB就是主极点频率。对于多极点系统,f_-3dB会低于主极点频率,因为多个极点叠加,增益下降得更快。

实用技巧:在Cadence计算器中,可以用bandwidth()函数直接计算-3dB带宽。但我建议你还是手动确认一下,因为计算器有时会把噪声尖峰误判为增益峰值。

4.3.2 单位增益带宽(GBW)

单位增益带宽,就是增益下降到0dB时的频率点。在增益曲线上,找到0dB水平线与增益曲线的交点,对应的频率就是f_0dB或GBW。

对于单极点系统,GBW = A0 * f_-3dB。这个关系很实用——你只要知道直流增益和-3dB带宽,就能估算出GBW。我经常用这个公式来快速判断一个运放的速度够不够用。

4.3.3 相位裕度(PM)

相位裕度,是衡量放大器稳定性的关键指标。它的定义是:在GBW频率点,相位曲线距离-180°还有多少度的余量。

计算步骤:

  1. 在增益曲线上找到0dB对应的频率点f_0dB。
  2. 在相位曲线上,找到f_0dB对应的相位值φ(f_0dB)。
  3. 计算相位裕度:PM = φ(f_0dB) - (-180°) = φ(f_0dB) + 180°。

举个例子:如果f_0dB处的相位是-120°,那么PM = -120° + 180° = 60°。

相位裕度 稳定性 时域响应
PM < 45° 不稳定,容易振荡 严重过冲,振铃
45° ≤ PM ≤ 60° 稳定,但瞬态响应有轻微过冲 可接受,适合大多数应用
60° ≤ PM ≤ 75° 非常稳定,瞬态响应平滑 过冲小,建立时间短
PM > 75° 过于保守,带宽利用率低 响应慢,但稳定
避坑指南:我曾经设计一个LDO,仿真PM有65°,觉得稳了。结果流片回来,负载瞬态响应时振荡得一塌糊涂。后来发现,我忽略了负载电容ESR引入的零点。这个零点在高频处把相位又拉回去了,导致实际PM远低于仿真值。所以,一定要把寄生参数和外部元件的影响考虑进去。

4.4 核心知识体系

下面这张图,是我自己总结的AC分析知识体系。你可以把它当作一个检查清单,每次做AC仿真时对照一下,看看有没有遗漏。

AC小信号分析核心知识体系 AC小信号分析 仿真设置 曲线解读 指标计算 扫描范围 扫描点数 AC激励源 DC工作点 增益曲线 相位曲线 极点/零点 滚降斜率 -3dB带宽 GBW 相位裕度 稳定性判断 💡 核心要点 AC分析是放大器频率响应的“体检报告” 带宽决定速度,相位裕度决定稳定性 仿真时务必考虑寄生参数和外部元件影响

4.5 实战:用计算器提取指标

在Cadence中,除了肉眼读图,还可以用计算器函数精确提取指标。我个人比较喜欢用Calculator里的bandwidth()和phaseMargin()函数。

// 计算-3dB带宽
bandwidth(VF("/vout") / VF("/vin") 3)

// 计算单位增益带宽(GBW)
cross(VF("/vout") / VF("/vin") 0 1 "falling" nil nil nil)

// 计算相位裕度
phaseMargin(VF("/vout") / VF("/vin"))

不过,我建议你刚开始时还是手动验证一下。计算器有时会“抽风”,比如bandwidth()函数如果遇到增益曲线有多个-3dB点(比如带通滤波器),它可能会返回第一个点,而不是你想要的点。

我的经验:对于多级放大器,相位裕度最好在60°以上。如果低于45°,闭环使用时大概率会振荡。我曾经有个项目,为了追求带宽,把PM压到了50°,结果在-40°C低温测试时,输出波形出现了明显的振铃。从那以后,我给自己定了个规矩:PM低于55°的设计,必须重新审视补偿网络。

好了,AC分析的核心内容就这些。记住,仿真只是工具,理解背后的原理才是关键。下次跑AC仿真时,别只盯着曲线看,多想想“为什么是这个形状”、“为什么这个极点在这里”。