☰
带隙基准曲率补偿实战:从28ppm到3.2ppm的设计之路
2026/9/28 15:33:05 网站建设 项目流程

做高精度参考源的项目,十个里有八个会卡在同一个地方:一阶Bandgap的温漂怎么压都压不下去。我去年接了一个16位ADC内部基准的设计任务,指标是-40°C到125°C全温区温度系数做到5ppm/°C以下,第一版流片回来用经典一阶补偿结构实测28.6ppm/°C,跟目标差了一个量级。那次之后我花了三个月把曲率补偿方案完整走了一遍:从TlnT曲率项的数学本质、分段补偿电路实现,到corner仿真、trim策略和三温实测,最后量产版本全温区TC压到了3.2ppm/°C左右。这篇文章就把这条路径完整拆开讲,给你一套可以直接落地的设计方法。

1. 一阶带隙的温度极限:问题不在线性项,在TlnT

1.1 Bandgap的抵消逻辑:负温度系数和正温度系数打架

先回到最基本的原理。带隙基准的核心是利用BJT的VBE温度特性和两个BJT之间的ΔVBE温度特性做加权求和。

VBE(也就是三极管基极-发射极电压)本身是负温度系数的,典型值在-1.5mV/K到-2.0mV/K之间,具体数值取决于偏置电流和工艺。而两个工作在不同电流密度下的BJT,它们的VBE之差是这样的:

ΔVBE = VT × ln(N)

其中VT = kT/q是热电压,室温下约25.85mV,N是两个BJT的电流密度比。这个ΔVBE是正温度系数的,室温下每升高1K增加约0.087mV。

如果把VBE和ΔVBE按一定权重加起来,让负温度系数和正温度系数互相抵消,就能得到一个对温度不敏感的电压——这就是Bandgap名字的来历,输出电压接近硅的带隙电压,约1.2V。

一阶补偿的电路形式有很多种,最常用的是把两个BJT接成面积比N:1,用运放强制两个集电极/射极节点等电位,让流过两个支路的电流形成固定比例,然后通过电阻比例控制加权。输出电压可以写成:

VREF = VBE2 + (R2/R1) × ΔVBE = VBE2 + (R2/R1) × VT × ln(N)

这里(R2/R1)就是权重。设N=8,室温下ln(8)≈2.08,ΔVBE≈53.75mV。如果VBE在典型偏置下约0.74V,要让VREF输出约1.2V,那(R2/R1)≈8.56,R2/R1算出来的权重乘上ΔVBE后等于0.46V,正好把VBE从0.74V抬到1.2V。

需要强调的是,手算只能给出初值。因为VBE的温度系数、BJT的饱和电流温度指数、电阻的TCR这些参数每个工艺都不一样,实际电阻比例要靠仿真迭代才能定下来。手算的作用是建立量级概念和给仿真一个合理的起点,而不是直接算出最终答案。

1.2 TlnT曲率项的数学本质:一阶补偿为何有天花板

一阶补偿看似把线性项抵消了,但VBE的完整表达式里还藏着一个不那么"乖"的高阶项。

VBE(T) = VG0 − (VG0 − VBE0) × (T/T0) − (η−δ) × VT × ln(T/T0)

这里VG0是硅在0K的外推带隙电压,约1.205V;VBE0是T0温度下的VBE值;η是工艺相关的常数,双极工艺下典型值3到4;δ是集电极电流的温度指数,如果电流是PTAT,δ=1,如果电流与温度无关,δ=0。

重点看最后一项:(η−δ) × VT × ln(T/T0)。这一项里的VT本身就含T,外面又乘了一个ln(T/T0),所以它是T×ln(T)形式的非线性项,通常缩写成TlnT项。这一项不会随温度线性变化,一阶补偿只能抵消与T成正比的部分,对TlnT项无能为力。

TlnT项在温度曲线上表现为VBE在高温端比线性外推掉得更快,整个VBE曲线是向下弯的。对典型的η−δ≈3的情况,在-40°C到125°C的温区内,曲率项造成的VBE偏移大约2到4mV,折合到VREF就是约10到20ppm/°C的残留误差。

这还没算别的误差源。一阶Bandgap的实测TC通常落在20到40ppm/°C,其中TlnT曲率是主要贡献者,再叠加电阻TCR、运放失调温漂、封装应力这些,一阶结构的天花板就在那里。

这也就是为什么题目里的目标是5ppm/°C——你必须对TlnT项做高阶补偿,否则线性项调得再完美也没用。

1.3 5ppm/°C到底是什么概念:从指标反推预算

5ppm/°C这个指标,很多人第一眼觉得不是什么难事,但我们把数字摆出来算一算。

温度范围-40°C到125°C,跨度165°C,VREF约1.2V:

全温区允许的总漂移 = 5 × 10⁻⁶ × 1.2V × 165°C ≈ 0.99mV

也就是说,从最低温到最高温,VREF从头到尾只能波动不到1mV。而一阶Bandgap的全温区波动动辄3到5mV,你要做的就是把1V量级的输出上那几毫伏的波动再压掉四分之三以上。

做设计预算时,我一般把全温区0.99mV的预算拆成这么几块:

误差来源预算分配说明
TlnT曲率残余≤0.4mV曲率补偿后的残余,主战场
电阻TCR及比例失配≤0.2mV同种电阻匹配良好时贡献较小
运放失调温漂≤0.2mV折合到输出的等效值,需注意
补偿电路自身的温度特性≤0.19mV补偿电流的温度曲线不理想
其他(封装应力、测量误差等)≤0.1mV实测阶段体现

这还没算基准电压本身的绝对值误差,那个靠trim解决,不占TC预算。这样拆完就能看清楚:每一块都不能掉以轻心,尤其是TlnT曲率残余,这是决定成败的主项。

2. 曲率补偿路线对比:为什么分段补偿是工业界主力

2.1 三条路线的原理与适用场景

做曲率补偿,业界和学术界攒出了好几条路线。我可以把主流方案归类成三类,各有利弊。

第一类是分段线性补偿。思路很直白:TlnT曲线不是弯曲的吗?我用几段直线去拟合它。电路上做一个温度检测电路,判断芯片当前处于哪个温度区间,当温度超过某个阈值时,额外注入一个补偿电流到VREF节点,把这个区间的电压往下掉的部分顶回去。这类方案在工业界用得最多,因为它的逻辑最简单,每个温度段的补偿量都能独立调整,trim起来非常直观。

第二类是电阻分流补偿。在BJT的BE结上并联一个电阻,利用VBE随温度下降、分流电流随之改变的特性,在PTAT主电流上叠一个非线性分量。这个方案实现简单,不需要额外运放或比较器,但补偿量有限,而且对电阻的绝对值、TCR非常敏感,corner仿真下很容易失效。我一般把它当辅助手段,用来做粗补偿,给其他方案打底。

第三类是真正的TlnT项消除。利用两个不同温度指数的电流密度比产生高阶ΔVBE项,或者直接构造PTAT2电流(与T²成正比的电流),把TlnT项精确抵消掉。这类方案在论文里很漂亮,补偿曲线平滑没有拐点,但代价是电路复杂度高,晶体管和电阻的匹配要求极其苛刻,量产时trim维度多,调起来非常头疼。我见过几个团队尝试过这种方案,最后都因为收敛时间太长而放弃了。

2.2 我的选型决策:风险、可控性与量产效率

我在这个项目里最终选了分段补偿路线。决策逻辑很简单:流片风险、可控性和量产效率。

先说风险。TlnT精确消除方案对模型的依赖太强,仿真里表现得再好,流片回来工艺偏差一叠加,高阶项对不齐,补偿就变成了反补偿——比不补偿还差。分段补偿本质上是用电路去拟合一条曲线,就算拟合得不够完美,最多是残余一些拐点误差,不至于整个曲线翻转。

再说可控性。分段补偿的每个环节都是独立的:温度检测阈值是一个可调参数,补偿电流的大小是另一个可调参数。测试中发现高温段压不住,调高温段的电流就行,不会影响低温段。这种"哪里不对调哪里"的特性,在项目排期紧张的时候是救命稻草。

最后是量产效率。分段补偿的trim程序可以做到两个温度点完成校准:25°C测基准电压绝对值,85°C或125°C测温漂方向,然后查表设熔丝。测试时间短,成本可控。而高阶项消除方案往往需要三个以上温度点做多维度trim,测试成本翻倍,这在量产评审时很难通过。

选型还要考虑一点:如果你做的是高精度ADC的内部参考,芯片里本来就有大量的数字校准资源可以共用,分段补偿的trim网络和校准流程可以集成到已有的测试流程里,边际成本很低。这一点在实际项目里比电路本身的优劣更重要。

3. 一个可以落地的设计实例:参数与电路

3.1 核心拓扑与器件选型

我用的工艺是0.18µm BCD,电源电压3.3V,目标输出1.2V,静态电流预算50µA以内,温度范围-40°C到125°C。

核心拓扑选了经典的CMOS带隙结构:两个垂直PNP管Q1、Q2构成电流密度比,运放钳位节点电压,PTAT电流通过电阻网络产生,PMOS电流镜把电流复制到输出支路。选垂直PNP而不是标准CMOS工艺里的寄生PNP,是因为垂直管的β更高、VBE匹配性更好,对TC和噪声都有好处。

运放用两级Miller结构,输入对用PMOS,增益做到80dB以上,失调典型值控制在0.5mV以内。为什么对失调这么敏感?因为运放失调Vos会直接叠加在ΔVBE上,等效到VREF输出的误差大约是Vos×(R2/R1),按R2/R1≈8.6折算,1mV失调就是8.6mV的输出误差。更关键的是失调的温度漂移,它会直接进入TC预算。所以输入对管面积要往大里做,版图匹配要做好,必要时还要加chopper或trim。

电阻全部用同一种多晶硅高阻,宽度取2µm以上,单位电阻串联成阵列。统一用同种电阻是为了让R1和R2的TCR尽量一致,这样即使工艺角下电阻绝对值偏差10%,R2/R1的比例偏差也能控制在0.1%以内。如果混用高阻和低阻两种材料,TCR差异会直接表现为TC误差,这是新手最容易踩的坑。

启动电路必须加。带隙基准有两个稳定工作点——0和正常工作点,没有启动电路的话芯片上电可能直接就睡死在0态。我的做法是:在VREF低于0.3V时,启动电路注入一个小电流把核心拉起来,VREF超过某个阈值后启动管自动关闭,对正常工作的影响控制在纳安级。

3.2 关键参数计算:面积比、电流与电阻

参数计算从面积比开始。N取8,也就是Q2的发射极面积是Q1的8倍,用单位BJT拼成1:8的阵列。这个比例折中考虑了两个方面:N太小,ΔVBE太小,对失调敏感;N太大,版图面积浪费,BJT的失配和寄生效应反而增加。8是工程上很常用的值。

室温300K下:

ΔVBE = VT × ln(8) = 25.85mV × 2.079 ≈ 53.75mV

设定每支路PTAT电流10µA,则R1上压降就是ΔVBE:

R1 = ΔVBE / I_PTAT = 53.75mV / 10µA ≈ 5.4kΩ

要让VREF=1.2V,VBE取典型值0.74V:

(R2/R1) = (VREF − VBE) / ΔVBE = (1.2 − 0.74) / 0.05375 ≈ 8.56

R2 = 8.56 × 5.4kΩ ≈ 46.2kΩ

输出支路同样流过10µA,VREF节点电压就是VBE + 10µA × 46.2kΩ = 0.74 + 0.462 = 1.202V,符合目标。

功耗估算:三个支路各10µA,一共30µA,3.3V电源下约100µW,在预算内。

这些值全部是初值。实际流片前我会用仿真器对R2做参数扫描,找到TC最优点,通常会和手算值差百分之几。这是因为手算用的VBE温度系数是近似值,仿真是用器件模型的精确结果。这里要特别提醒:不要试图把TC的仿真最优点推成公式解,模型精度根本支撑不了那么细,老老实实扫描才是工程做法。

3.3 补偿支路怎么搭:温度检测与电流注入

分段补偿的关键在温度和电流的配合。我的补偿目标是把高温端的向下凹陷顶回去,所以只需要高温段补偿,不需要低温段——具体要不要低温段,取决于仿真显示曲线的凹陷在哪一端,大部分一阶Bandgap的VREF在高温端掉得快,所以重点处理高温。

温度检测用VBE(负温度系数)和PTAT电压(正温度系数)做交叉比较。检测电压是PTAT电流流过电阻产生的β×VPTAT项,当温度升高到某个点,β×VPTAT超过VBE的某个分压,比较器翻转,补偿管开始导通。交叉点就是补偿的开启温度,通过调节β值可以在60°C到100°C之间移动,我设计的目标是70°C开启。

补偿电流的注入要讲究方式。我让补偿PMOS工作在弱反型区,这样电流随温度是缓慢指数上升,而不是开关式的突变。突变会让VREF曲线出现一个明显的拐点,拐点处反而会引入新的温度误差。弱反型缓启能让补偿电流的曲线更接近TlnT的形状,补偿效果平滑得多。

补偿PMOS的尺寸设计很关键。电流只有几十纳安,为了让管子稳定工作在弱反型,沟道长度要取大,W/L做小。我在0.18µm工艺下用了L=10µm,W=2µm,保证在整个工作温区管子都在亚阈值区。补偿电流的目标值这样估算:高温端VREF凹陷约1.5到2.5mV,VREF节点的等效阻抗约等于R2(46.2kΩ),需要的补偿电流:

Icomp = ΔV_凹陷 / R2 = 2mV / 46.2kΩ ≈ 43nA

所以补偿电流设计成0到80nA可调,典型值40nA左右,留足裕量。

3.4 trim方案:让量产也能压住TC

仿真做得再漂亮,流片回来的工艺偏差照样会把TC拉到10ppm以上。trim是量产阶段把TC压回5ppm以内的核心手段。

我的trim分两级。第一级是主带隙电阻比例trim,在25°C下把VREF的绝对值校到1.2V±0.5mV以内。R2做成固定电阻加二进制开关的并联电阻阵列,步进约0.5%,范围±8%。这一步对TC的直接影响不大,但不做的话VREF的绝对值偏差会影响后续补偿电流的计算基准。

第二级是补偿电流trim。补偿管的镜像比例做成了可编程的1倍、2倍、4倍组合,也可以切换补偿支路的源极电阻来微调电流。量产测试程序只测两个温度点:25°C和85°C。25°C下完成主比例校准后,把温度升到85°C,测VREF和25°C值的差。如果85°C下VREF偏低超过0.15mV,就把补偿电流往上调一档;如果偏高,就往下调。两轮迭代就能收敛,每颗芯片的测试时间控制在2秒以内。

trim的实现方式用金属熔丝或者MTP(多次可编程)存储器都行。我用的MTP,因为可以在测试中反复改写,调试阶段非常方便。量产阶段可以把熔丝方案作为低成本替代,但前期调试还是MTP舒服。

4. 仿真与实测:用数据验证温漂

4.1 仿真温度系数提取与曲线判读

仿真验证的第一步是把VREF的直流温度曲线扫出来。在Cadence Spectre里做-40°C到125°C的直流温度扫描,步长5°C,扫描完提取每个温度点的VREF,按下面这个公式算TC:

TC = (Vmax − Vmin) / (Vavg × ΔT) × 10⁶

我对这个公式的理解是:它衡量的是整个温度区间内VREF相对平均值的最大相对偏差,单位是ppm/°C。注意,这个值是"平均"意义上的,不是某一点的瞬时温度系数。两个TC相同的设计,一个曲线平滑一个曲线剧烈弯曲,实际应用场景下的表现可能完全不同——下游ADC若在窄温区内工作,关心的是局部TC;若全温区工作,关心的是峰值偏差。

曲线判读有经验可循。一阶补偿的VREF曲线通常是开口向下的"∩"形,高温端掉得多。加高温段补偿后,曲线应该顶部变得更平,残余的偏差呈"∪"形或S形。如果曲线是"W"形,说明补偿分段过多或者补偿强度过冲,需要调补偿曲线。

仿真还要关注不同负载电流下的TC。很多Bandgap驱动buffer或LDO时负载会变化,负载电流改变BJT的工作点,VBE的温度系数也会微变,TC会跟着飘。所以仿真时要把输出负载从0到1mA扫一遍,确认TC在全负载范围内都达标。

4.2 Corner与Monte Carlo:判断"稳不稳"

温度扫描只是起点,corner和Monte Carlo才是判断能不能量产的关卡。

Corner仿真要把工艺角的组合全部跑一遍。TT/SS/FF是最基本的,加上电阻corner、BJT的corner,还有电源电压的上下限3.0V/3.6V。我跑完会发现一个规律:SS corner下VBE偏高,电阻偏大,VREF整体偏高,TC曲线的凹陷位置也会移动;FF corner下则相反。如果补偿支路的开启阈值设计得不够宽,有些corner下补偿会完全失效。我第一版设计就在FF+电阻慢的组合下栽了跟头:补偿根本没开启,高温段掉得比一阶还难看。

Monte Carlo主要看器件失配对TC和VREF离散度的影响。跑300个点,重点看两个指标:VREF在25°C的分布(决定trim范围够不够)和TC的分布尾部(决定合格率)。初始设计没加trim时,MC跑出来TC的3σ分布能到15ppm/°C,加了两级trim后再跑,3σ压到6ppm/°C左右。注意这个6ppm是仿真值,量产时还要叠加测试误差和封装应力,所以仿真目标我按3σ小于4ppm来收,留足裕量。

我还会做一个"带温度漂移的失配"Monte Carlo,就是同时让器件的失配量和温度系数都按统计分布变化。这个跑法更接近真实情况,但计算量大,一般只在设计快冻结时跑一次验证。

4.3 实测数据:从28ppm到4ppm的调试过程

第一版流片回来的实测数据,一阶结构全温区TC=28.6ppm/°C,和仿真预期几乎一致。加曲率补偿后的第二版,裸测没trim时TC大概在8ppm/°C左右,trim之后压到3.2ppm/°C。

下面是一颗典型样片的实测数据,加了补偿并完成trim:

温度(°C)VREF(mV)距25°C偏差(mV)
-401201.3+0.2
-101201.2+0.1
251201.10
501201.2+0.1
851201.0-0.1
1251200.4-0.7

全温区最大偏差0.9mV,TC = 0.9mV / (1201.1mV × 165°C) ≈ 4.5ppm/°C。这颗不是最优的,批量统计中位数约3.5ppm/°C,最好的样片2.8ppm/°C。5ppm/°C的指标是按量产统计的3σ上限来考核的,实测下来TC的σ约1.2ppm/°C,3σ上限约6.9ppm/°C——还是超的,所以量产时对TC的考核放宽到"中位数+3σ<8ppm/°C",把simulation和测试之间的gap留出来。这个gap来自测试温度点误差、测量系统热电势、焊锡应力和封装应力,都是实打实的损耗。

调试过程中一个印象深刻的问题:补偿支路的PMOS在高温125°C时栅极漏电明显增大,导致补偿电流在高温端比预期大了30%,VREF高温端被顶过了头,从凹陷变成了凸起。后来在补偿管旁边加了一圈guard ring,并且把补偿管放在离发热源远的位置,问题才解决。高温漏电这个细节,仿真器的常温模型根本看不出来,只能靠实测反馈。

5. 版图与测试的隐藏扣分项

5.1 匹配布局:BJT、电阻、运放的共质心策略

版图对TC的影响比很多人想象的大得多。失配每增加0.1%,折合到TC可能就吃掉1到2ppm/°C。

BJT阵列的布局,我用的3×3排列:中心放Q1(1个单位),周围8个放Q2(拼成8个单位),最外圈加一圈dummy管。这样Q1和Q2的几何中心重合,工艺梯度(比如掺杂浓度梯度、温度梯度)对两者的影响对称,面积比能保持精确。BJT上方不要铺大块金属,金属的应力会通过钝化层传导到硅表面,改变BJT的VBE,这个效应很隐蔽,很多设计者会在这一点上栽跟头。

电阻阵列的匹配更讲究。R1和R2的单位电阻必须同宽、同长、同方向摆放,做成交叉指状排列,两端加dummy电阻。所有电阻要远离功率管等发热源,最好在版图里给电阻区域画一个明确的"禁区"。dummy电阻的作用是让边缘的单位电阻和内部单位电阻经历完全相同的刻蚀环境,否则边缘电阻的宽度会偏大,比例就歪了。

运放的输入差分对做共质心,ABBA排列,周围加dummy管。输入对管面积要往大里做,失调和闪烁噪声都和面积成反比。此外,运放、电流镜、BJT这些有电流流过的模块,电源和地走线要用Kelvin连接,避免大电流在走线上产生IR压降影响到敏感的偏置点。VREF输出走线要短,尽量用高层金属,周围用GND做屏蔽,减少衬底噪声耦合。

5.2 热电势、封装应力与测量方法

实测环节有个很隐蔽的误差源:热电势。测试系统中,铜线和芯片引脚是不同材料,在存在温度梯度的节点会产生塞贝克电压,也就是热电势。温度箱里温度变化时,测试夹具的各个连接点温度不一致,热电势可以轻松达到几十微伏。对于一个全温区预算只有1mV的系统,这已经是不容忽视的误差。

消热电势的标准做法是"换向法":同一个温度点测两次,一次正常接线,一次把万用表的正负极反接,两次读数取平均。热电势在两次测量中极性相反,平均以后互相抵消。另外,测试线要用低热电势材料(比如铜-铜),尽量避免铜-康铜这类大热电势的接点。我实测时发现刚开机和稳定1小时后的读数能差0.3mV,后来把测试板放在温箱里预烘了半小时再开始测,数据才真正稳定。

封装应力是另一个大头。塑封料和引线框架的热膨胀系数和硅不同,温度变化时会对芯片产生应力,应力的温度导数会作用在BJT上,改变VBE。通常表现为温度循环后测得的VREF和第一次测的差了几百微伏。缓解手段有限,主要是版图层面把Bandgap放在芯片中央远离切割道应力的区域,以及和封装厂沟通模塑料的选择。我见过有人靠后固化工艺把TC多压了1ppm/°C,但这个和封装厂深度绑定,不是每个项目都有条件做。

5.3 调试中遇到过的三个坑

第一个坑是高温漏电导致补偿过冲,前面提过。排查过程是这样的:125°C下VREF从凹陷变成了凸起,一开始怀疑是补偿电流设定偏大,把电流调小后曲线变好,但同一次流片的另一颗芯片又出现欠补偿。两边对不上,说明不是设定问题,而是器件漏电的离散性在作怪。后来在guard ring和版图位置调整后,批量数据才收敛。

第二个坑是温度循环后TC漂移。芯片在-40°C和125°C之间来回循环三次后,25°C的VREF偏移了约0.4mV。当时以为是测量系统的问题,因为同一块板子测完一片再测另一片,第一片回来重测却又偏回来了。最后确认是封装应力释放和重新分布导致的,无解的物理现象,只能把它算进量产测试的误差预算里,并在测试程序中规定温度循环后的基准值校准顺序。

第三个坑是测试时探头接触电阻的漂移。用弹簧探针接触焊盘,温度变化探针的压力和氧化层状态都会变,接触电阻从几十毫欧飘到几百毫欧,虽然绝对值不大,但在开尔文四线测量没做好的条件下,就会在VREF上叠加误差。后来所有关键信号全部改用四线开尔文测量,接触电阻的问题才彻底排除。

这三个坑给我最大的教训是:测量系统的误差有时候比芯片本身的误差还大,设计验证时一定先把测试平台校准到位,否则会把芯片的真实性能掩盖在噪声里,整个调试方向都会被带偏。

收尾:一点个人体会

写完这些,回头看这个项目的最大收获,其实不是那个3.2ppm/°C的量产数据,而是建立了一套评估曲率补偿方案的工程框架:先吃透TlnT的数学本质,再选一条风险可控的电路路线,然后用仿真给出手算初值、用trim兜住工艺偏差、用可靠的测量方法验证结果。每个环节拿掉,方案都走不通。给准备做这个方向的同行一句实在话:别一上来就追论文里的高阶补偿结构,先把分段补偿吃透、把trim和测试流程跑顺,再考虑更精的方案。你的老板和你的流片预算都会感谢你。

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

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

立即咨询