news 2026/9/13 15:05:43

小信号分析实战:CS、CG、SF三种单级放大器核心推导与设计要点

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
小信号分析实战:CS、CG、SF三种单级放大器核心推导与设计要点

小信号分析这个东西,我刚接触模拟IC设计那会儿,是真没当回事。觉得不就是拿个小信号模型,列几个KCL方程,算个增益嘛。结果等到做项目、调电路、被面试官连环追问的时候才发现,当年没啃透的那些细节,全变成了坑。尤其是CS、CG、SF这三种单级放大器,它们就像盖房子的砖,你看着简单,但凡是砖没烧透,往上的差分对、共源共栅、运放设计全得跟着受影响。

这篇文章不打算给你罗列多少高深理论,就当作一份自查向的分析手册。我会把这三个结构从直流工作点怎么确定、小信号等效电路怎么画、关键指标怎么一步步推出来,到仿真验证时容易踩的坑,全都给你拆开揉碎讲一遍。如果你正在学模拟集成电路,或者做项目时突然发现自己对基础分析还有点虚,那这篇内容应该能帮你把思路理清楚。

1. 一次小信号分析的本质是什么

1.1 为什么要单独讨论小信号

很多朋友一开始容易卡在一个问题上:既然MOS管是个非线性器件,那为啥我们天天拿着线性电路那一套去分析它?这里的关键在于“小信号”这三个字。

所谓小信号,指的是叠加在直流工作点上的一个幅度足够小的变化量。当这个变化量足够小的时候,MOS管的I-V特性曲线在局部范围内近似是线性的,或者说可以用工作点处的切线来代替原本的曲线。这就好比你看地球表面觉得它是平的,但放到整个宇宙尺度,它其实是个球。我们做小信号分析,就是在“局部平坦”的前提下研究电路行为。

那这个分析能用来做什么?最核心的用途是把增益、输入阻抗、输出阻抗、带宽、噪声这些性能指标提炼成简洁的数学表达式。通过这些表达式,你可以一眼看出哪个参数卡住了电路的性能上限,然后反过来指导直流工作点的设计。换句话说,不理解小信号分析,你设计电路就只能靠仿真软件碰运气,做完一个case换一个case,根本不知道电路的内在规律。

1.2 小信号模型怎么画才顺手

要分析小信号,第一步自然是要把晶体管换成小信号模型。MOS管在饱和区时的低频小信号模型,核心就是几个压控电流源和电阻的组合。

  • 跨导gm:栅源电压变化带来的漏电流变化,这是MOS管的核心放大能力,公式是gm = 2ID/(VGS-VTH),或者写成gm = μnCox*(W/L)*(VGS-VTH)。
  • 输出电阻ro:由于沟道长度调制效应,漏电流会随VDS略有变化,等效成漏源之间的一个电阻,约等于1/(λ*ID)。
  • 体效应跨导gmbs:衬底电压变化对漏电流的影响,在源极和衬底之间没有交流连接时不能忽略,gmbs = η*gm,η通常在0.1到0.3之间。

画模型的时候,我一直建议初学者养成一个习惯:先画直流通路,再画交流通路,最后才换成小信号模型。很多教科书喜欢直接扔给你一个带电压源的小信号等效电路,然后告诉你怎么算增益。这确实高效,但容易让你忽略一个核心问题——电路里哪些点是在交流地上。一旦判断错了交流地,后面整条推导线路就废了。

另外还有一个非常容易被忽略的点:理想直流电压源在小信号下是短接到地的,理想直流电流源在小信号下是断开的。这一点看似简单,但在CG电路分析中,如果没把漏极电流源的中频阻抗理解清楚,算出来的输入阻抗会差出好几倍。

2. 动手分析前,先把直流工作点定明白

2.1 共源极的偏置设计

CS放大器,最简单的形式是栅极加输入电压,漏极通过电阻RD接到VDD,源极直接接地。偏置问题的本质是:选定合适的VGS和ID,让管子工作在饱和区,同时把输出共模电平设置在VDD - ID*RD,确保放大后有足够的电压摆幅。

以一个实际设计场景来说,假设VDD=1.8V,VTH=0.5V,你希望ID=100μA,漏极电压VD=1.0V,那么RD就应该是(1.8-1.0)/100μA = 8kΩ。接着由ID公式反推W/L,这需要知道工艺库的μnCox参数。流片之前,很多人会习惯直接查工艺手册或者用DC扫描找合适的W/L。这个流程没毛病,但我建议一定要把工作点的电压余量检查清楚。

对于饱和区来说,至少要保证VDS > VGS - VTH。有些初学的朋友刚拿到电路,随手设了VD=0.3V,管子直接进了线性区,增益掉得一塌糊涂,还以为是模型算错了。所以偏置的检查顺序应该先确认VDS余量,再看电流大小,最后才是算小信号参数。

2.2 共栅极与源随器的偏置差异

CG放大器的偏置思路和CS不太一样。栅极不再承担输入信号的任务,所以需要被固定在一个直流电位上,同时通过隔直电容或者直接连接方式保证它在交流通路里接地。输入信号从源极进,输出从漏极取。

CG的直流工作点要额外关注源极电位。如果输入源直接耦合到源极,那源极电位就由前级输出决定,此时你需要仔细核算这个电位是否会让管子推出饱和区。如果输入源是电容耦合,源极的静态电位就要靠偏置电流源和管子的电流共同来确定。

源随器的偏置又是另一种画风。源极输出、漏极接VDD、栅极接输入,源极下面接一个电流源或者电阻来做负载。这个结构最核心的偏置要求是:必须保证源极电位低于栅极一个VGS,但高于地,给管子留出足够的VDS余量。我曾经遇到过很典型的场景:为了把输出共模电平抬高,把尾电流源尺寸调得特别大,结果电流太大,栅极稍微偏低了点,VDS不足,管子的增益和线性度全部恶化。所以源随器并不是随便找个电流镜就能完事,它的偏置对输出摆幅非常敏感。

2.3 工作点对小信号参数的实际影响

有时候你会发现仿真增益和手算增益差出一截,很大概率不是公式推错了,而是因为你手算用的gm和ro根本不在实际工作点上。工艺角、温度、电源电压变化,都会让工作点飘移,从而改变gm和ro。

举个例子,gm近似正比于(VGS-VTH),但VTH本身会随着体效应变化。在CS电路里管子源极接地,体效应影响不大;但在源随器里,源极电压是跟随输出变化的,衬底如果接的是地而不是源极,那么VTH会随共模输入变化,这直接导致源随器增益计算必须加入gmbs项。

所以每次做手算之前,给自己定个规矩:先把工作点打印出来,把仿真得到的gm、ro、gmbs一一对应到公式里,然后再算增益。这样能立刻发现是模型偏差还是你自己的推导问题。

3. 三个单级结构的核心推导与拆解

3.1 CS共源极:被米勒效应盯上的“主力军”

CS放大器的小信号等效电路其实很规整:栅极接输入源,源极交流地,漏极处有受控电流源gm*Vgs、输出电阻ro、还并联了外部负载RD。输入回路里,Vgs直接等于输入电压Vin。所以电压增益为:

Av = Vout / Vin = -gm * (ro ‖ RD)

这里负号表示反相。也许有人要问,为什么输出阻抗要把ro和RD并联起来?因为从输出端往漏极看,内部有个电阻ro,外部还挂了个RD,两边都通向交流地,对于漏极节点的扰动来说,两条路径是并联的。

CS放大器的输入阻抗在各路单级结构里是最“理想”的。MOS管栅极在低频下几乎不取电流,所以输入阻抗趋近无穷大。这带来的好处是前级不需要提供驱动电流,非常适合做高阻前端。但高增益和高输入阻抗也伴随一个副作用——米勒效应

米勒效应指的是Cgd跨接在输入和输出之间,由于输出反相且增益幅度为Av,实际等效到输入端的电容变成Cgd*(1+|Av|)。这在算带宽时是致命的。开环增益越高,输入极点越低,带宽越窄。这也是为什么CS放大器做单级增益可以做到很高,但很难同时做宽带。明白了这一层,你再去看共源共栅结构,就能理解它是怎么通过屏蔽米勒效应来拓宽带宽的。

此外,CS电路还有一个细节容易被忽略:体效应。在源极接地、衬底也接地的情况下,gmbs不会起作用。但如果源极没有直接接地,而是通过一个电阻接到地,那衬底信号会影响阈值电压,等效产生一个从漏极到源极的额外电流项,这时增益表达式就会变成-gm/(1+η)乘上原来的输出电阻网络。很多仿真相差10%到20%的情况,就是少算了gmbs。

3.2 CG共栅极:低输入阻抗的“缓冲搬运工”

CG放大器在教科书中常被拿来和CS对照。区别就在于输入信号不再加在栅极,而是加到源极。栅极交流接地,输出从漏极取。小信号等效图中,输入电压就作用在源极和地之间,但由于栅极接地,Vgs就变成了-Vin。受控源gm*Vgs的方向是从漏极到源极,因此输出端的电流方向和输入信号之间的关系,最终导致CG增益表达式为:

Av = gm * (ro ‖ RD)

这里没有负号。也就是说,CG放大器在相位上是同相的。

很多初学者推CG增益时,常常搞不清楚Vgs要怎么取。其实你只需要记住:Vgs = VG - VS。栅极交流地电位为0,源极接的是输入信号Vin,那么Vgs = 0 - Vin = -Vin,于是gmVgs = -gmVin,这个电流从漏极端流入,在输出电阻上形成电压降,算出来正好是正的增益。

CG更显著的特色在输入阻抗上。从源极看进去,由于受控电流源的调节作用,等效输入阻抗约为1/gm。这个阻抗非常低,通常在几百欧姆量级。为什么会有这种特性?可以通俗地理解:源极电压稍微上升,偏置电压下降,电流源立刻会把更多电流从源极“抽走”或者“注入”,等效为对外部激励的强吸收能力。低输入阻抗带来的最大好处是做电流输入控制,比如电流模式电路和共源共栅输出级。

要特别提醒的是,CG的输入阻抗计算必须考虑输出端负载和ro的影响。如果漏极负载阻抗不可忽略或者电路没有良好匹配,输入阻抗会在1/gm的基础上增加一个(introduce by output loop)的修正项。工程上经常用这个修正项来设计输入匹配网络。

3.3 SF源随器:跟着输入走的“电平移位器”

源随器是三个结构中最“反直觉”的一个——它增益小于1。为什么一个放大器会做增益小于1的事?因为它真正值钱的地方不在电压放大,而在于阻抗变换。源随器输入阻抗高,输出阻抗低,同时输出电压紧跟输入电压变化,所以它经常被用作电压缓冲器,把上一级的高阻输出变成低阻源来驱动下一级,或者做电平移位。

推导源随器增益时,关键是要画出输出节点的电流平衡关系。漏极接VDD交流地,栅极加输入Vin,源极输出Vout并接负载电阻RL。对输出节点来说,电流满足:

gm*(Vin - Vout) + gmbs*(0 - Vout) = Vout / (ro ‖ RL)

或者整理成:

Vout / Vin = gm / (gm + gmbs + 1/(ro ‖ RL)) ≈ gm / (gm + gmbs + 1/RL)

从这个式子能看出,如果负载RL足够大、gm足够高、体效应gmbs较小,那么增益会接近1。实际设计中,当源随器驱动一个10kΩ电阻、gm在1mS量级时,增益大约在0.8到0.95之间。这0.05到0.2的损失,就是为阻抗变换付出的代价。

源随器还有一个特性值得单独讲:它的输入电容不会受米勒效应放大。因为输出和输入是同相且增益约等于1,Cgd和Cgs两端电压变化幅度很小,相当于电容两端几乎同电位,所以输入等效电容近似只有Cgs,没有反相放大的激励。这让源随器在高频缓冲级里特别受欢迎。

4. 三个结构的横向对比与选择逻辑

4.1 增益、阻抗、极性的完整对照

下面这张表是我在实际学习中用来快速回忆三个结构的速查表。建议你把它打印出来贴在工位上。

结构电压增益极性输入阻抗输出阻抗主要用途
CS-gm*(ro‖RD)反相高(栅极)ro‖RD主增益级、前端放大
CGgm*(ro‖RD)同相低(≈1/gm)ro‖RD电流输入、阻抗匹配、共源共栅
SFgm/(gm+gmbs+1/RL)≈1同相高(栅极)≈1/gm缓冲、电平移位、驱动负载

这张表的价值不只是让你背公式,关键是提醒你在电路设计时知道每个结构适合做什么。碰到高增益需求,先想CS;碰到低阻抗输入需求,先想CG;碰到级间缓冲驱动,先想SF。三个结构反复组合,就能搭出无数实用的两级运放架构。

4.2 频率响应:为什么带宽差距那么大

三种结构在带宽上的表现差异巨大,本质原因在于各节点的时间常数不同。

CS放大器的带宽主要由输入节点的米勒等效电容决定。低频增益越高,Cgd等效到输入端的电容越大,输入极点越低,所以CS单级放大的增益带宽积在设计时需要非常小心。这也是用作宽带的CS放大器必须把增益压低的原因。

CG放大器的输入阻抗很低,所以它输入端的极点频率往往非常高。如果用电流形式驱动CG,输入节点的时间常数约等于(1/gm)*Cgs,这个值在大多数工艺下都能做到GHz量级。因此射频电路里面的共栅输入级、共源共栅组合,都在利用CG的这一特性来规避低频极点。

源随器的带宽瓶颈通常不在输入而在输出。虽然输出阻抗只有1/gm,但如果你驱动的负载电容很大,输出极点会成为主导极点。这时候单靠调大gm能改善输出驱动能力,但要注意gm增大往往意味着电流增加,带来功耗代价。在高频链路设计里,源随器后面经常只接栅极,不接大电容负载,就是为了把极点推高。

5. 常见问题与排查技巧实录

5.1 手算增益严重偏大,多半是这些建模问题

见过太多人和我说,“老师教的手算公式算出来增益是20dB,仿真只有14dB,到底谁错了?”这种情况得一步一步排查。

第一个要检查的是ro。如果CMOS工艺比较先进,沟道长度调制效应很强,ro会比理想值小不少。如果你把ro忽略不计,只算gm*(RD||RL),那当然会高估增益。建议手算时先打印ro,然后判断它和RD的并联关系是否显著降低了等效电阻。

第二个要检查的是体效应。特别是SF和CG电路。如果衬底没有和源极短接,gmbs就是不可忽略的。以SF为例,输入管的体效应如果让gmbs达到了0.2倍gm,那么输出阻抗变小,增益从0.95直接掉到0.8,这对高精度缓冲电路来说差别很大。

第三个容易弄错的点是负载类型。仿真里你接一个理想电压源当负载,和接一个电流源负载,整个电路的小信号阻抗模型完全不一样。手算之前先确认负载是纯阻性、理想电流源还是另一级放大器的输入阻抗。

5.2 仿真验证的思路:怎么检查你的手算对不对

现在很多EDA工具都自带工作点信息打印功能。以通用流程来举例:跑完DC仿真,直接查看工作点里给出的gm、gds、gmbs等参数,然后代入公式算一次增益,再跑AC仿真看低频增益。你自己就会惊讶,多数情况下两边能对上到误差5%以内。

如果对不上,还有几个实操技巧可以试。第一,把频率尽量压低再做AC分析,比如从1Hz开始,排除高频极点的影响。第二,检查直流工作点时,看VDS是否够大,确认管子确实在饱和区。第三,人为调整RD的阻值做并联测试,观察增益变化趋势是否符合预期,这会帮你快速定位是内部ro的问题还是外部负载的问题。

之前带过一位刚入职的同事,他死活算不出仿真为啥比手算低了3dB。我让他看ro,他打印出来之后发现ro只有5kΩ,而RD设了50kΩ,等于并联之后等效电阻大幅缩水。他之前一直默认ro无穷大,这就是经验问题。所以建议所有刚接触模拟设计的工程师,养成随手打印gm、ro这些参数的习惯,界面里既然给了,不用白不用。

5.3 三个结构组合使用时的隐性坑

CS、CG、SF在工作里很少单独出现,更多是组合成多级结构。比如经典的五管运放,第一级是CS负载的差分对,第二级是CS放大器。如果你能在分析时把每一级的输出阻抗当成下一级的源阻抗或者负载阻抗来合并处理,很多跨级耦合的问题会清晰很多。

组合使用时有一个高频坑:级间相互作用会改变你原本预期的阻抗关系。比如SF的输出阻抗是1/gm,如果你拿它直接去驱动一个CG的源极输入,那么SF的输出级和CG的输入级会形成一个串联分压关系,SF的增益就会进一步偏离1。仿真里会看到整体电压增益比逐级算的乘积还小,很多人一脸懵,其实就是漏算了级间阻抗的影响。

另一个坑在偏置传递。SF的输出直流电压会等于输入直流电压减去一个VGS,而下一级的CG静态工作点又对这个电压很敏感。如果几级串在一起,每一级的电压偏移累积起来,很容易让后面管子被推出饱和区。防止这个问题的方法是仔细做直流电平预算,确保每一级都有足够的余量,而不是只依赖仿真自动收敛。

6. 写在最后:一些实操后的心里话

小信号分析看起来只是“三个电路”的推导,但真正把CS、CG、SF的基本功练扎实之后,你会发现自己再看差分放大器、电流镜、共源共栅这些复杂结构时,视角完全不一样了。你现在能直接看出来哪个管子是第一级增益的核心、哪个管子的作用是提供低阻抗节点、哪个管子是在做电平匹配。

我做这些分析时有个习惯:每推完一个结构,立刻对照仿真改几个参数,比如RD变大变小、W/L变化、电流变化,观察增益和带宽的响应方向是不是和手算公式一致。这比盲目看仿真结果有用得多,因为只有你对每个参数为什么起作用有了直觉,才能在做反向设计或性能优化时事半功倍。

如果你还在学习阶段,建议不要只抄结论,亲自把三种结构从头到尾推一遍,再把这个推导过程当成自己写文章的素材。等你哪天能不看课件,徒手画出等效电路并写出增益表达式,这个基础就算是真过关了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 15:03:12

提示词工程:大语言模型高效应用的核心技术

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 15:02:38

MaxScript批量翻转法线贴图:完美解决DX/GL通道反向问题

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 15:02:30

Matlab求解多旅行商问题:遗传算法与2-opt优化实践

简介:面向学习组合优化与智能算法的Matlab用户,这是一份聚焦多旅行商问题(MTSP)的遗传算法实现集合。资源包共7个文件,包含5个zip压缩包(对应mtspofs_ga、mtspf_ga、mtspv_ga、mtsp_ga等多个GA变体&#xf…

作者头像 李华
网站建设 2026/9/13 15:02:16

2023年CSP-J初赛真题解析:从阅读程序到完善程序的备考策略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/13 15:01:08

Ziegler-Nichols临界比例法PID参数整定及MATLAB实现

简介:这份资源围绕Z-N法(Ziegler-Nichols)整定PID控制器参数,面向自动化控制学习者与工程实践者,解决系统缺乏精确模型时PID参数难以确定的问题。压缩包共2个文件,含MATLAB脚本用于系统动态模拟与参数整定计…

作者头像 李华