2、稳定性核心指标:相位裕度(PM)与增益裕度(GM)的定义与工程意义
做放大器设计,尤其是两级结构,最怕什么?
怕振荡。
芯片一上电,输出端直接变成正弦波发生器,那感觉……我经历过一次,流片回来发现运放自激了,整个项目延期两个月。从那以后,我养成了一个习惯:任何闭环放大器,必须先看相位裕度和增益裕度。
这两个指标,说白了就是判断放大器会不会振荡的「安全标尺」。今天咱们就把它们彻底讲透。
2.1 为什么需要裕度?——从巴克豪森判据说起
先回忆一个基础概念:负反馈系统为什么会振荡?
巴克豪森判据告诉我们,当环路增益 |Aβ| 满足两个条件时,系统就会自激:
- 幅度条件:
|Aβ| ≥ 1(环路增益大于等于 0 dB) - 相位条件:
∠Aβ = -180°(相移达到 180°,负反馈变正反馈)
两个条件同时满足,振荡就来了。
核心理解:稳定性设计的目标,就是让这两个条件不同时成立。要么在相移达到 -180° 时,增益已经掉到 0 dB 以下;要么在增益为 0 dB 时,相移还没到 -180°。
相位裕度和增益裕度,就是量化这个「安全距离」的指标。
2.2 相位裕度(PM)——你离振荡还有多少度?
定义:在环路增益 |Aβ| = 1(即 0 dB)的频率点(称为单位增益带宽,记作 ω₀),实际相移与 -180° 之间的差值。
公式很简单:
PM = 180° + ∠Aβ(ω₀)
举个例子:如果在 0 dB 频率处,环路相移是 -120°,那么 PM = 180° - 120° = 60°。
工程意义:
- PM > 0°:系统稳定(不振荡)
- PM = 45°:勉强稳定,时域有较大过冲(约 23%)
- PM = 60°:工程上公认的「黄金值」,过冲约 8.6%,响应快且稳定
- PM = 90°:非常稳定,但响应慢(过冲接近 0%)
我的经验:做两级运放时,我一般把 PM 目标定在 60°~70°。低于 50° 的芯片,量产时温度一变就容易出问题。高于 80° 虽然稳,但带宽浪费太多,得不偿失。
2.3 增益裕度(GM)——你还有多少 dB 的安全余量?
定义:在相移达到 -180° 的频率点(称为相位交叉频率,记作 ω₁₈₀),环路增益 |Aβ| 低于 0 dB 的数值。
公式:
GM = -20log₁₀|Aβ(ω₁₈₀)| (单位:dB)
如果相移 -180° 时,增益是 -10 dB,那么 GM = 10 dB。
工程意义:
- GM > 0 dB:系统稳定
- GM = 10 dB:工程上推荐的最小值
- GM < 6 dB:工艺角变化时极易振荡
我曾经踩过的坑:有一次设计两级运放,只盯着 PM 看,PM 有 65°,觉得稳了。结果流片回来,高温下运放开始振荡。一测才发现,GM 只有 3 dB。温度升高后,极点位置漂移,GM 变成负的,直接自激。所以我现在看稳定性,PM 和 GM 必须同时检查,一个都不能少。
2.4 PM 与 GM 的对比总结
| 指标 | 相位裕度(PM) | 增益裕度(GM) |
|---|---|---|
| 关注点 | 增益 0 dB 处的相位余量 | 相位 -180° 处的增益余量 |
| 典型值 | 60°(黄金值) | 10 dB(推荐值) |
| 过低后果 | 时域过冲大、振铃 | 工艺/温度变化时自激 |
| 过高后果 | 响应变慢、带宽浪费 | 设计过于保守 |
| 测量方式 | 环路增益波特图 | 环路增益波特图 |
2.5 如何从波特图读取 PM 和 GM?
实际操作中,我们通过仿真环路增益的波特图来获取这两个值。步骤很简单:
- 断开环路:在反馈路径上插入一个
iprobe或stb分析点 - 跑 AC 仿真:扫描频率,得到幅频和相频曲线
- 读 PM:找到幅频曲线穿过 0 dB 的频率点,看该频率对应的相移值
- 读 GM:找到相频曲线穿过 -180° 的频率点,看该频率对应的增益值
实用技巧:在 Cadence 中用 stb 分析时,结果会直接给出 PM 和 GM 的数值。但我建议你还是手动在曲线上确认一下——仿真器有时会在多环路情况下算错。
2.6 知识体系:稳定性指标全景图
下面这张图把 PM、GM 以及它们与系统稳定性的关系梳理清楚了:
2.7 工程中的实际考量
最后说几点我在项目中积累的经验:
- 不要只看典型值:仿真时 PM=60° 很漂亮,但工艺角(FF、SS、FS、SF)和温度(-40°C ~ 125°C)跑一遍,PM 可能掉到 30°。我习惯留 10°~15° 的余量。
- 负载电容影响很大:两级运放的输出极点随负载电容变化。空载时 PM 可能 70°,挂上 10 pF 负载,PM 直接掉到 40°。设计时一定要覆盖实际负载范围。
- GM 容易被忽视:很多教材只讲 PM,但实际芯片中,GM 不足会导致高频噪声放大或工艺漂移后自激。我现在的设计规范是:
PM ≥ 55°且GM ≥ 8 dB。
一个小技巧:在 Cadence 中跑完 stb 分析后,用 phaseMargin 和 gainMargin 函数可以直接提取数值。但我还是建议你打开波形,手动确认一下交叉点——有时候仿真器会在多极点系统中报错。