
小信号分析这个东西我刚接触模拟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确保放大后有足够的电压摆幅。以一个实际设计场景来说假设VDD1.8VVTH0.5V你希望ID100μA漏极电压VD1.0V那么RD就应该是(1.8-1.0)/100μA 8kΩ。接着由ID公式反推W/L这需要知道工艺库的μnCox参数。流片之前很多人会习惯直接查工艺手册或者用DC扫描找合适的W/L。这个流程没毛病但我建议一定要把工作点的电压余量检查清楚。对于饱和区来说至少要保证VDS VGS - VTH。有些初学的朋友刚拿到电路随手设了VD0.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的损失就是为阻抗变换付出的代价。源随器还有一个特性值得单独讲它的输入电容不会受米勒效应放大。因为输出和输入是同相且增益约等于1Cgd和Cgs两端电压变化幅度很小相当于电容两端几乎同电位所以输入等效电容近似只有Cgs没有反相放大的激励。这让源随器在高频缓冲级里特别受欢迎。4. 三个结构的横向对比与选择逻辑4.1 增益、阻抗、极性的完整对照下面这张表是我在实际学习中用来快速回忆三个结构的速查表。建议你把它打印出来贴在工位上。结构电压增益极性输入阻抗输出阻抗主要用途CS-gm*(ro‖RD)反相高栅极ro‖RD主增益级、前端放大CGgm*(ro‖RD)同相低≈1/gmro‖RD电流输入、阻抗匹配、共源共栅SFgm/(gmgmbs1/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变化、电流变化观察增益和带宽的响应方向是不是和手算公式一致。这比盲目看仿真结果有用得多因为只有你对每个参数为什么起作用有了直觉才能在做反向设计或性能优化时事半功倍。如果你还在学习阶段建议不要只抄结论亲自把三种结构从头到尾推一遍再把这个推导过程当成自己写文章的素材。等你哪天能不看课件徒手画出等效电路并写出增益表达式这个基础就算是真过关了。