4、AC小信号分析:AC仿真设置、增益与相位曲线解读、带宽与相位裕度计算
AC小信号分析,说白了就是给放大器灌一个小正弦波,然后看它怎么响应。这小信号得足够小,小到不会改变电路的直流工作点。我个人习惯把AC分析看作是放大器的“频率响应体检报告”——它能告诉你放大器在哪个频段干活最卖力,到了高频又怎么掉链子。
4.1 AC仿真设置
在Cadence ADE L/XL中,AC仿真的设置其实不复杂。但有几个关键点,我刚开始做设计时踩过坑,这里给你提个醒。
具体设置步骤如下:
- 选择分析类型:在
Choose Analysis窗口中勾选ac。 - 设置扫描范围:
Sweep Variable选Frequency,Sweep Range一般从1Hz到1GHz或更高。我建议至少扫到10倍GBW以上,否则你看不到完整的滚降特性。 - 扫描点数:
Points Per Decade设为100或200。点数太少,曲线不够平滑;点数太多,仿真时间变长。100点/十倍频程是个不错的折中。 - 输入激励:在输入端口加一个
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会低于主极点频率,因为多个极点叠加,增益下降得更快。
bandwidth()函数直接计算-3dB带宽。但我建议你还是手动确认一下,因为计算器有时会把噪声尖峰误判为增益峰值。
4.3.2 单位增益带宽(GBW)
单位增益带宽,就是增益下降到0dB时的频率点。在增益曲线上,找到0dB水平线与增益曲线的交点,对应的频率就是f_0dB或GBW。
对于单极点系统,GBW = A0 * f_-3dB。这个关系很实用——你只要知道直流增益和-3dB带宽,就能估算出GBW。我经常用这个公式来快速判断一个运放的速度够不够用。
4.3.3 相位裕度(PM)
相位裕度,是衡量放大器稳定性的关键指标。它的定义是:在GBW频率点,相位曲线距离-180°还有多少度的余量。
计算步骤:
- 在增益曲线上找到
0dB对应的频率点f_0dB。 - 在相位曲线上,找到
f_0dB对应的相位值φ(f_0dB)。 - 计算相位裕度:
PM = φ(f_0dB) - (-180°) = φ(f_0dB) + 180°。
举个例子:如果f_0dB处的相位是-120°,那么PM = -120° + 180° = 60°。
| 相位裕度 | 稳定性 | 时域响应 |
|---|---|---|
| PM < 45° | 不稳定,容易振荡 | 严重过冲,振铃 |
| 45° ≤ PM ≤ 60° | 稳定,但瞬态响应有轻微过冲 | 可接受,适合大多数应用 |
| 60° ≤ PM ≤ 75° | 非常稳定,瞬态响应平滑 | 过冲小,建立时间短 |
| PM > 75° | 过于保守,带宽利用率低 | 响应慢,但稳定 |
负载电容ESR引入的零点。这个零点在高频处把相位又拉回去了,导致实际PM远低于仿真值。所以,一定要把寄生参数和外部元件的影响考虑进去。
4.4 核心知识体系
下面这张图,是我自己总结的AC分析知识体系。你可以把它当作一个检查清单,每次做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仿真时,别只盯着曲线看,多想想“为什么是这个形状”、“为什么这个极点在这里”。