低功耗带隙基准设计实战:从亚阈值电流模到版图优化
2026/9/16 8:57:57 网站建设 项目流程

从我自己的项目经历来说,这类题目往往是“看着原理简单,做起来全是坑”的代表之一。传统bandgap结构在课本上两三页就能讲完,可真要把功耗从几十微瓦压到几百纳瓦量级,同时还保证温度系数、电源抑制比和启动可靠性,你会发现在经典拓扑上做任何“省电”改动,都会牵连出一连串新问题。这篇博文就围绕低功耗bandgap结构,把我在实际流片中踩过的坑、算过的参数、优化过的方式完整整理出来,内容偏模拟IC设计方向,适合正在做传感器接口、物联网SoC或者电池供电系统电源管理模块的工程师参考,对刚接触bandgap的在校学生也有直接的落地价值。

1. 低功耗bandgap的整体思路与设计瓶颈在哪里

1.1 传统bandgap的功耗到底消耗在哪里

带隙基准的核心思想,大家都很熟悉:把一个负温度系数的VBE和一个正温度系数的热电压差值ΔVBE按比例相加,最终得到一个近似与温度无关的参考电压。传统结构里,主流做法是运放强制两个输入节点等电位,在两条支路上产生不同的集电极电流密度,从而在电阻上形成ΔVBE,再通过电阻比例放大后叠加到VBE上。典型输出是1.2V左右,对应CMOS工艺里硅的带隙电压。

这套结构在功耗上并不“大方”。为了稳住运放的增益和带宽,运放尾电流至少需要几微安到几十微安;两条BJT支路再加上输出支路,每个电流也都在微安量级。静态功耗几十微瓦是最常见的状态。对于连续工作的传感器节点或者能量收集系统,这个数字实在过于奢侈。所以低功耗bandgap要解决的第一个问题,就是搞清楚电流都花在哪了——运放的静态偏置、BJT支路的集电极电流、反馈网络里的泄漏电流,以及启动电路残留的电流,每一笔都要单独核算。我在设计初期做过一个拆分,发现运放和BJT支路几乎平分了总功耗,启动电路如果做得不好,甚至会占掉10%以上,这才是真正动手优化时需要警惕的角落。

1.2 把电流调小后,为什么性能全变了

很多人第一反应是“把电流直接缩小10倍不就行了”,实测下来完全不是这么简单。第一,BJT支路电流降低后,为了维持同样的ΔVBE,必须增大电阻值,而高阻值多晶电阻在版图上占地面积会猛涨,兆欧级别电阻在低功耗芯片里可能比核心逻辑还大。第二,电流降到纳安量级后,MOS管大概率工作在亚阈值区,此时失调电压、阈值电压失配的影响变得异常突出,晶体管的沟道长度调制效应也变得更加显著。第三,运放带宽也会跟着电流下降,启动时间和瞬态响应都会变慢,休眠唤醒场景下可能让你直接达不到时序要求。

我用一个生活化的类比来说明:传统bandgap像是大水管配小水塔,水流足,水面稳定;低功耗设计则像是往一个极小口径的管子里挤水,水压不稳,稍微有个气泡就会影响整个水位。所以低功耗bandgap从来不是“把电流调小”这一个动作,而是对整个设计哲学的重构。

1.3 主流低功耗bandgap路线对比

我开始做低功耗方案选型的时候,列出了几种常走的路线,各有取舍:

  • 传统运放型+电流缩放:改动最小,但受到运放最小工作电流和失调限制,功耗压缩比有限。
  • 亚阈值MOS型bandgap:利用MOS管亚阈值指数特性生成PTAT电压,省去BJT或用BJT做CTAT补偿,理论上功耗可以压到极低。
  • 电流模求和型:把PTAT和CTAT电流相加,再通过电阻转成电压,好处是可以灵活设计输出电压(比如0.6V以下),适合低压系统。
  • 动态/周期供电型:让bandgap分时工作,用内部电容保存输出电压,平均功耗很低,但需要额外的开关和时序控制逻辑。

这几个方向我都实际跑过仿真,如果追求纳米级静态功耗并且系统允许周期性工作,动态供电型最具优势;如果是连续监测类应用,亚阈值MOS+电流模求和是更稳妥的选择。下面把几个典型路线放一起对比:

方案静态功耗量级温度系数表现面积开销设计复杂度适合场景
传统运放bandgap几十μW优,<20ppm/°C通用电源芯片
亚阈值MOS电流模几百nW良,30~50ppm/°C中大中高低功耗传感器SoC
动态供电bandgap平均几百nW中等,依赖电容泄放间歇工作IoT节点
纯MOS比例式几百nW良,但工艺漂移稍大不需要极高精度的场合

2. 低功耗核心设计拆解与参数计算

2.1 亚阈值区电流设置和MOS尺寸计算

当功耗目标定到几百纳瓦时,支路电流自然进到纳安级范围,主流的低功耗bandgap普遍会让MOS管工作在亚阈值区。亚阈值区的电流公式有一个很重要的关系:在固定过驱动电压之下,电流与宽长比呈线性关系;但如果要让MOS管在亚阈值区工作,那么栅源电压必须小于阈值电压,此时电流表达式主要取决于阈值电压、亚阈值斜率和热电压。

对于一个反型系数弱反型的NMOS,漏极电流可以近似为:

I_D = μ_n C_ox (W/L) (n - 1) V_T² × exp[(V_GS - V_TH) / (n V_T)]

其中n是亚阈值斜率因子,在标准CMOS工艺中大概1.3~1.6。根据这个公式,为了得到100nA左右的电流并同时让V_GS接近0.3~0.4V,往往需要把宽长比做得很有限,甚至可能做到1/1甚至更小,版图上采用倒比管。这里有一个容易忽略的陷阱:倒比管尽管能降低W/L,但栅面积变小后随机失配反而变大,导致同一片晶圆不同die之间,V_GS有几十毫伏偏差。这个偏差直接反映到PTAT电压上,进而恶化基准电压的批量分布。

所以我在设计时,会对“尺寸最优解”做一个权衡:不是简单把宽长比做小,而是在满足总功耗预算的前提下,让关键电流管尽量靠近最小面积限制,同时通过并联unit管的方式来改善统计匹配。实测下来,并联8~16个最小尺寸单元对失配改善比较明显,但面积也会增加,需要根据具体良率目标来平衡。

2.2 电阻选型、阻值计算和版图面积权衡

低功耗bandgap里另一个大头是电阻。以前做常规bandgap,电阻阻值几千欧到几十千欧就绰绰有余。但低功耗设计里支路电流只有几十纳安时,如果还想产生几百毫伏的电压差,阻值就必须到兆欧、甚至几十兆欧。高阻多晶硅电阻的方块阻值通常在1k~2kΩ/sq,做成1MΩ大概需要几百到上千个方块,面积一下子变大。

巧妙的办法是提高ΔVBE,也就是增大两条BJT支路的电流密度比。BJT的ΔVBE与电流密度比成对数关系:ΔVBE = V_T × ln(N),其中N是两个支路电流密度的比值。把N从8增大到48,ΔVBE可以从大约54mV提高到约98mV,几乎是翻倍。这样同等电压下需要的电阻值就能下降,但BJT的面积和对数关系带来的边际收益会逐渐变小。实际项目里我通常把N取在16~32之间,再往上增加密度比,BJT阵列的面积和寄生都会变得不划算。

电阻温度系数和高阻值带来的寄生电容也需要关注。高阻poly的方块阻值高,但一阶温度系数往往也比较大(典型300~800ppm/°C),虽然bandgap是靠电阻比例来抵消一阶温度项的,二阶温度项还是会残留。再加上高阻值电阻本身会有不小的寄生电容,它在电源噪声耦合路径上会引起额外的PSRR恶化,尤其在高频段。因此低功耗bandgap里,电阻往往成为面积和性能的折中核心,值得在前期投入时间多跑几个组合。

2.3 运放失调、噪声对基准精度的影响

运放失调电压V_OS会直接叠加到bandgap输出电压上,不受温度系数补偿方程约束,因此它是决定批量精度的关键因素之一。从设计公式上看,若失调为V_OS,折算到输出端的误差大约是V_OS乘以反馈增益因子。为了控制失调,传统做法是加大输入管面积,然而在低功耗场景下,输入管的偏置电流很小,gm很低,热噪声和闪烁噪声都容易恶化。

这里需要做一个折中:到底是采用面积翻倍的输入管,还是在系统层面用chopper或auto-zero来消除失调?chopper方式对功耗的附加开销并不小,时钟驱动、开关导通电阻等都会引入新的功耗;而且低功耗bandgap的输出阻抗很高,chopper的残余纹波更难滤除。所以如果温漂要求不是极端的<10ppm/°C,我个人建议优先用加大面积+版图匹配来压失调,把chopper留到系统实在收不了时的终极手段。另外要注意,低电流下噪声性能往往比失调更难看,因为要降低噪声就得增大gm,而gm天生跟电流正相关。如果想同时做到低温漂、低噪声、低功耗,确实需要“三选二”的魄力,哪怕再资深的工程师也要面临这个现实约束。

3. 完整实操:从指标定义到低功耗bandgap实现流程

3.1 明确设计目标和规格表

我建议第一步就建立一张规格表,后面所有参数调整都围绕这张表展开,否则很容易陷入局部优化。以下是一次模拟项目的目标示例,实际流片前后我会反复回看这张表:

参数设计目标备注
总静态电流I_Q≤500nA25°C,典型工艺角
参考电压V_REF600mV±10mV适合低压系统后级稳压
温度系数TC≤40ppm/°C-20°C~85°C范围
线性调整率≤2%/V电源1.2V~3.6V
启动时间≤200μs带内部电容,上电后
电源抑制比PSRR≥60dB@DC低频平均

这里有个关键决策:输出600mV而不做1.2V,是为了适配低压数字SoC的电源域,后级只需要一个低压差稳压器或REF buffer即可。输出电压直接决定整个bandgap核心的工作点,也让支路电阻上的压降可以大幅降低,从而压缩阻值、节省面积。

3.2 核心电压生成部分的参数计算

在本设计里,我采用电流模求和的亚阈值bandgap结构。基本思路是:利用一个运放强制两个节点电压相等,分别产生PTAT电流和CTAT电流,再在输出节点用电阻合成为V_REF。

先算PTAT电流源部分。假设两个BJT发射区面积比为1:8,那么ΔVBE = V_T × ln8 ≈ 25.85mV × 2.079 ≈ 53.8mV(室温附近,V_T取25.85mV)。如果用同一电阻R1来产生PTAT电流,则I_PTAT = ΔVBE / R1。如果希望I_PTAT在室温下为200nA,则R1≈269kΩ。这个阻值在高阻poly下,大概需要200个方块,面积可以接受。实际情况中我会把BJT面积比设为1:24甚至1:32,把ΔVBE提高到80mV以上,这样R1可以降到160kΩ左右,电阻面积能省30%以上,代价是BJT阵列面积稍大,总账一般是划算的。

CTAT电流部分由VBE直接除以电阻R2获得。硅的VBE一阶温度系数约-1.6mV/°C到-2mV/°C,跟PTAT电流的正温度系数方向相反。为了在输出节点叠加后实现一阶温度抵消,需要让I_PTAT的温度系数斜率恰好抵消I_CTAT的负斜率。设I_CTAT = VBE/R2,那么它的温度系数是(dVBE/dT)/R2;I_PTAT的温度系数是(lnN × k/q)/R1。令两者在求和节点上的斜率之和为零,可以得到R2和R1的比例关系。代入典型参数,R2约等于R1乘以1.8左右,因此R2最后会在300kΩ~500kΩ范围内。这里有个小技巧:实际电路里VBE的曲线并不是线性的,带隙电压的温度曲线存在一个二阶项,所以一阶抵消后还会留下一个小的碗形误差。如果要压到极低ppm,可以在输出节点串联一个小比例的温度系数补偿电阻,或者在BJT支路上串一个非比例电阻“掰”一下二阶项。这个技巧来自实际校准,比单纯调电阻比例更有效。

3.3 环路设计与运放配置

低功耗bandgap里的运放,不需要很强的推挽输出能力,因为它主要驱动高阻节点,输出电流极小。我常用单级折叠共源共栅结构,增益做到60~70dB即可。为了保证相位裕度,主极点设置在运放输出端,次级点在bandgap核心内部的高阻节点处,需要确保它落在单位增益带宽之外。

需要注意的是,低电流下运放自身的偏置电流镜是功耗来源之一,我习惯用一个自偏置电流源给运放供电,电流大小与主支路电流成比例关系。这样能保证全温度范围内运放性能不会随着温度偏移太多。实际仿真时要把功耗大头也拉进整个环路里看启动瞬态,不然你会在测试时发现bandgap花了几毫秒才稳定,甚至出现振荡。

另外,由于低功耗设计的工作电流很小,电路对寄生的反馈路径非常敏感。电源线上的几十飞法寄生电容都在极低环路带宽下改变相位裕度。如果后仿发现相位裕度不足,不建议直接增大运放尾电流,那样会把功耗预算打穿。更优雅的做法是在bandgap输出端加一个小电容(比如2~5pF),利用米勒效应把主极点往低频推,同时保持静态功耗不变。这个做法实测下来对稳定性的改善显著。

3.4 启动电路设计和零电流稳定点的应对

Bandgap天生存在一个简并工作点:上电时,如果所有支路电流都为零,放大器可能没有任何输入差分电压,也就无法“唤醒”电路。所以启动电路是必须的,低功耗版本也一样。经典做法是接一个从电源到地的弱电流通路,检测到核心节点电压太低时,向某个关键栅极注入一个小的启动电流,把电路推出零电流状态。

在设计启动电路时,我最常遇到的问题有两个。第一个是启动电路在完成使命后还偷偷漏电,导致整机功耗超标。解决办法是让启动电路自身带滞回:比如用一个阈值比较器,当基准电压建立到正常值的90%以上时,直接把启动电流通路断开,并且用一个倒比管保证断开状态的泄漏在pA级。第二个问题是多条启动路径同时动作,可能在bandgap正常工作时造成微小的扰动纹波。尤其要避免为省事给多个内部节点都挂上启动管,那样做会有“抢启动”的风险,某些工艺角下反而比不启动更麻烦。

启动时间方面,低功耗bandgap的充电电流小,如果后级电容又大,建立时间很容易超过指标。我在这个设计里加了1pF左右的内部补偿电容,启动时间大概在100μs量级,能满足系统唤醒时序要求。如果还需要更快启动,可以考虑在启动阶段临时增大镜像电流,这个在超低功耗SoC里比较有效,但要小心电流切换瞬间的毛刺。

3.5 电源抑制与低功耗场景的额外考量

低压差系统里电源纹波会直接串到bandgap输出上。低功耗并不意味着可以放弃PSRR,尤其在传感器量化电路中,基准上的纹波会变成测量误差。一种有效办法是给bandgap核心的电源节点增加一级RC低通滤波,R用高阻poly,C用MOS电容或MIM电容,把高频噪声先滤掉一部分。但RC滤波R值很大时,会在电源路径上形成一个低频零点,必须确保该零点远低于环路单位增益带宽,否则会引起环路不稳定。

我实际做过的另一条路线是加一个简单的预调节环路:用一个低压差稳压器给bandgap核心供电,bandgap输出再经过一个单位增益buffer送出。这样核心看到的电源几乎是干净的,PSRR能做到很高。缺点是额外增加了几百纳安静态电流,需要在功耗预算里统筹考虑。如果整个系统的功耗预算卡得非常死,那就要在PSRR指标上放低期望,或者依赖后级LDO来弥补。

4. 版图实现要点与后仿真注意事项

4.1 器件摆布、匹配和环保护的工程细节

低功耗bandgap的版图敏感度比常规bandgap更高,因为工作电流小意味着失配占比大,任何不对称都会改变参考电压。BJT阵列必须采用共质心布局,发射极面积比按照设计展开,比如1:8就按九宫格排布,中间放单位管,周围放8个并联管。电阻阵列也要做同样的共质心排布,并且在两边加上dummy电阻,让光刻边缘效应一致。关键MOS管之间的相对位置,最好也和BJT放在同一个热梯度方向一致的小区域内,避免大功率模块的横向温度梯度带来额外失配。

另外,我会在整个bandgap核心外圈打一圈P型衬底保护环,再在外面加一圈深N阱隔离环,把衬底噪声和邻近模块的耦合都压制住。在低功耗芯片里,bandgap经常被放在ADC或RF模块旁边,保护环的宽度和接触孔密度一定要足够,因为开关噪声灌进衬底后,不但影响bandgap,还会影响整个模拟前端的信噪比。

4.2 电源走线和地线去耦

低功耗bandgap的电流很小,走线电阻似乎不太要紧,但寄生电阻上的IR Drop对电流镜镜像精度的影响仍然存在。各支路的源端接法要尽量从同一电位点引出,而不是“串”在一条长线上。电源线能加宽就加宽,金属层也用高层粗金属;地线同理。关键敏感节点周围不要有长距离平行走线穿过,尤其要避免数字翻转频繁的信号线。去耦电容方面,bandgap核心附近放一个几百飞法到几皮法的本地电容,能有效稳定内部节点,又不至于过多占用面积。

4.3 后仿真与失配分析的做法

低功耗bandgap的后仿,寄生参数提取至少要跑RC提取,不能只跑C提取,因为高阻电阻本身的寄生电容对电源抑制的影响比较大。蒙特卡洛分析要包含失配MC和工艺角MC两类,采样数建议至少200次以上,分析Vref分布和温漂分布。做失配分析时,要把补偿电阻和主电阻当成不同器件分开看失配,很多新人会把它们合并成一个模型,导致统计结果过于乐观。还有一种常见做法是做温度环境扫描结合工艺角,比如TT/FF/SS三个角在-40°C到125°C范围扫描,判断热载流子效应或PTAT电流是否有异常跳变。如果在某个高温角出现Vref曲线翘起,多半是电流镜进入线性区或高阻poly电阻温度系数二阶项恶化,需要回溯设计参数。

5. 测试指标、数据解读和量产一致性

5.1 测试项和测试方法举例

流片回来后,需要做几项基本测试:输入静态电流I_Q、参考电压Vref随温度变化、线性调整率、启动时间、PSRR和长期稳定性。温度测试是最费时的,因为要使用温度箱和源表逐点采样。为了让数据可比,我一般会在每个温度点至少保温10分钟再读取Vref,同时把万用表的测量延迟和负载效应考虑进去。启动时间测试用示波器探头接一个源极跟随器作为buffer,避免探头电容直接挂在bandgap输出上改变启动曲线。PSRR测试则用网络分析仪加偏置T,扫频范围从100Hz到10MHz。

5.2 数据和设计预期不一致时怎么排查

如果实测功耗比仿真高很多,第一优先检查启动电路是否彻底关断。我曾经遇到一个项目,启动电路采用了简单的电阻分压与反相器控制,反相器在低电源下静态电流不小,导致总功耗比仿真高出一倍多,后来改成自锁式开关才解决。如果温漂曲线出现明显的不对称,就要怀疑BJT发射极面积比是否被版图做错,或者保护环占用了太多有源区边缘导致实际有效发射极周长变化。

批量数据出来以后,把多个die的Vref直方图拉出来,看分布是否接近正态。如果分布出现双峰,大概率是某个unit器件在版图里放反或者对称性被破坏;如果分布很宽,则可能是核心MOS管处于亚阈值区,对阈值电压失配过于敏感。这个时候最快的补救手段是设计阶段预留trim电路,在测试端通过熔丝或OTP修调基准电压。我在量产项目里一般会做8~16级trim,修调范围覆盖正负20mV,步进1~2mV,良率提升效果非常明显。

5.3 校准、修调方案与产线配合

低功耗bandgap的校准方案要尽早定下来,因为这会影响pad和测试流程。常用做法是在芯片内部用一串电阻分压产生多个修调电压,通过控制寄存器选择接通哪一档。修调信息可以存储在OTP或eFuse中。产线校准通常在常温下做一次粗调和细调:常温测完Vref后,计算需要的trim code写回片内,然后在高温和低温各抽样复查。低功耗bandgap在常温下电流很小,测起来其实很“干净”,不容易出现热噪声干扰,但源表线缆和探针台的接触电阻必须做好补偿,否则几毫伏的误差都会被误判成电路失配。

6. 常见问题排查与设计避坑清单

6.1 典型故障现象、成因与对策

故障现象可能原因排查重点解决办法
上电后Vref为0启动电路未生效或死锁测关键内部节点电压增大启动电流注入幅度,增加滞回比较
启动时间过长内部充电电流太小或电容偏大查看运放建立曲线增大镜像电流比例或减小输出电容
Vref温度曲线形状异常电阻间失配或BJT面积比偏差检查版图匹配和温度角仿真调整版图比例、增加dummy单元
功耗比仿真大启动电路残余漏电或运放偏置电流摆幅过大测总静态电流随温度变化增加启动关断逻辑、修调运放偏置
PSRR高频段恶化高阻电阻寄生电容耦合后仿观察电源到输出的高频增益增加RC滤波或采用屏蔽走线工艺
批次良率不稳定亚阈值区阈值电压失配对工艺角敏感做多die分布统计增加trim档位、优化匹配面积

6.2 几条基于经验的补充提醒

第一,不要为了极致功耗把电流压到漏电流可比的程度。到了几百纳安级别,栅氧漏电和pn结反偏漏电在高温下可能达到几十纳安,这个量级会直接淹没主支路电流,使基准电压彻底失去控制。所以低功耗设计必须评估120°C甚至150°C的漏电预算。第二,仿真时一定要把pad、ESD保护二极管和封装引脚的寄生一起放进去,否则测试现场会出现ESD结构反偏漏电导致的非线性。第三,建议芯片里预留一个off-chip调节引脚或者至少一个内部测试mux,方便把bandgap核心节点引出来观测。没有这些观测点的低功耗bandgap,调试起来等于盲人摸象。

6.3 结构后续的扩展思路

如果后续要在这个低功耗bandgap基础上做升级,我比较推荐的方向是加入温度传感器功能:利用PTAT电流或ΔVBE的温度特性,做一个片上温度读出,这样同一个模块既给系统供基准,又能做热管理,功耗利用率很高。另一个可行方向是让bandgap支持多电压输出,比如通过电流镜复制多路PTAT/CTAT电流,再经过不同的电阻网络输出0.6V、0.9V、1.2V等多档参考,给不同电源域使用。这两个扩展都不需要推翻现有结构,只在外围加少量开关和寄存器控制就能实现,值得在项目早期留好接口。

结尾:低功耗bandgap设计的个人体会

这几年做下来,我的体会是低功耗bandgap结构设计从来不是追求单个指标的极致,而是在功耗、面积、温漂、启动时间、批量良率之间做一个系统工程取舍。做常规bandgap时候习惯的“增加一点功耗换取性能”的思路,在这个场景里完全行不通。真正让我完成思维转换的,是经历过一次因为启动电路漏电导致整机待机功耗超标的教训——从那以后,我会把每一个纳安级电流都当成功耗预算里必须审计的对象来对待。最后再分享一个实用技巧:在低功耗bandgap的运放输入对管两侧,各加一个尺寸相同的dummy管并接地,可以在不增加功耗的前提下显著改善输入对的对称性,这样测出来的温漂分布会集中很多。希望这篇梳理能帮你少走一些弯路,后续如果有机会,我还会针对动态供电bandgap的时序设计单独写一篇,那时候再一起聊聊唤醒周期和精度维持的权衡。

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

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

立即咨询