模拟设计

带隙基准(bandgap reference)

带隙基准是一个小小的模拟电路,它给出一个稳稳的电压——接近 1.2 V——无论芯片是发烫、变冷,还是电源电压塌陷,它几乎纹丝不动。几乎每块芯片都需要一把牢靠的「尺子」来作比较:ADC 要知道「满量程」是多少,稳压器要知道把输出稳到哪个值,上电复位电路要知道电源什么时候算「够高」。而一节电池或一条电源轨会随温度和负载漂移,根本当不了尺子。带隙基准,就是做出这把尺子的那个电路。

诀窍是用两段方向相反的漂移把温度抵消掉。一个正向偏置的二极管(或者一只晶体管的基射极电压 Vbe)在变热时压降会略微减小——大约每升高 1 摄氏度降 2 mV。这是一个 CTAT 项:与绝对温度互补(Complementary To Absolute Temperature)。另一方面,如果让两只晶体管工作在不同的电流密度下,它们 Vbe 之差会随温度升高——这是一个 PTAT 项,与绝对温度成正比(Proportional To Absolute Temperature),由热电压 kT/q 决定(室温下约 26 mV)。把一段下降的 CTAT 和一段上升的 PTAT 各按合适的比例相加,两条斜率正好抵消:它们的和在整个温度范围上是平的。

那个平点为什么落在 1.2 V 附近?因为这差不多正是硅的带隙电压外推到绝对零度时的值——电子要导电所必须跨过的那道能隙。当你强行让 CTAT 与 PTAT 的斜率相互抵消时,其实就是把 Vbe 外推回 0 K,于是硅把它的带隙交到了你手上。这正是这个名字的由来:电路并不是刻意去测量带隙,而是抵消背后的物理把答案拽到了那里。真实的带隙基准能在整个车规温度范围内把输出稳定在零点几个百分点以内,通常还会做一次小小的一次性微调(trim)。

.temp -40 25 125        ; sweep across the temperature corners
.op                     ; solve the operating point at each temp
; Vref = Vbe(CTAT, ~ -2 mV/C) + K * Vt(PTAT, Vt = kT/q)
; choose K so the two slopes cancel  ->  Vref ~ 1.2 V, flat vs temp

一段 ngspice 风格的示意:在三个温度下求解带隙电路,确认 Vref 几乎不动。Vref 等于一个 CTAT 的 Vbe 加上一个按系数 K 缩放的 PTAT 项,让两者的温度斜率在 1.2 V 附近相互抵消。

经典拓扑是 Brokaw 单元或 Widlar 带隙(Bob Widlar,1960 年代末到 1970 年代初)。有一个细节几乎绊倒每一个初学者:带隙电路存在一个稳定的「零」态,此时根本没有电流流动,所以它需要一个启动电路在上电时把它「踢醒」,然后再悄悄退场。还有两点要当心:1.2 V 的输出没法在低于约 1.2 V 的电源下工作,所以深亚微米芯片会改用「亚带隙」(sub-bandgap)变体,给出一个更低的基准;而且输出是高阻的,通常要先加一级缓冲器再去驱动真正的负载。温度曲线并不是完全平直,而是略呈抛物线——这点残余的弯曲叫曲率(curvature),高精度的器件会加上曲率校正把它进一步压平。

又称
bandgap voltage referenceBGRbandgap带隙基准源能隙基準