做混合信号或者电源管理芯片的同行,对“带隙基准”这四个字肯定不陌生。它是ADC、DAC、LDO、DC-DC、传感器信号链里最底层的参考来源——整颗芯片的绝对精度、温漂、噪声指标,最后都会追溯到这颗基准上。这个项目的标题,说白了就是在做一件事:把基准电压的温度漂移压到极限。不是教科书里那种一阶补偿的常规带隙,而是通过高阶温度补偿手段,把温漂从常见的十几个ppm/°C压到个位数ppm/°C。这篇文章会把这颗基于高阶温度补偿的低温漂带隙基准,从原理、架构选型、参数计算到硅上调试的完整过程都梳理一遍,适合正在做高精度基准、或者准备挑战更低温漂指标的模拟IC工程师参考。
1. 核心概念与设计目标拆解
1.1 带隙基准的经典原理回顾
带隙基准的基本思想,是利用两个温度系数相反的量,把它们加权相加,得到一个近似与温度无关的输出。负温度系数来自双极晶体管的Vbe——在恒定电流下,Vbe随温度升高而下降,典型斜率约-1.5mV/°C到-2mV/°C。正温度系数来自两个不同电流密度的BJT的Vbe差值ΔVbe,这个差值等于VT·ln(N),其中VT=kT/q,与温度成正比,约+0.087mV/°C每单位ln(N)。
经典做法是把这两个电压线性相加:
Vref = Vbe + K·ΔVbe
其中K由电阻比决定。取合适的K,让正负温度系数在室温附近互相抵消,输出电压就对温度不那么敏感。看到这里,很多新手会觉得问题已经解决了——一阶补偿嘛,公式简单,电路也简单。
但真正做硅的人都知道,这只解决了“线性”的那部分。Vbe本身不是一个严格的一次函数,它有一个与温度的对数相关的曲率项。一阶补偿把那条直线掰平了,残余的曲线却仍然存在。这个残余曲面,就是高阶温度补偿要处理的对象。
1.2 一阶补偿的残余尾巴:曲率项从哪来
Vbe的完整温度表达式可以写成:
Vbe(T) = Vg0 - [Vg0 - Vbe(T0)]·(T/T0) - (η - ξ)·VT·ln(T/T0)
其中:
- Vg0是硅的带隙电压外推值,约1.17V;
- T0是参考温度点;
- η是与工艺相关的指数因子,一般在4左右;
- ξ是集电极电流的温度依赖指数:如果偏置电流是PTAT,ξ=1;如果是与温度无关的电流,ξ=0。
前两项是线性的,一阶补偿能完全抵消。最后一项(η-ξ)·VT·ln(T/T0)是非线性的,它随温度的变化并不呈直线,所以一阶补偿只能是“在某个温度附近精确抵消”。离开这个点越远,残余误差越大。把一阶补偿后的输出电压对温度作图,会得到一条抛物线——中间低、两端翘,或者反过来,取决于偏置电流的温度特性。
这条残余曲线的峰值偏差,在-40°C到125°C范围内,对于普通一阶带隙通常在3mV到8mV量级。换算成温度系数,大约是10到30ppm/°C。如果你做的芯片对精度要求不那么苛刻,这个水平完全够用。但高精度应用不行,必须引入高阶补偿。
1.3 本项目的设计目标与指标拆解
这个项目要做的,就是把那条抛物线再掰平一次。具体目标分解下来大概是这样的:
- 温度范围:-40°C到125°C,覆盖工业级和车规级常用范围;
- 目标温漂:温度系数低于3ppm/°C,最好能做到2ppm/°C以内;
- 输出基准电压:1.2V左右,既满足经典带隙的理论平衡点,也方便后续降压或升压电路使用;
- 工作电压:支持3V到5.5V,低功耗应用,静态电流控制在几十微安以内;
- 长期稳定性:修调后温漂不随封装应力和老化明显恶化。
3ppm/°C听起来是一个很苛刻的指标,但它对应的物理量其实很小:在165°C温度跨度内,允许的总电压变化是3ppm×1.2V×165 = 594µV,不到0.6mV。而一阶残余曲率就有3到8mV,所以要靠高阶补偿把这个量再消掉一个数量级。
指标拆解上,我习惯先把一阶基准做出来,仿真得到残余曲率的方向、大小和极值点位置,再决定高阶补偿的强度和补偿点。这不是一步到位的活,后面有反复迭代的过程。
2. 高阶温度补偿的架构选型
2.1 主流高阶补偿方案对比
做高阶温度补偿,业界和学术界提出的方法很多,我在做这个项目之前也花了不少时间调研。把几种主流方案的原理和优缺点先摆出来:
| 方案 | 基本原理 | 优点 | 典型代价 |
|---|---|---|---|
| 分段线性补偿 | 在不同温度区间注入方向相反的补偿电流,用几条折线逼近残余曲率 | 原理直观、电路简单、补偿范围大 | 存在拐点不连续,需要精心设计分段点;版图和修调复杂 |
| 曲率补偿 | 利用不同电流密度下Vbe的差值生成与ln(T)相关的电压,反向抵消曲率项 | 补偿连续、无跳变,原理上与残余项精确对应 | 对器件比例敏感,需要额外的BJT或电阻网络 |
| 指数曲率补偿 | 利用亚阈值MOS管的指数电流特性生成与温度相关的指数电流 | 补偿在高温段效果明显 | 亚阈值区对工艺和失配敏感,设计难度大 |
| β补偿 | 对BJT有限且随温度变化的电流增益β进行补偿 | 尤其在高低温两端有用 | 需要精确的β模型,对具体工艺依赖强 |
分段线性补偿是工程上最常用的一种,因为它的思路最朴素:残余曲线的两端高、中间低,那就让补偿电流在低温段往一个方向加,在高温段往反方向加,把两端压下来。它不需要对ln(T)项做精确建模,只要补偿曲线的形状大致匹配就行。缺点是不能无限细分温度段,分段越多,功耗、面积和维护成本越高。
曲率补偿的理论基础扎实,因为它直接针对(η-ξ)·VT·ln(T/T0)这一项生成反向的非线性电压。实现上常见做法是用不同面积的BJT、不同电流密度产生ΔVbe,再通过电流镜做加权求和。这类方案在宽温度范围内表现平滑,但前提是你对工艺里BJT的模型有足够的信心——模型不准,补偿曲线就会偏离。
2.2 本设计采用的技术路线
我在这个项目里最终采用的是分段线性补偿为主、结合PTAT偏置优化的路线。选它的原因有三条。
第一,项目时间有限,流片验证周期紧张。分段线性补偿的电路结构简单清晰,核心是几个比较器或者电流镜开关网络,以及一条修调链。相比纯曲率补偿,它对BJT模型精度的依赖更低,哪怕模型和硅有点偏差,补偿强度也可以通过外部修调找回来。
第二,从量级上匹配。前面算了,一阶残余曲率在3到8mV量级,需要的补偿电流并不大,分段线性补偿用微安级别的补偿支路就可以完成,不会明显增加功耗和面积。
第三,分段点可以选在温度曲线极值点附近,这两个极值点通常一个在低温区、一个在高温区,用一到两个分段点就能覆盖大部分曲率。分段线性补偿虽然有拐点不连续的问题,但如果补偿强度不大,拐点处的电压突变可以控制在几十微伏量级,对整体TC影响很小。
在一阶核心上,我的偏置电流选择PTAT(ξ=1),这样残余曲率项为(η-1)·VT·ln(T/T0),方向是确定的,仿真出来后高温段和低温段的畸形方向一致,便于统一补偿。实际上,如果把偏置电流做成与温度无关(ξ=0),曲率项绝对值更大,但方向不变;选PTAT偏置的好处是曲率项略小,且PTAT电流在高温段会让Vbe随温度下降更接近线性,对整个基准的电源抑制和启动特性也更好。
3. 电路实现与关键参数计算
3.1 核心拓扑与偏置设计
这个基准的核心拓扑是经典的两管带隙结构。两个PNP管Q1和Q2,Q2的面积是Q1的N倍,运放强制两个集电极节点电压相等,两个PMOS镜管形成1:1电流镜。两个BJT的发射极各自通过电阻R1和R2连接到地,电阻上承载的电流之差就是PTAT电流。输出电压从叠加电阻网络上取出。
在设计之初,我先把一阶部分的参数定下来:
- 选择N=8,因为8倍面积比例在版图上可以用3×3阵列中间去掉一个单位管的方式实现,匹配性好,ln(8)=2.08。
- 室温下VT≈25.85mV,ΔVbe=VT·lnN≈53.7mV。
- 电阻比值K=R2/R1取约9.5,这样Vref=Vbe2+K·ΔVbe≈0.68+0.51=1.19V,落在1.2V附近。
- 支路电流取5µA,这样R1两端电压约51mV量级,R1约10kΩ级别,R2约100kΩ级别。电阻值不能太大,否则噪声和失配都变大;也不能太小,否则功耗超标。
这里有个容易被忽略的点:N的选择不是越大越好。N越大,ΔVbe越大,相同K下需要的电阻比值越小,但BJT面积更大、版图匹配更麻烦;同时大N会增大两个BJT之间的温度梯度灵敏度。8倍是面积和匹配之间的一个平衡点。
偏置电流源我用的是PTAT结构:从两个基准支路的电流里取出与VT成正比的分量,再通过额外的电流镜复制到补偿支路。这个PTAT偏置同时也承担了一部分一阶补偿作用——它会稍微改变Vbe的温度斜率,让一阶权重K的选取更灵活。
3.2 高阶补偿支路的参数推导
分段线性补偿的具体实现是:在运放输出端或者基准核心内部加两条补偿支路,一条在低温段导通,一条在高温段导通,各自向输出节点注入一个与温度相关的补偿电流。
先拿到一阶仿真结果——这步很关键。一阶核心仿真出来的TC曲线是一条上凸或者下凹的抛物线。我这里得到的是一条“两端上翘”的曲线:在-40°C时比室温偏高约4.2mV,在125°C时比室温偏高约3.6mV,中间在约30°C附近最低。
为了把两端压下来,我需要补偿电流在低温段灌入输出节点一个正的电压增量,在高温段也灌入一个正的电压增量。这里的具体参数是:
- 低温段补偿电流的强度:补偿后希望-40°C处的电压下降约3.8mV,输出节点的等效电阻约50kΩ,因此需要约76nA的补偿电流。实际电流由PTAT源产生,在-40°C时设计到80nA量级。
- 高温段补偿电流的强度:同样算法,125°C时需要约72nA的补偿电流,设计到75nA量级。
- 分段点的选择:低温和高温补偿支路的导通阈值分别设计在约-10°C和60°C,这样补偿曲线可以在两个方向自然衔接而不产生明显突变。
补偿支路的核心是一个简单的“温度开关”:利用一个二极管连接的BJT的Vbe作为温度探测,在低温段或高温段用比较器控制MOS开关,把PTAT电流切换到输出电阻网络上。为了防止比较器在切换点附近振荡,我在比较器里加了一点迟滞,量级约5°C。这个迟滞对TC曲线的影响很小,但能避免实际硅片上的抖动。
补偿支路的强度要留修调位。我在版图上设计了一组分段电阻开关,通过熔丝或者寄存器位把补偿电流的强度分成16档,每档对应约5nA的补偿电流步进。这样即使实际硅片的残差方向或者极值点位置和仿真有偏差,也可以通过修调匹配回来。
3.3 运放与版图的关键设计要点
运放是整个环路的误差来源之一。它的输入失调电压Vos会直接叠加到ΔVbe上,由于ΔVbe只有53.7mV,如果Vos是1mV,等效引入接近2%的权重误差,这会让TC曲线明显偏移。所以运放的输入对管面积要做得大,失配要小;我用的是PMOS输入差分对,尺寸选得比较温和,共模输入范围覆盖两个BJT集电极电压。
运放的增益不能太低。环路增益不够,两个节点电压就不能被强制到相等,PTAT电流就产生得不准。我设计的目标是直流增益至少60dB,单位增益带宽在几百kHz量级,保证环路稳定且不引入额外的温度相关误差。
另外,运放的噪声也会直接出现在基准输出上,所以第一级尾电流不能取得太小。我取了10µA的尾电流,输入对管的跨导在几十µS量级,等效输入噪声控制在几十nV/sqrt(Hz)。
版图上的工作其实比原理图更磨人:
- 两个BJT必须做共质心版图,用1比8的面积比做阵列,周围加dummy管,保证两边的热梯度和工艺梯度一致;
- 关键电阻R1、R2用同一种poly电阻,放得越近越好,比例本质上是版图面积比,失配直接变成TC的偏移;
- 补偿支路里的开关管和电流镜管子,尺寸不能太小,否则失配会淹没仅有几十纳安的补偿电流精度;
- 敏感节点周围要加隔离环,防止衬底噪声耦合到BJT基极或者Vref节点;
- 电源和地走线要给基准核心单独分出来,避免共用的电源线上的压降变化影响基准点电压。
4. 仿真验证、流片调试与问题排查
4.1 仿真与验证设置
仿真不能只在常规TT工艺角和标准温度下看结果。我第一轮仿真就把范围铺开:
- 温度扫描:-40°C到125°C,步长1°C,输出曲线直接看TC;
- 工艺角:SS/FF/SF/FS四个角加上TT,同时把BJT的模型档位也扫一遍;
- 电源电压扫描:3V、3.3V、5V、5.5V,看line regulation;
- 蒙特卡洛:1000次失配仿真,统计TC的分布;
- 启动条件:给一个阶跃的上电信号,看各个内部节点能否正常建立。
仿真结果和预期比较接近:TT角下,一阶核心的TC大约12ppm/°C,打开高阶补偿后压缩到2.4ppm/°C。SS/FF角会偏移,但补偿强度修调后基本都能回到5ppm/°C以内。蒙特卡洛给出的TC 3σ约在4ppm/°C左右,这个水平靠修调后是可以接受的。
有一点要提醒:温度扫描的步长别偷懒。如果你只扫每10°C一个点,TC曲线的细节完全看不出,极值点位置也找不准,高阶补偿的强度没法精准设定。我习惯先粗扫一遍确定大致曲线形状,再在极值点附近加密步长,比如在-40到0°C和60到125°C区间用1°C步长,把补偿后的峰值偏差真正压下来。
4.2 实测数据与调试实录
流片回来后,第一次测试的TC曲线是这样的:整体形状和一阶仿真一致,两端上翘,但上翘量比仿真值大约30%。也就是说,实际硅片上一阶残余曲率比模型预测的大,高阶补偿的固定强度不够。
排查的过程分了几步。先量室温下的Vref,和仿真只差了不到5mV,说明核心环路和电阻比例是准的。再看两个BJT的基极-发射极电压,逐个温度点测出来后和模型差异在正常范围内。最后定位到两个方向:
一是运放的实际失调比仿真预期的偏大。虽然输入对管尺寸不小,但工艺失配的尾部效应仍然让失调达到了1到2mV量级,这在TC曲线上表现为一个附加的非线性偏差。
二是电阻的绝对值和比例偏差。poly电阻的绝对精度在±15%左右,虽然比例匹配好一些,但绝对值偏差改变了PTAT电流,也改变了补偿支路的电流强度。
针对这两个问题,我做了两处调整:一是把补偿支路的电流源改成可以独立修调的结构,分粗调和细调两级;二是增加了一条“失调微调”支路,在基准输出端注入一个可编程的小电流,用来抵消运放失调引入的TC偏移。调整后,在第二批样品上,-40°C到125°C范围内的TC实测做到了约3.1ppm/°C,其中最优的几颗到了2.3ppm/°C。
4.3 常见问题速查表
把这次项目里遇到的典型问题整理成一张表,方便后面做类似设计的人直接对照:
| 症状 | 可能原因 | 排查与解决 |
|---|---|---|
| 上电后输出为零,永远建立不起来 | 启动电路失效,电路锁在零偏置简并点 | 检查启动管是否能把核心拉到正常工作点,做上电瞬态仿真 |
| TC曲线两端上翘且对称 | 一阶补偿权重过大,PTAT项偏多 | 减小K值,增大Vbe项权重 |
| TC曲线中间凸起 | 一阶补偿权重过小,Vbe曲率占主导 | 增大K值或增加PTAT偏置 |
| 高温段TC急剧恶化 | BJT的β随温度变化,或者补偿切换点不对 | 检查β模型,考虑增加β补偿支路 |
| 低温段TC急剧恶化 | 亚阈值漏电或噪声耦合,或低温段补偿电流未生效 | 检查补偿支路阈值比较器的迟滞和偏置点 |
| 蒙特卡洛下TC分布太散 | 电阻失配、BJT面积失配、运放失调 | 优化版图匹配,增加修调位,必要时换更大的器件尺寸 |
| 电源电压变化时Vref波动明显 | 电流镜输出阻抗不足,环路增益不够 | 增加共源共栅管,提高运放增益 |
| 输出噪声偏大 | 电阻值过大、补偿支路开关噪声、运放噪声 | 在带宽和噪声之间折中,必要时在输出加滤波电容 |
这张表里第4条和第5条是最容易在硅上踩的坑。β随温度变化这个事,模型里不是特别显眼,但实测中PNP管在-40°C时β可能只有室温的一半,基极电流的变化会直接改变集电极电流的假设,导致PTAT电流不准。补偿点附近的迟滞和偏置,也要设计成对温度变化不敏感的电流源,否则切换点会漂。
5. 从硅上到量产:给同行的几条实在建议
5.1 不要过早追求高阶
我见过不少项目,一上来就奔着1ppm/°C去,架构选得极其复杂,最后死在功耗、面积和收敛性上。高阶温度补偿的本质是在一阶基准做好之后做减法,不是在一阶都没调好的情况下做加法。我建议的顺序是:先把一阶核心在硅上跑通,把TC曲线测准,再分析残余曲率的形状和大小,最后决定用什么方式补、补多强。
5.2 修调设计要前置
补偿支路的强度、分段点、失调微调量,这三样东西必须在版图阶段就留好修调位。硅片回来后你会发现,最不值钱的是逻辑代码和寄存器位,最值钱的是改一次掩膜的时间和流片费用。用熔丝或者非易失寄存器预留8到16档修调位,成本几乎可以忽略,但对良率的影响是决定性的。
5.3 温度测试的方法论
温度测试的精度直接决定你芯片的真实TC。我踩过一次坑:用普通恒温箱做温度循环,每次切换温度后立刻读电压,结果数据波动大,TC曲线毛刺很多。后来改为在每个温度点稳定30分钟以上再读数,并且用同一个万用表、同一根线缆,数据才稳定下来。另外,探针台的探头和芯片之间的接触电阻会引入几十毫欧的误差,对毫伏级的基准输出不致命,但对TC测量来说能避开尽量避开。
5.4 封装的影响别忽视
封装应力会导致BJT和电阻的版图局部形变,从而改变Vbe和电阻比。实际硅片在封装后TC曲线会往某个方向漂移几ppm/°C。如果项目对TC要求非常苛刻,可以在封装后做二次修调,或者选择应力更小的封装形式。这颗基准在裸片测试和封装后的TC差了约0.8ppm/°C,这个量在高精度基准里是必须认真对待的。
这次做下来,我个人最大的体会是:高阶温度补偿的精髓不在一张复杂的原理图,而在“知道你要补的是什么”。一阶补偿补的是线性尾巴,高阶补偿补的是曲率尾巴,而最终限制你做到1ppm/°C的,往往不是补偿电路本身,而是版图匹配、运放失调、封装应力和测试方法。每一步都在和微小电压较劲。把这些细节抠到位,低温漂带隙基准也就没有传说中那么难。希望这份记录能给正在做同类设计的同行省掉一些弯路。