做ADC设计这些年,一个深切的体会是:很多团队把精力全砸在比较器、CDAC、校准算法上,却忽视了最前面的采样网络。以至于流片回来测试SFDR和ENOB不达标,查来查去才发现是采样开关拖了后腿。尤其是做高速高精度SAR ADC或流水线ADC时,采样电路里的自举开关基本是决定整体线性度的天花板。这篇内容围绕ADC采样电路系统设计,把自举开关的原理、设计路径和相关坑点做一个完整复盘,希望能帮正在做IC设计或者刚接手采样电路项目的朋友少走弯路。
1. 采样保持网络:ADC精度的第一道闸门
1.1 采样电路到底在做什么
从功能上讲,采样保持电路就是给连续的模拟信号拍一张瞬时快照,然后在ADC量化期间把这张快照稳稳地保持住。这个过程看似简单,但它决定了整个转换链路的精度上限。你可以把采样网络理解成一位摄影师:如果摄影师手抖(孔径抖动)、镜头脏(开关非线性)、或者按快门的瞬间光线没对准(建立时间不足),那后面冲洗照片(量化编码)技术再好,出来的也是模糊图片。
一个典型的采样网络由采样开关和采样电容组成,工作在采样相和保持相两个状态。采样相时开关导通,输入信号给电容充电;保持相时开关关断,电容上的电压被冻结住,交给后级比较器或量化器处理。这里有两个物理细节直接决定精度,却经常被新手忽略:
- kT/C噪声:开关导通电阻的热噪声通过采样电容的低通滤波作用,折叠成电容上的电压不确定度。这个噪声和电容值成反比,公式是√(kT/C)。设计时如果不做预算,采样电容取小了,噪声底就把信噪比吃掉好几位。
- 孔径误差:采样开关实际关断的瞬间与理想时钟边沿之间存在随机的、与信号相关的偏差。这个误差折算成电压误差等于输入信号摆率乘以时间偏差。信号频率越高、孔径抖动越大,误差越致命。
1.2 精度指标的逆向拆解
做系统设计时不能一头扎进电路细节,得先从信号链顶层的指标往回流,反推每个模块的预算。举个例子,如果目标是一个12位、100 MSPS的SAR ADC,输入满摆幅为1 Vpp差分,那么一个LSB约等于244 μV。为了保证ENOB不低于11.5位,采样网络的综合误差(包括建立误差、电荷注入误差、kT/C噪声、时钟抖动)一般要控制在0.5 LSB以内。
从分配上,经验上我会做这样的预算拆分:
| 误差来源 | 预算占比 | 对应设计动作 |
|---|---|---|
| 开关导通电阻引起的建立误差 | 30% | 足够的开关尺寸、合理的Ron设计 |
| 电荷注入与时钟馈通 | 25% | 自举开关、互补开关、虚拟管技术 |
| kT/C热噪声 | 25% | 采样电容取值、噪声系数优化 |
| 时钟抖动与孔径延迟 | 20% | 低抖动时钟树、高速比较器配合 |
这个拆分不是死板的,但能保证在设计阶段每个模块都有明确的量化目标。没有这个反向拆解过程,直接"凭感觉"定开关尺寸和电容值,后面大概率要反复迭代甚至返工。
2. 从CMOS开关到电荷注入:普通开关在高速ADC里为什么会翻车
2.1 导通电阻非线性的致命影响
很多初学者不理解:开关就是导通和关断,为什么还需要专门设计?问题就出在"导通"这件事并不理想。一个普通的NMOS开关,导通电阻公式是:
Ron = 1 / [μCox(W/L)(VGS - VTH)]
这里的关键点在于:输入信号变化时,源端电压跟着变,VGS自然跟着变,于是Ron也在变。对于采样电路而言,这个非线性的Ron直接造成两个后果:
- 带宽调制:采样网络的3dB带宽约等于1/(2πRon·CS)。信号幅度不同,Ron不同,带宽随之变化,直接表现为采样值的高次谐波失真。
- 建立误差与信号相关:大信号时Ron小,小信号时Ron大,建立误差不是恒定常数,而是输入信号的函数。这个与信号相关的误差在频域里表现为谐波和互调分量,会直接拉低SFDR。
在12位以上、采样率超过几十兆的ADC里,普通单管开关带来的非线性失真基本不可接受。应对的思路通常有两个:一是用CMOS互补开关让PMOS和NMOS的Ron变化趋势互补,在中间电压附近形成一个相对平坦的总电阻曲线;二是用自举开关让开关管的VGS恒定。前者简单但对工艺偏差敏感,后者性能上限更高,也是本篇文章的主角。
2.2 电荷注入与时钟馈通:采样时刻的"幽灵手"
除了导通电阻,开关关断瞬间还有一个非常棘手的问题:沟道里的电荷需要泄放,这个电荷会有一部分注入到采样电容上,造成采样电压的偏移。用通俗的话说,当你快速抽掉开关这扇门时,会有一些电荷"漏"进屋子,让屋子里的人被推了一下,记录到的位置就不准了。
这个误差量级有多大?沟道电荷大约正比于W·L·Cox·(VGS - VTH)。在深亚微米工艺下,这个电荷对应的电压可以达到几十毫伏。对12位ADC来说,这个误差是LSB的几十倍,绝对不容忽视。更麻烦的是,注入电荷与输入电压相关,所以它不是直流失调,而是信号相关的失真。
缓解手段有几种:使用dummy管吸收电荷、使用互补开关让NMOS和PMOS的注入电荷相消、或者延长关断的下降沿让沟道电荷通过源端泄放而少流向采样电容。这些方法都有一定效果,但在高速高精度场景下,自举开关通过恒定VGS的设计思路,天然地减弱了电荷注入随输入信号的变化,这也是它普及的原因之一。
3. 自举开关的完整拆解:恒定VGS如何换来线性度
3.1 自举开关的核心思想
自举开关的英文是bootstrap switch,业内更准确的叫法是栅压自举开关。原理图层面的核心思路是:在采样相,给开关管的栅极和源极之间施加一个恒定的电压差,这个电压差不随输入信号变化,通常直接取电源电压VDD。
如果VGS恒定,那么Ron就恒定,不随输入信号摆幅变化。这就像是给摄影师配了一副防抖云台,无论外面风速多大、人手怎么颤,拍照瞬间的稳定性都一致。具体实现时,一般需要一个用来给栅极"抬升"电压的辅助电容(bootstrap capacitor)。当开关关断时,电容被充电到VDD;当开关需要导通时,电容一端接到输入信号,另一端接到开关管的栅极。因为电容两端电压不能突变,栅极电压就等于输入电压加上VDD,于是VGS自动恒定在VDD左右。
3.2 典型的栅压自举开关工作过程
我以自己设计过的一款SAR ADC中的采样开关为例,描述一个经典的自举开关工作过程。这个结构在学术界和工业界都非常常见,由时钟控制、电荷泵、采样开关三部分组成。
- 复位/充电相:当CLK为低时,采样开关M1关断。内部辅助电容C3被充电到VDD,同时采样开关的栅极被拉到地,保证彻底关断。
- 自举/采样相:当CLK为高时,辅助电容的一端通过一个开关接到输入信号Vi,另一端原本充电到VDD的那一端接到M1的栅极。此时栅极电压变为Vi + VDD,VGS恒定等于VDD。
- 关断瞬态:时钟变低,M1关断。由于栅极在关断前一直跟踪输入信号,所以关断瞬间的沟道电荷和时钟馈通与输入信号的依赖关系被大幅削弱,高次谐波的改善非常明显。
用Cadence Virtuoso或Hspice做瞬态仿真时,你会看到一个很直观的现象:输入信号接近负轨和正轨时,普通开关的采样波形会呈现明显的压缩和削顶,而自举开关的采样波形则保持均匀的增益。这个差异最终体现在FFT频谱上,SFDR的改善幅度可以轻松达到15到25 dB。
3.3 自举开关的进阶设计要点
自举开关原理说起来简单,实际做起来有很多细节决定成败。下面这几个点是我踩过坑之后总结出来的经验,每一条都对应着真实的流片教训。
辅助电容容值不能太小。辅助电容越大,电荷泵提供栅极电压的能力越强,自举的稳定性越好。但电容太大会占用面积,并且充电时间变长,限制采样速度。一般取采样电容的2到5倍比较合适。比如采样电容1 pF,辅助电容可以取3 pF左右。
必须设计栅极泄放通路。采样相结束、开关关断时,栅极上顶着Vi + VDD这么高的电压。如果栅极没有快速的泄放通路,电荷会残留在栅极寄生电容上,影响下一次采样的初始状态。所以开关管的栅极要接一个用于复位的下拉管,并且在版图上要让这条通路尽量短、寄生尽量小。
自举开关也有关断状态耐压问题。栅极电压最高能达到VDD加上输入信号的峰值,如果输入信号接近VDD,栅极就接近2VDD。这在先进工艺节点下是一道严格的可靠性红线。设计时必须检查每个器件在关断和导通状态下任意两端的压差是否超过工艺的绝对最大值。这道检查往往决定自举开关是否能在目标工艺下落地。
电荷注入的残余分量依然要重视。自举开关能把VGS恒定,从而让沟道电荷的绝对值恒定,但它并不能完全消除电荷注入——只是把与信号相关的部分大大降低了。如果目标是16位以上精度,还需要配合适当的关断时序设计(比如让辅助电容先脱离、再关断主开关),进一步抑制残余的电荷注入。
4. 从规格到落地:一个实用采样电路的系统设计路径
4.1 系统架构选择:单端还是差分,采样电容怎么定
设计采样电路的第一步其实是架构层面的选择,这个选择直接影响后续所有参数。逐次逼近型ADC(SAR ADC)和流水线ADC(Pipeline ADC)的采样网络架构差异很大:SAR强调CDAC直接作为采样电容,Pipeline则往往有专门的采样保持前级。
从系统噪声预算看,采样电容的设计是最关键的。假设你目标ENOB为11.5位,满摆幅差分1 Vpp,则噪声预算可以算出来。kT/C噪声的RMS值一般要做到LSB的1/3以下,这是工程上的常用标准。对1 Vpp、12位差分而言,LSB约244 μV,所以噪声RMS要低于81 μV。带入kT/C公式,取kT为4.14×10⁻²¹焦耳(300K),反推得到C至少要达到630 fF。实际设计时会留30%到50%裕量,所以1 pF左右是个很自然的起点。
这里还要提一个容易犯的错误:有人为了让噪声更低、线性度更高,把采样电容一味做大。但电容越大,前级驱动放大器的功耗和带宽要求就越高,自举开关的尺寸也要跟着增大,最终面积和功耗都失控。系统设计要的是平衡,不是单点性能最大化。
4.2 前级驱动与采样网络的交互:一个常被忽视的系统问题
采样电容不是凭空接在输入端的,它一定有一个前级驱动源,可能是片外的运算放大器、射频驱动器,也可能是片内的buffer。采样开关导通瞬间,采样电容会向前级抽取一个很大的电流尖峰。如果前级驱动能力不足,输入电压瞬间就会被拉垮,导致建立误差。
在设计采样系统时,我习惯先建立前级驱动、开关导通电阻、采样电容三者的联合仿真模型。前级输出端的RC时间常数要足够小,确保在最短采样脉宽内,电容电压建立到0.5 LSB以内。根据经验公式,建立时间至少需要10倍的RC时间常数才能到约4.5个时间常数,若精度要求更高,需保证15到20个时间常数。这个和采样时钟频率是强相关的,换算成设计约束就是:驱动放大器的带宽和开关Ron的乘积不能超过采样时间窗口的约束。
4.3 时钟方案与采样时序:采样时刻的决定性因素
采样电路表现好的前提是时钟边沿足够干净。时钟抖动(jitter)对信噪比的恶化公式是SNR_jitter = -20·log10(2π·fin·tjitter)。翻译成人话:输入信号频率越高,同样的时钟抖动造成的信噪比损失就越大。
比如,输入频率100 MHz,时钟抖动1 ps RMS,算下来SNR被限制在约64 dB,换算成ENOB刚过10位。这对12位ADC来说是不可接受的。所以采样时钟通常在ADC内部要经过一个高速比较器或CML缓冲器,把时钟边沿重新整形,减小抖动。同时,时钟树的设计要做到采样开关的控制时钟路径相对短、负载均衡,避免同一阵列中不同采样开关之间出现skew。
关于采样时刻还有一个细节:SAR ADC的采样信号(通常叫采样使能或CLKS)一定要避开电容阵列切换产生的毛刺。我见过有设计在采样阶段还没结束就提前启动比较器,导致参考电压抖动耦合到采样电容上。时序设计时,建议用Spectre或Hspice把"采样时钟下降沿+比较器启动时刻+CDAC切换时刻"放在同一个仿真窗口里逐一检查,确保每个动作都有充足的裕量。
5. 版图、电源噪声与PCB协同:系统级采样精度的隐形杀手
5.1 版图层面的关键细节:寄生、匹配与屏蔽
采样电路的版图是"设计一步、版图千步"的典型。最主要的三个关注点是寄生电容、匹配特性和信号屏蔽。
自举开关的辅助电容、采样电容、开关管的连接线如果走得过长,寄生电容会串联在信号路径上,直接降低自举效率和采样建立速度。采样电容阵列的匹配直接决定ADC的DNL和INL。版图上要采用Common-Centroid布局,把电容阵列的中心放在同一位置,并加虚拟电容(Dummy)保证边缘一致。差分信号线要严格对称,周围用地线包裹或加屏蔽层,防止相邻数字信号通过衬底或耦合电容干扰采样节点。
有一个很容易踩的坑:采样开关的栅极控制线离输出走线太近。自举相时栅极电压是Vi+VDD,幅度很大,如果这条线耦合到差分输出,会产生不希望的馈通。版图里宁可绕一点线,也要保证控制线和信号线之间有充分的间距,或者插入地线隔离。
5.2 电源噪声与衬底噪声:从芯片到PCB的链式防治
采样电路对电源噪声极其敏感。内部自举电路在开关瞬间会从电源吸取尖峰电流,这个电流会在电源网络上形成压降毛刺,再通过寄生效应对采样电容产生扰动。所以采样电路的电源要单独供给,并在靠近电路的位置放置去耦电容。
衬底噪声是更隐蔽的问题。数字电路、输出驱动器的开关活动会通过衬底传播到采样电路。轻则影响单次采样值,重则产生周期性干扰导致FFT里出现固定杂散。缓解手段包括:模拟和数字区域加保护环(Guard Ring)、使用深N阱隔离关键模拟器件、在版图上把采样电路放在远离输出驱动器的位置。
PCB层面的电源和时钟布局同样关键,这部分我总结成三个实操要点:
- 采样时钟走线必须尽量短、直接,并包地。时钟进入ADC前的最后一个缓冲级应尽量靠近引脚,减少反射和振铃。时钟路径远离电源开关和数字接口线,防止耦合抖动。
- 模拟电源与数字电源必须在芯片外部进行星形连接。模拟电源走线单独从LDO引出,不允许和数字电源共享走线后再在芯片端点分开,否则数字电流的压降噪声会直接串到模拟电源上。
- 采样输入路径的PCB走线要做到特征阻抗匹配,且附近要留有足够的屏蔽地平面。输入走线如果跨越分割的电源平面,就会产生阻抗突变,引发反射,附加的振铃会直接叠加到模拟输入信号上,等效于引入了额外噪声和谐波。
这些PCB层面的问题在芯片设计阶段往往被忽略,等到PCB测试阶段才暴露出来,定位起来极其耗时。我现在的做法是:在芯片设计阶段就画出完整的应用原理图评估版图约束,把关键信号路径的封装模型、PCB走线模型一起建到验证矩阵里,提前发现风险,而不是等测试回来再分析。
5.3 温度、工艺角与电压变化:采样电路的鲁棒性验证
采样电路最怕的是"图纸上完美、统计上翻车"。一个好设计必须通过全Corner验证:TT、FF、SS、FS、SF五个工艺角,再叠加-40℃到125℃的温度范围和±10%的电源电压变化。自举开关在这些条件下的VGS保持能力、辅助电容的充电速度、开关管的关断泄漏都会发生变化。
我在设计评审中吃过这样一次亏:芯片在室温下ENOB达到11.8位,一放到高温环境中直接掉到10.5位。排查后发现是采样开关在高温下的关断漏电变大,采样电容上的电荷在保持相内漏掉了几个LSB。后来通过加大关断管尺寸、在采样电容周围增加泄漏隔离环,高温下的性能才恢复。这件事给我的教训是:采样电路的泄漏评估绝不能只看常温,一定要放到工艺角与温度的最差组合里验一遍。
5.4 常见问题排查清单:从仿真到实测的调试方法
最后整理一份采样电路调试的排查清单,这部分是很多工程师朋友直接能拿来用的:
- 采样波形在高低电平处出现"台阶"或非线性压缩,优先怀疑开关Ron非线性,检查自举电压VGS在摆幅范围内是否恒定。
- FFT中的二次谐波偏高,优先检查差分对称性,包括版图上信号走线、采样开关尺寸对称性以及时钟树的不平衡。
- FFT中的三次谐波偏高,优先怀疑采样建立时间不足,或前级驱动带宽受限。可以通过增加采样时间窗口或降低输入频率来验证。
- 出现与时钟频率相关的固定杂散,优先怀疑电源扰动或参考电压扰动,检查去耦电容配置和时钟回踢路径。
- 静态线性度好但动态线性度差(小信号测INL正常、大信号测SFDR差),多半是采样开关在大摆幅下的线性度问题,自举开关是首选对策。
- 低温正常、高温ENOB下降,优先检查泄漏路径,包括开关管泄漏、静电防护结构泄漏、甚至是版图上经电阻率较低的路径形成的漏电网。
整个调试过程其实是一个"排除法"的博弈,但关键在于:你得提前知道每个物理现象对应的电路根源。采样电路的问题通常不会只有一种表象,至少要看三个维度(时域波形、频域FFT、静态曲线)去交叉验证,才能准确定位。
在我做过的几款ADC里,采样电路量产回片后的调试时间,几乎占总调试时间的三分之一。很多问题不是出在原理上,而是出在“我以为”和“实际芯片”之间的差距。自举开关设计的本质,是用可控的、恒定的条件去换取可预测的、稳定的行为。如果让我给出一个最重要的设计建议,那就是:在设计阶段把最坏情况下的详细仿真做透,把工艺、电压、温度的每一个边界都摸清楚,不要等到芯片回来了再开始"深入研究"。这一条,值得任何ADC设计师记在工位旁边。