资讯动态

全差分运放开关电容共模反馈设计:从原理到仿真实践

发布时间:2026/10/5 8:04:18 来源:尧图企业网站定制
1. 项目背景为什么全差分运放非配共模反馈不可1.1 全差分运放带来的收益和麻烦最近在做一个流水线ADC里的残差放大器核心电路就是全差分运放加开关电容共模反馈。很多人一看到“全差分”三个字就觉得高大上以为只要把单端电路镜像一下就能得到双倍性能真做起来才发现最大的坑不在差模通路本身而在那个看不见摸不着的共模点上。我先把这个项目标题拆开讲清楚你才知道后面每一步在干什么。全差分运放的收益做过一点模拟设计的人都懂输出摆幅比单端大一倍同样的电源电压和负载条件下信号功率直接多出6dB两个输出端对称偶数次谐波会被抵消掉线性度明显好电源噪声、衬底噪声对两个输出管基本是共模扰动靠差模抑制能力就能压掉一大截。所以需要高分辨率、高信噪比的采样保持电路、流水线ADC、离散时间Sigma-Delta调制器几乎清一色用全差分结构。问题随之而来单端运放的输出电平靠反馈网络和输入共模就能大致定住因为输出只有一个自由度全差分运放的差分输出电压可以被反馈环固定但输出共模电平是“悬空”的。两个输出端各自往哪个方向漂移主差分环路根本管不住。如果没有额外机制哪怕只有一点失配、一点漏电、一点电荷注入不对称输出共模就会慢慢偏向电源轨或者地轨最后不是某个管子进入线性区就是输出摆幅被压死整个放大器直接失效。这不是理论危言而是每次换工艺、换工作点都有可能出现的实际情况。1.2 共模反馈环路到底是干什么的全差分运放里真正保证它能正常工作的不是主放大通路而是共模反馈环路。这个环路做的事情很直白实时检测两个输出电压的平均值也就是 (Vop Vom) / 2把它和想要的参考共模 Vcmref 做比较然后把误差转换成一个控制电压或者控制电流去调节输出级的直流工作点让输出共模始终稳定在目标值附近。听起来和普通的负反馈环路没什么两样但有个细节很关键共模反馈环路的带宽不需要太宽它只需要稳住直流和低频共模扰动真正要做到的是它不能干扰差模主环路的工作。也就是说在输出共模点发生偏移时反馈要能把两个输出同时拉回目标值但对两个输出之间相反方向的差模信号它最好“看不见”。设计上能让这两个环路尽量正交后面调试就能省一半力气。1.3 开关电容方案为什么是“真香”选择共模反馈可以用连续时间方式实现也可以用开关电容方式实现。连续时间最经典的做法是电阻分压检测输出共模再用误差放大器去调节某个电流源。这个方法思路直观模拟仿真也容易收敛但代价不小分压电阻直接挂在输出端等于给运放加了额外负载会吃掉一部分开环增益和输出摆幅检测误差放大器本身要消耗静态功耗如果想降低电阻带来的噪声就得把电阻做小功耗进一步增加。另一种连续时间做法是用源极跟随器采样输出共模但它会占用输出摆幅余量低电源电压下很容易让管子进三极管区能用的输出范围越来越窄。这时候开关电容共模反馈的优势就体现出来了。它只在特定时钟相位里把输出节点和电容连接起来平时开关断开不拖累输出摆幅也没有连续时间的静态检测功耗噪声方面主要是采样电容带来的 kT/C 噪声电容取值合理就能压得很低。尤其是整个芯片本来就是开关电容系统时钟信号现成的采样开关和时钟缓冲器也都能复用用这种方案几乎是零额外开销。我个人的判断是只要你的主系统是离散时间工作的比如开关电容滤波器、流水线ADC、SAR的残差放大器SC CMFB基本是首选只有纯连续时间系统比如连续时间Delta-Sigma或者高线性度模拟前端我才建议老老实实上连续时间CMFB。这个取舍不是性能高低的绝对对比而是和系统架构的匹配度问题。2. 开关电容共模反馈的原理拆解电容、时钟与控制电压2.1 基本环路采样、比较、累计三步走SC CMFB的表面结构看起来就是几个开关加几个电容但它的工作逻辑是一个典型的离散时间负反馈。可以把整个电路理解成一个离散的采样比较器加积分器在采样相用电容把输出共模信息“拍”下来在比较相把这个电压和参考共模做差把误差电荷转移到保持电容上得到一个随误差缓慢变化的控制电压 Vcmfb再送到运放输出级去调节电流。具体到晶体管级最常见的结构是两只采样电容 Cs 分别接 Vop 和 Vom另外一只或者两只保持电容 Ch 接在控制节点和地或者电源之间。工作时第一相把输出共模电压对应的电荷量采样到 Cs 上第二相Cs 的一端切换到参考电平另一端连接到 Ch 控制的节点电荷重新分配后控制节点电压就带着共模误差信息。只要负反馈极性接对Vcmfb 会朝补偿方向走输出共模偏高Vcmfb 就把输出级电流往回收输出共模偏低Vcmfb 就把电流往外推。这里最容易犯的错是把极性接反。开关电容里的极性不仅取决于运放本身是正相还是反相还取决于开关在哪个相位把电容连到什么节点。很多人在原理图上看着没问题仿真瞬态却越跑越飞检查半天发现是 φ1 和 φ2 标反了。我的习惯是第一版仿真里故意在共模输出端加一个阶跃扰动看 Vcmfb 是往反方向还是正方向走一秒钟就能确认反馈极性。2.2 时钟相位设计非交叠不是随便说说SC CMFB 对时钟的要求比主体采样开关还苛刻一点因为它同时处理两个输出端还要控制电荷注入。项目里我通常用两相非交叠时钟 φ1 和 φ2两相之间必须留足够的死区时间确保不存在一个瞬间两个开关同时导通。如果出现交叠Cs 上存储的电荷会被重复分配控制节点就会叠加一个与设定不相干的误差轻则共模建立精度变差重则产生周期性纹波。还有一个经验是从ADC采样开关里学来的尽量采用下极板采样或提前关断技巧。具体操作是让接输出节点的开关比接参考电平的开关早一点断开使信号相关的电荷注入先被隔离最后留在电容上的电荷主要由不依赖信号的那部分决定。用在这个项目里输出共模建立精度会明显改善尤其在高速高分辨率场景中这一点非常值钱。时钟树也要注意。SC CMFB的开关离运放输出节点很近如果时钟缓冲级驱动能力不足时钟沿过缓会造成开关在中间区停留过长沟道电荷注入量不稳定等于给共模环路注入随机扰动。时钟不是功能对就行要留够上升下降时间预算开关管栅极看到的时钟边沿最好在百皮秒到一纳秒的范围内再慢就要出怪问题。2.3 电容取值面积、kT/C噪声与建立速度的权衡采样电容 Cs 的取值是这个项目里最需要反复权衡的地方。从噪声角度看SC CMFB 引入的主要噪声是采样开关对 Cs 充电时的 kT/C 噪声。kT/C 不是说噪声电压和绝对温度成正比那么简单它的意思是在一个温度 T 下开关导通电阻对电容充电完成后电容上残留的热噪声能量是 kT/C。Cs 越大噪声越小但 Cs 越大时钟沿对电容充电需要的电流也越大动态功耗和版图面积都会涨。我在12位精度的系统里会把 Cs 放在 0.3pF 到 1pF 这个区间。举一个直观的数字Cs 0.5pF 时kT/C 算出来约等于 4.1e-8 V²折算成 RMS 噪声大概是 0.2mV这个量级在12位精度系统里是可以接受的。如果做到 14位以上建议把 Cs 提到 1pF 以上噪声能压到 0.1mV 以下但这时候就要开始注意版图面积和时钟驱动能力了。保持电容 Ch 的取值主要影响共模环路的稳定性和建立速度。Ch 太小控制电压在保持相会被电荷注入敲得很厉害共模纹波明显Ch 太大Vcmfb 的响应会变得很慢共模建立时间拖长高采样率下根本来不及稳定。经验上 Ch 可以取 Cs 的1到2倍然后在瞬态仿真里对 Ch 做参数扫描看输出共模建立曲线的过冲和建立时间选一个综合表现最好的值。这个尺寸的确认不要靠拍脑袋仿真里把 Cs、Ch 做成变量扫一遍直观得很。2.4 控制电压 Vcmfb 加到哪里去SC CMFB 的输出是一个直流控制电压 Vcmfb它不能随便接必须接到一个能同时影响两个输出支路直流电流的节点。最常见的两种接法一种是控制输出级的电流源栅极比如折叠共源共栅运放里控制 PMOS 负载电流管的栅压另一种是控制输入对管的尾电流源通过改变尾电流来间接改变输出共模电平。接 PMOS 负载管栅极的做法响应快共模环路的增益高但要注意控制节点不能和差模信号强耦合否则共模反馈会把差模增益吃掉。接尾电流源的做法对输出摆幅更友好但共模环路路径上多了几级稳定性要重新评估。我的建议是第一版先用最直接的控制点也就是输出级电流源栅极因为调试路径最短等共模环路稳定了再去优化控制端的位置以提升摆幅或功耗。3. 实操从拓扑选择到仿真验证的完整流程3.1 先定运放主拓扑再想CMFB接法很多人拿到需求就急着画SC CMFB这是顺序上的错误。SC CMFB是挂在运放主拓扑外面的辅助环路必须先确定主运放是什么结构输出级有哪些可控电流才知道 Vcmfb 往哪里接、环路增益够不够。以流水线ADC残差放大器最常见的折叠共源共栅运放为例NMOS输入对管提供高跨导PMOS负载和共源共栅管提供高输出阻抗输出级有两个PMOS电流源可以从上层调节支路电流。这种结构就很适合SC CMFB控制PMOS电流源栅极因为控制电压改变的是整个输出级的上拉电流两个输出支路同方向变化正好调节共模电平。如果主运放是两级结构输出级是共源放大器Vcmfb 一般控制输出级的偏置电流源也能达到同样效果只是两级之间的频率补偿要小心共模环路容易和米勒补偿相互作用。决定主拓扑时还要注意输出摆幅预算。SC CMFB比连续时间CMFB省摆幅不假但不意味着它完全不占用输出余量。控制电压如果靠近电源轨或地轨对应的电流源管子退出饱和区共模调节能力就会大幅下降。仿真时把输出共模和两个输出端的瞬态摆动范围一起看确认在任何极端条件下电流源管子都留在饱和区这个检查一定要做。3.2 搭SC CMFB的六个关键步骤第一步先建立一个只含差模主环路的仿真环境输出共模暂时用理想电压源或者理想共模反馈压住目的是把运放的增益、带宽、摆率验证清楚排除共模问题干扰。第二步把理想共模反馈断开加入采样电容 Cs、保持电容 Ch 和CMFB开关管Vcmfb 暂时接到输出级电流源栅极。第三步确定开关管的尺寸。CMFB开关管不需要传输大电流W/L 可以取小一些我一般从最小沟道长度起步宽度控制在几微米以内越小电荷注入越少。第四步搭建两相非交叠时钟保证 φ1/φ2 死区时间足够。第五步用一个理想的直流源先把 Vcmfb 钳在一个估计值附近跑一遍瞬态确认输出共模不会瞬间饱和。第六步释放钳位让反馈环路自己工作看输出共模是否收敛到 Vcmref。这里特别说一下开关管尺寸的问题。SC CMFB里的开关是直接骑在输出节点上的尺寸越大时钟馈通和电荷注入越严重输出共模毛刺越明显。但如果尺寸太小导通电阻过大采样建立不充分尤其在高频时钟下会把误差直接带进控制环路。正确办法是做一个简单的设计扫描固定 Cs/Ch 和时钟频率扫开关管宽度从0.5μm到5μm观察输出共模建立精度和毛刺幅度折中选一个点。不要指望一个尺寸走天下不同时钟频率和不同电容值下最佳开关尺寸差异很大。3.3 仿真验证差模、共模、瞬态一个都不能少SC CMFB调通的基础判据有三个输出电压共模在瞬态后稳定在目标参考值附近差模增益和相位裕度满足要求共模环路的增益和相位裕度在全工艺角下仍然有余量。这三个判据对应三类仿真缺一不可。差模环路验证可以直接对运放做开环AC分析或闭环瞬态扫描关注单位增益带宽和相位裕度。共模环路验证要麻烦一些因为SC CMFB是一个离散时间系统不能直接把连续时间的AC探针插进去。常见做法是在输出共模检测处断开把采样电容一侧用理想电压源驱动加入交流扰动小信号扫描频率观察 Vcmfb 到输出共模的环路响应。更严谨的方法是使用周期稳态加周期传输函数仿真也就是PSSPSTB的方式这样能把开关周期和环路稳定性一起考虑进去是高速SC CMFB项目里最实用的一招。瞬态验证里要额外关注两个时间点一个是从休眠状态唤醒后输出共模的第一次稳定过程看是否在数微秒内收敛而不过冲另一个是稳态运行时每个时钟周期内Vcmfb上的纹波幅度纹波太大说明Ch偏小或者电荷注入补偿不足。如果纹波耦合到了差分输出瞬态输出波形上会看到和时钟同频的毛刺这时候回头查时钟馈通比调环路带宽更有效。3.4 版图阶段必须提前留的退路SC CMFB对版图的要求很容易被忽视。采样电容 Cs 的两只电容必须严格匹配不然两个输出端的共模采样权重不一致直接产生系统性的共模检测误差。匹配的方法和其他电容阵列一样用单位电容并联成阵列采用共质心布局周围加 dummy 电容保证刻蚀环境一致。保持电容 Ch 最好也放在同一块区域避免与时钟线、输出线长距离平行走线耦合。开关管的版图也要注意对称。两个输出端接的CMFB开关必须完全对称连到两个输出端的金属走线长度尽量一致否则寄生电容不对称会在时钟动作时引入共模扰动。时钟线尽量远离 Cs 和 Ch 的顶极板必要的时候加屏蔽地线。这些都是后仿真里会变成实际毛刺和偏置误差的东西项目一开始就规划好比后仿发现问题再返工划算得多。4. 常见问题与排查实录稳住共模不跑偏4.1 共模振荡最让人头疼的“死循环”SC CMFB项目里最经典的故障是上电后输出共模以时钟频率或者时钟频率一半的信号为中心来回振荡幅度越来越大最后顶到电源或者地。仿真里看到这种波形第一反应不应该是加大电容硬压而要先确认反馈极性对不对。极性正确还是振荡就要检查共模环路的相位裕度。开关电容环路是把连续时间的共模误差离散化之后在调节Vcmfb如果Ch选取过小控制环路等效为高增益、低相位裕度的积分器就会产生周期性过冲。这种振荡和时钟频率往往呈倍数关系。解决办法是先增大Ch把控制节点的时间常数拉大降低共模环路带宽如果还不行就需要减小共模反馈环路里多余的寄生极点比如控制Vcmfb的走线过长、驱动PMOS管栅极的电阻太大。后仿真里遇到振荡十有八九就是这些寄生参数把相位裕度吃掉了。4.2 电荷注入导致的共模偏差另一个常见问题是输出共模稳定得非常好但稳定值就不等于 Vcmref总是差个几十毫伏而且这个偏差在不同工艺角下变化明显。这个现象的元凶往往不是主运放而是CMFB开关关断瞬间的沟道电荷注入。开关从导通到关断时沟道里的电荷会有一部分流向电容等效把小电荷包注入了采样电容导致检测到的共模电压偏离真实值。要减小电荷注入的影响首要原则是用最小沟道长度开关宽度在满足建立要求的前提下尽量取小。其次可以加 dummy 开关管让假管子的沟道电荷正好吸收掉真管子释放的电荷但dummy管尺寸需要精确匹配不能凭感觉。更可靠的做法是用下极板采样或提前关断时序让最容易受信号影响的电荷注入路径先被切断剩下的固定电荷注入可以通过不对称时钟的调整抵消掉。这个方法在SC CMFB里同样有效值得重点尝试。4.3 时钟馈通毛刺输出波形上的刺猬如果你在瞬态仿真里看到输出波形在每个时钟沿都出现一个窄毛刺毛刺幅度可能不大但在高分辨率ADC里这就会折合成频谱上的杂散。时钟馈通来自开关管的栅漏交叠电容栅极时钟跳变通过寄生电容耦合到输出端或电容节点产生一个尖峰。它的基本特征是周期性、窄脉冲、幅度对时钟幅度很敏感。应对思路和电荷注入类似但方向略有不同。电荷注入要管沟道电荷时钟馈通要管交叠电容。减小开关管尺寸可以同时改善两者但代价是导通电阻增大另一种办法是用互补传输门让NMOS和PMOS的时钟馈通互相抵消因为一个耦合的是上升沿、一个耦合的是下降沿幅度可以部分对消。如果毛刺还是超标可以在输出节点加一点吸收电容但这个办法会降低运放带宽只能作为最后手段。4.4 共模建立时间不足高速采样系统里还有一个很容易被忽视的问题共模环路的建立速度比差模环路的建立速度慢很多。差模信号是运放直接驱动的开环带宽高建立快共模环路是离散时间积分器每个时钟周期只能更新一次Vcmfb相当于在一个慢速反馈环里工作。如果在某个时钟相位里共模检测还没来得及完成输出共模就已经被采样开关采走了后级电路就会看到前一个周期残留的共模误差。改善思路是压缩共模环路的“等待时间”。很多设计会把一个预充电开关放在采样相的初始阶段让Vcmfb节点先快速充电到一个靠近目标值的电平再进入精细比较。这样环路H不必从一个大误差开始慢慢爬而是在一个接近收敛的状态下做增量修正建立时间可以缩短一个数量级。这个技巧在实际项目里非常好用尤其是当采样时钟频率高、一个周期只有几个纳秒的时候。为了让你排查时一目了然我把上面几个典型问题整理成了速查表故障现象最可能的根因快速排查手段常用缓解方案输出共模周期性振荡共模反馈极性反或环路相位裕度不足断开环看AC响应检查φ1/φ2相位增大Ch降低共模环路带宽补偿寄生极点共模稳定但偏移参考值开关电荷注入不对称扫描开关尺寸和死区时间减小开关W/L加dummy管用提前关断时序输出波形在时钟沿有毛刺开关交叠电容耦合观察毛刺周期是否等于时钟周期用互补传输门减小开关尺寸必要时加小吸收电容共模建立过慢Ch太大或环路带宽过低看Vcmfb建立曲线斜率加预充电开关缩短Vcmfb启动路径后仿出现偏差且随工艺漂移采样电容失配或时钟线耦合后仿提取寄生对比前仿共质心电容布局时钟线加屏蔽4.5 一个小技巧把共模环路和差模环路分开看做SC CMFB调试我最大的体会是一定要把共模环路和差模主环路分开排查。全差分运放有两个环路同时工作它们共享一部分管子但功能完全不同。仿真时不要只盯着差模输出波形要单独把Vcmfb节点提出来看它的稳定过程。如果Vcmfb在乱跳差模输出必然受牵连如果Vcmfb稳如泰山说明问题出在差模通路上不要拿CMFB开刀。实际操作时我习惯先在顶层加一个理想共模电压源把Vcmfb钳住只让差模主环路自由工作先把差模指标调试通过再释放共模反馈。很多网上教程推荐先调共模再调差模但我的经验反过来更顺手因为差模环路的带宽高、牵涉的管子多先把它稳住共模反馈接入后干扰就少很多。这只是个人习惯你可以试一次就知道哪种方式更适合自己手头这个电路。最后再分享一个我在项目里栽过跟头的地方CMFB开关的控制信号尽量直接取自主时钟发生器不要在CMFB前面额外加一串逻辑缓冲加出来的延迟在高速场景下会和主采样开关形成竞争导致共模误差周期性表现出来。保持时钟树简洁是SC CMFB稳定运行的第一步也是最后一步。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑