☰
全差分运放开关电容共模反馈设计:从原理到仿真实践
2026/10/5 8:04:17 网站建设 项目流程

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 到输出共模的环路响应。更严谨的方法是使用周期稳态加周期传输函数仿真,也就是PSS+PSTB的方式,这样能把开关周期和环路稳定性一起考虑进去,是高速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稳定运行的第一步,也是最后一步。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询