1. 项目概述与设计目标拆解
1.1 低噪声BGR到底解决什么问题
干了十几年模拟IC设计,带隙基准(Bandgap Reference,简称BGR)可以说是最"家常菜"但又最见功力的模块之一。很多刚入行的同学觉得BGR不就是"一个运放加俩电阻加俩三极管"嘛,照教科书搭一个就能出活。但我跟你说,真正到了量产、到了系统级指标考核的时候,BGR的水很深。尤其是低噪声这个需求,它不是一个"锦上添花"的指标,而是直接决定了ADC的信噪比、PLL的抖动、LDO的输出噪声、DAC的SFDR能不能达到设计要求。
低噪声带隙基准,核心任务是在产生一个与温度无关的稳定参考电压的同时,把输出端的等效噪声压到足够低。这里的"低"是个相对概念——取决于应用场景。给16位SAR ADC做参考电压,噪声要求通常在1/f噪声拐点以上做到几微伏RMS以内;给高速PLL的VCO供电,那对电源噪声抑制和宽带噪声都有极高要求;而给传感器信号链做偏置,可能还要关心0.1Hz到10Hz的超低频噪声。
我做过一个12位逐次逼近型ADC项目,系统指标要求参考电压噪声贡献不超过总噪声预算的三分之一。算下来参考电压输出端的积分噪声(0.1Hz到10kHz)必须低于50微伏RMS。当时我用了一款常规结构的BGR,电阻用的多晶硅高阻,运放是五管OTA,仿真结果怎么调都压不到指标以内。后来彻底改用低噪声架构,运放电流从3微安提到15微安,还专门处理了噪声匹配和滤波器设计,才终于把集成噪声压到40微伏上下。这个过程让我意识到,低噪声BGR不是一个简单"加大尾电流"就能解决的问题。
1.2 适用人群与前置知识
这篇文章适合谁看?简单说三类人:
第一类是刚开始做模拟芯片设计的在校学生或者刚转行的工程师,你大概率已经知道BGR的基本原理,但还不清楚"低噪声"这个约束条件会怎么影响拓扑选择和器件尺寸,这篇文章会告诉你噪声指标是如何一步步落实到每个管子和电阻的宽长比上的。
第二类是正在做数据转换器、电源管理芯片、射频收发机里参考电压模块的设计师。你在工程中已经遇到了噪声超标的问题,想看看别人是怎么排查、怎么取舍的,这篇内容里的仿真方法和工程经验可以直接参考。
第三类是系统架构师或项目负责人,你需要评估一个BGR方案的噪声、功耗、面积三者之间的折中是否合理,至少要能听懂设计组的讨论,这篇文章帮你建立直观的工程直觉。
需要的基础知识包括:熟悉PN结电压随温度的变化关系、了解CMOS工艺里电阻和BJT的基本模型、会用仿真工具跑AC、噪声、蒙特卡洛分析。如果你连BGR的基本工作原理都还不清楚,建议先去补一补基础再来读。
2. 低噪声BGR的整体设计思路
2.1 噪声指标如何从系统需求逐级分解
做任何模块设计,第一步都不是画电路,而是先把指标分解清楚。低噪声BGR的指标分解通常从系统级开始。
举个例子。假设一个16位ADC,满量程输入5V,LSB大约是76.3微伏。参考电压的噪声预算一般取总噪声的1/3,那么参考电压的RMS噪声就要控制在25微伏左右。但注意,这是总积分噪声,你得考虑积分带宽。ADC的转换速率假设是1MSPS,奈奎斯特带宽是500kHz,相应地参考电压的等效噪声带宽一般取信号带宽的若干倍(通常是1.5到2倍,因为采样开关的混叠效应)。所以你要保证的是从直流到1MHz左右的带内积分噪声不超过25微伏RMS。
继续往下分解。BGR输出端的总噪声来自几个方面:带隙核心本身的噪声、运放等效到输出的噪声、片内滤波器电阻的热噪声、以及后续缓冲器(如果加了LDO或buffer)的噪声。
我的经验是,在做架构选择之前,先画一张简单的噪声预算表。举个例子,如果我目标总噪声是25微伏RMS,那么可以初步分配:
- 带隙核心+运放噪声:10微伏RMS
- 滤波网络电阻热噪声:8微伏RMS
- 缓冲放大器噪声:15微伏RMS
- 其他噪声源(衬底耦合、电源耦合等):控制在5微伏以内
为什么这么分?因为缓冲器通常要驱动后级采样电容,输入等效噪声直接除以反馈系数就能折到输出,是最难压的一块。而且缓冲器的带宽通常很高,积分带宽大,所以给它分最小的份额不合理,反而要给它留最多的余量。这个分配不是死的,但它能帮你明确设计的重心在哪。
噪声预算确定之后,才开始选结构和定尺寸。
2.2 为什么常规BGR结构在低噪声场景下力不从心
经典的BGR结构大家都熟悉:利用三极管的VBE负温度系数和ΔVBE正温度系数做加权相加。教科书里一般给的是带运放的标准结构,如图1那种(这里不贴图,你脑子里有就行)。
运放通过负反馈把运算放大器两输入端电压钳到相等,从而在三极管Q1和Q2上产生不同的电流密度,ΔVBE = VT·ln(N)出现在电阻R1上。这个ΔVBE被放大后与VBE相加,得到约1.2V的输出电压(实际上取决于工艺和设计,从1.15V到1.25V不等)。
这种结构的问题在哪?
第一个问题是噪声的贡献路径不均衡。运放的输入失调电压和等效输入噪声直接被放大(1 + R2/R1)倍叠加到输出。当R2/R1比值在6到8之间时(取决于你想要多大的温度补偿系数),运放的噪声被放大了7到9倍。如果运放输入参考噪声是50 nV/√Hz,到输出就变成了350到450 nV/√Hz。这个代价很大。
第二个问题是电阻噪声。ΔVBE本身大约只有几十毫伏,要把它放大到几百毫伏甚至更大,就需要大电阻比值。而偏置电流一旦确定,R1的阻值也基本定了。假设偏置电流是10微安,ΔVBE是54mV(N=8,室温下),那R1就是5.4kΩ。R2如果是7倍,那就是37.8kΩ。输出噪声等效到输入端,R1和R2的并联热噪声在常温下大约是:
√(4kT·(R1||R2)/2) ≈ √(4×1.38×10^-23×300×(5400||37800)/2) ≈ 31 nV/√Hz(粗略估算)
看起来不高,但乘以1+R2/R1的噪声增益之后,变成200多nV/√Hz。这个量级的噪声密度,积分到100kHz带宽,大约就是50到70微伏RMS,已经超标了。
第三个问题是flash flicker噪声。标准CMOS工艺里的MOS管1/f噪声拐点通常在几kHz到几十kHz。运放输入对管和电流镜的闪变噪声在低频段贡献很大,如果不做斩波或者加大面积,0.1Hz到10Hz频段的噪声会非常难看。
所以,结论很直接:如果你只是做一个普通用途的BGR,标准结构真够用了,面积又小、功耗又低、设计周期短。但一旦你手里的项目是低噪声BGR,就必须重新审视拓扑。
2.3 常见低噪声BGR拓扑与取舍
低噪声BGR的拓扑选择上,行业里主流做法大概有以下几个方向。
方向一:在传统运放结构上做强化。包括加大运放尾电流、把输入对管换成面积更大的器件以降低闪变噪声、使用low-pass滤波电容滤除运放宽带噪声、以及精心设计电阻网络使得噪声增益最小化。这种做法的好处是风险低,设计流程完全沿用已有经验,只要把尺寸和电流调上去,噪声多少能改善一些。坏处是收益有上限,因为热噪声是物理极限,roast噪声可以靠尺寸和斩波来压,但运放尾电流一旦上去,整个模块的功耗和面积都跟着上去了,这不一定划算。
方向二:用斩波稳定化技术把闪烁噪声和失调搬移到高频。斩波技术的核心思想是把信号先调制到斩波频率,经过放大后再解调回基带。这样,运放的失调和1/f噪声被调制到斩波频率的奇数倍谐波上,再通过低通滤波器滤除,等效输入失调可以从几个毫伏压到几微伏,1/f噪声的贡献基本被消除。这是做低噪声BGR最有效的"大杀器"。
但斩波不是免费的午餐。它引入了开关时钟馈通(clock feedthrough)、电荷注入、以及与斩波频率相关的纹波。当过零调制时,开关的沟道电荷注入会产生残余失调和纹波。行业里常用"尖峰消除"电路(spike filter)或者"斩波+自动调零"组合来对付这个,不过代价是电路复杂度大幅上升。
方向三:使用"无运放"BGR结构,比如Banba结构中的电阻比例电流镜版本,或用自偏置电流源产生ΔVBE电流,再用电阻做V-I转换。这种结构噪声路径简单,没有运放的增益放大效应,热噪声的来源更清晰。但代价是电源抑制比通常不如运放版本好,需要通过额外的预稳压或共源共栅电流镜来提升。整体下来功耗也没有特别省。
方向四:混合策略。在BGR核心使用低噪声运放结构,输出端加一个片内RC低通滤波器,滤除主要的高频噪声,然后接一个专门的低噪声缓冲器来驱动负载。这个策略在实践中最常见。滤波器的关键是转折频率要和BGR的环路带宽、以及后级buffer的输入噪声匹配好。
我简单列一个对比表,方便你快速参考。
| 拓扑类型 | 噪声性能 | 功耗代价 | 面积代价 | 设计复杂度 | 适合场景 |
|---|---|---|---|---|---|
| 传统运放结构 | 中等偏上 | 低 | 小 | 低 | 一般模拟系统参考电压 |
| 强化版运放结构 | 良好 | 中 | 中 | 中 | 中低精度ADC参考、LDO |
| 斩波稳定BGR | 优秀 | 中高 | 中 | 高 | 高精度ADC、传感器信号链 |
| 无运放电流积分式 | 良好 | 低 | 小 | 中 | 功耗面积极度受限的IoT |
| 混合+缓冲+滤波 | 优秀 | 高 | 大 | 中高 | 高速ADC、PLL参考链路 |
这个表不是绝对的,你要结合工艺、项目指标、团队经验来选择。我的经验是:高速高精度混合信号芯片里,斩波+混合结构的组合是最稳的;但对低功耗可穿戴芯片来说,无运放结构加上仔细的尺寸设计反而更容易满足噪声与功耗的平衡。
3. 核心电路模块设计与参数计算
3.1 运放设计:噪声与功耗的权衡
低噪声BGR里的运放承担着几个角色:稳定环路、保证虚短、提供足够的增益来抑制非线性。对于低噪声设计,运放的输入参考噪声是头号敌人,因为它的噪声会被后面的噪声增益放大。
先来看运放输入参考噪声的主要来源:
- 尾电流源和输入对管的有源负载的热噪声
- 输入对管的闪变噪声(尤其是PMOS或者NMOS输入,PMOS通常1/f噪声小一些)
- 电流镜的噪声贡献,折算到输入端还会乘上跨导比值
在五管OTA的经典结构里,输入参考电压噪声的表达式大致可以写成:
v_eq^2 ≈ 2×(4kT·2/3×(1/gm1,2 + gm3,4/gm1,2^2)) + 2×Kf/(W·L·f)×gm3,4/gm1,2
其中gm1,2是输入对管的跨导,gm3,4是负载管的跨导。看到这个公式你就明白了:想要降低热噪声,就得增大gm1,2,也就是增大输入对管的偏置电流和宽长比。想要降低闪变噪声,就得增大输入管的面积W×L。
我来给你算一笔实际的账。假设输入对管是PMOS差分对,目标输入参考热噪声密度是30 nV/√Hz(这算是中等偏上的运放)。热噪声公式是:
v_n = √(16kT/(3×gm)) ≈ √(16×1.38×10^-23×300/(3×gm)) = √(2.2×10^-20/gm)
要让vn = 30 nV/√Hz = 3×10^-8,则gm≈2.2×10^-20 / (9×10^-16) ≈ 2.44×10^-5 S,也就是24.4微西门子。
如果PMOS输入管工作在弱反型区,gm大约是IDS/(2·n·VT)。取n≈1.5,VT≈26mV,得到IDS ≈ gm×2×n×VT ≈ 24.4×10^-6×2×1.5×0.026 ≈ 1.9毫安。这么大!如果工作在强反型区,gm = 2×ID/(Vov),假设Vov取0.15V,则ID = gm×Vov/2 ≈ 1.83毫安。
也就是说,单靠运放偏置电流来实现30nV/√Hz的输入参考热噪声,需要近2mA的尾电流。这个功耗在很多低功耗场景已经是天文数字了。这个时候就得权衡:要么接受更高一点的噪声,要么通过拓扑变换绕过这个矛盾。
这就是为什么低噪声BGR里很少用单级五管OTA的原因之一。你真正做设计的时候,更多会考虑两级运放或者折叠共源共栅结构,用第一级的高增益来降低第二级噪声的等效输入贡献,同时在第一级就做好噪声匹配。
我做过一个项目把OTA尾电流设为5微安,实测输入参考噪声大约100nV/√Hz,输出端噪声经过约8倍噪声增益放大后就是800nV/√Hz级别,最终靠斩波和片外滤波才把系统噪声压下来。如果你把尾电流加到50微安,输入参考噪声确实能降到30nV/√Hz附近,但动态功耗直接翻了十倍,很多系统根本承受不了。所以,运放噪声设计的关键不是追求极限指标,而是找到和系统功耗预算匹配的那个甜点。
3.2 电阻网络设计:材料、尺寸、阻值分配
电阻在BGR里的角色很微妙。它既参与带隙核心的电压叠加,也决定了噪声和温度系数。
先说说电阻材料。现代CMOS工艺里有几种常见电阻:高阻多晶硅(HR Poly)、扩散电阻、阱电阻和金属薄膜电阻(比如精密薄膜电阻)。做BGR之前,你得先查工艺文件里各类电阻的温度系数和匹配特性。一般来说:
- 高阻多晶硅电阻阻值密度高、寄生电容小,但温度系数稍大,绝对精度一般。适合做BGR的电流设定和频率补偿网络。
- 扩散电阻的电压系数比较大,在高阻值应用时容易出现非线性,低噪声场景不建议用。
- 金属薄膜电阻阻值密度低、面积大,但噪声小、温度系数低。如果芯片面积不敏感,这类电阻是最理想的。
实际设计中,我常用的策略是:核心电阻(R1、R2)用精度要求高的低温度系数电阻,一般选高阻多晶硅或者薄膜电阻;滤波网络里的电阻可以用常规多晶硅,因为它的匹配要求不高,绝对精度偏差造成的误差可以通过修调来补偿。
阻值分配的思路也很讲究。BGR里噪声与功耗是一种矛盾关系:要降低噪声,理想情况是减小电阻阻值,因为电阻热噪声与√R成正比;但减小R1后又会导致偏置电流增大(因为ΔVBE/R1),功耗上升。
假设你定一个偏置电流I_bias = 20微安,室温下ΔVBE大约54mV(N取8),那么R1 = 2.7kΩ。接着,温度补偿系数决定了R2/R1的比值。计算温漂时,我们希望d(VBE + (1+R2/R1)×ΔVBE)/dT = 0。VBE的温度系数大约-1.7mV/℃,ΔVBE的温度系数大约是+0.085mV/℃(与工艺有关)。若α=1+R2/R1,则要求α×0.085 ≈ 1.7,解得α≈20。R2/R1≈19,R2≈51.3kΩ。
这里有一个重要的细节:α=20比教科书里常见的6~8大得多。原因是教科书里的BJT电流密度比N通常取得更大(N=20或更高),或者使用了平坦化补偿结构。上面的估算只是示意,你做设计要基于实际工艺模型去仿真,别直接抄这个数。但思路是一样的:α越大,输出噪声增益越大,运放噪声和R1热噪声被放大得越多,对低噪声越来越不利。
所以,低噪声BGR有一个"悖论":你追求好的温漂(需要更大的α),就要付出噪声变大的代价。实践中的解决办法是:接受一定的温漂余量,把α控制在8~12之间,剩下的温漂用高阶补偿(比如分段补偿或曲率校正)来修正,而不是一味加大α。
3.3 BJT尺寸、数量和匹配策略
BGR核心里的BJT,决定了ΔVBE的产生精度和噪声基座。
在设计上,Q1和Q2的面积比N通常取8、16、24这样的值。N越大,ΔVBE越大,灵敏度越高,但面积也越大。面积除了影响失配,还影响串联电阻和漏电流,大尺寸BJT的寄生电容也会大一些,这会略微影响环路相位裕度。
低噪声角度来说:BJT本身的噪声以散粒噪声为主,其等效到BGR输出的影响远小于运放和电阻,所以BJT不是噪声优化的重点。但BJT的匹配特性直接决定了失调电压,失调电压随温度变化会产生漂移误差,需要在版图布局时认真对待。
我的经验是:Q1和Q2做成多个单位BJT并联的形式,采用共质心排列。比如Q1用1个单位,Q2用8个单位,Q2放在外围,Q1放在中心,周围加Dummy管。这样温度梯度和工艺梯度影响会大幅降低。
另外要注意BJT的基极电流。在标准CMOS工艺中,寄生PNP的基极电流并不小,会从运放输入端抽取电流,导致失调。用达林顿连接或者增大BJT尺寸可以降低基极电流效应。不过这会增加面积,需要权衡。
让我给你一个实际的布局参考:
- 单位BJT尺寸:通常取2μm×2μm到5μm×5μm的发射极面积
- 数量:Q1用1个单位,Q2用8个单位,周围加一圈Dummy
- 布局形式:共质心对称排列,重掺埋层(如果有)尽量共用
- 到运放输入端的连线:短且对称,避免引入大的寄生电阻失配
3.4 斩波电路设计:何时用、怎么用
斩波稳定化是低噪声BGR绕不开的话题。刚才我们在运放噪声讨论里已经看到,单纯靠加大偏置电流压低热噪声的代价太大,而1/f噪声更是几乎不可能靠调尺寸来完全消除。
斩波的基本原理:输入信号被调制到斩波时钟频率f_chop,经过运放放大后,再被解调回基带。而运放本身的失调和1/f噪声只经过一次调制,被搬移到f_chop的奇数谐波处,由后续低通滤波器滤除。等效效果是,运放输入端"看起来"没有失调和1/f噪声了。
斩波BGR设计里的关键参数:
- 斩波频率f_chop的选择。太低,调制后的噪声落在信号带内滤不掉;太高,开关电荷注入和时钟馈通的影响变大,同时运放的带宽必须足够。一般折中取几kHz到几百kHz。
- 斩波开关的尺寸。开关沟道电荷量与W×L成正比,太大的开关导致残余纹波增大。但太小了导通电阻大,影响信号通道精读。需要仿真权衡。
- 调制频率处的纹波问题。即便用了斩波,开关电荷注入和时钟馈通在输出端依然会形成方波纹波,幅度可能在毫伏级别。这个纹波会通过滤波器衰减,但不可能完全消除。
我做过一个斩波BGR,斩波频率设在100kHz,输出端接了一个二阶RC低通滤波,带宽约10kHz。实测输出纹波大约在200微伏峰值。对12位的ADC来说,这个纹波折算成LSB大约是0.5LSB,勉强可以接受。如果要做16位,建议把斩波频率提高或者用更复杂的纹波消除电路。
这里有个实战技巧:斩波开关的时钟不要直接来自数字核心,最好用独立的时钟buffer隔离,避免数字噪声通过衬底耦合进来。
3.5 输出滤波与缓冲器设计
BGR核心产生的是低噪声、低带宽的参考电压,但后级可能需要瞬态响应很快的负载(比如ADC采样电容的冲激电流)。所以BGR输出端通常会接一个缓冲器。
缓冲器设计的噪声要求:输入参考噪声要远低于BGR核心的噪声,才不会成为噪声瓶颈。如果BGR核心的输出噪声已经是30微伏RMS,那缓冲器的输入噪声应该做到10微伏RMS以下。
这看起来很难,但实际上缓冲器接收的已经是经过滤波的窄带信号,带宽可能只有几百kHz到几MHz,所以积分噪声的绝对值是可以做得比较低的。
滤波网络本身也要注意:电阻热噪声是宽带的,单纯加RC滤波不一定能降低积分噪声,甚至可能引入额外噪声。做输出滤波的思维应该是:通过电容短接高频噪声到地,同时把电阻放在BGR内部低阻节点或者用有源滤波结构,而不是在输出端直接串一个电阻再接电容。你直接在输出端串1kΩ电阻再接100pF电容,从噪声来看,这个电阻的热噪声约4nV/√Hz,看起来不大,但它阻断了BGR环路对输出节点的低阻抗驱动,反而让负载变化直接反映到输出电压上,动态性能会变差。
所以在工程上,滤除BGR高频噪声的常用办法是在BGR核心内的高阻节点处加片内滤波电容,或者在运放内部做频率补偿的时候把电容做大,把单位增益带宽压低。这样BGR输出的自然带宽就降下来了,高频噪声也就被带走了。
如果你需要驱动大电容负载,而且要有很好的瞬态响应,那就得单独设计一级低噪声缓冲放大器,用开环增益高的结构加输出大管,配合压摆率增强电路。这个就是另外一个大话题了。
4. 温度系数、PSRR与噪声的平衡设计
4.1 温度系数的精细调整与曲率校正
带隙基准的经典温度补偿思路让VBE和ΔVBE加权相加。但有个现实问题:VBE随温度是非线性的,存在一个曲率项,导致简单的二阶补偿无法在整个工业温度范围(-40℃到125℃)内拿到很平的温度曲线。
低噪声设计里,曲率校正电路很可能引入额外的有源器件噪声和失配。我通常的做法是先把主环路做好,让温漂控制在合理范围内,然后评估因为曲率校正而增加的噪声是否可接受。
曲率校正的常见方法:
- 用非线性的补偿电流注入到BGR核心,利用BJT的基极-发射极电压的曲率做反相补偿。
- 分段补偿:在不同温度区间开启不同的补偿电流,用温度开关控制。但要小心,开关的阈值附近可能出现补偿突变,导致温漂曲线出现折角。
- 使用两个不同电流密度比的BJT对,生成两个不同的ΔVBE,再次加权。
从低噪声角度看,最简单可靠的还是"电流模"补偿而不是"电压堆叠"补偿。因为电流叠加对整个环路的干扰小,补偿管的噪声折算到输出端也很有限。
4.2 PSRR的“看不见的敌人”
低噪声BGR还有一个经常被忽视的指标:PSRR,电源抑制比。如果你把BGR核心的噪声压住了,但电源上的纹波直接耦合到输出,那系统照样完蛋。
PSRR的问题有两个来源:
第一个是BGR核心本身对电源波动的抑制作用。在BGR里,运放通过负反馈将输出稳定,但反馈环路的有限增益决定了PSRR在低频时是有限的。频率升高后,环路增益下降,PSRR快速恶化。
第二个是BJT的基极-发射极电压VBE本身就受电源电压的影响(通过Early效应和基区宽度调制效应)。你要在版图和电路两个层面做抑制:电路上加共源共栅,版图上做深N阱隔离和guard ring。
PSRR的提升手段有:
- 使用预稳压电路。BGR的电源直接从片内LDO输出取电,LDO先把电源纹波压到很低,BGR只需要应对残余纹波。
- 加大环路增益。运放采用增益增强(gain-boosting)技术,提高低频环路增益,PSRR在低频段会显著改善。
- 避免电源电压直接加到BJT集电极上。用共源共栅电流镜来隔离电源波动。
你设计完一定要做PSRR的频率扫描仿真,看全频带最差的地方在哪。通常中频段(几百kHz)是最危险的,因为环路增益已经下降,而滤波电容还没有起作用。那片区域就需要特别关注。
4.3 设计权衡的工程决策流程
我以自己在某低功耗传感器项目里的BGR设计为例,带你走一遍权衡流程。
项目指标:输出1.2V,工作电压2.5V到3.6V,静态电流≤50微安,温度范围-20℃到80℃,输出噪声≤60微伏RMS(0.1Hz-10kHz),PSRR@100kHz≥60dB。
我首先考虑拓扑:因为噪声指标很紧张,常规结构肯定不行,但也不是所有指标都撞在一起,50微安的静态电流预算给斩波结构留了操作空间。最终定了方案:斩波稳定的运放结构,核心电流约20微安,斩波频率100kHz,滤波带宽10kHz。
运放尾电流定在10微安,输入对管PMOS,尺寸定在W/L=200μm/0.5μm,翻几倍的意义在于1/f噪声拐点能压到几百赫兹以下。电阻R1=5kΩ、R2=35kΩ(α=8),N=8。BJT单位面积4μm×4μm,Q1一个,Q2八个。
仿真结果显示:
- 温漂:输出从1.197V到1.203V,约5mV跨度,折算温漂系数约12ppm/℃,对传感器应用足够
- 输出积分噪声(0.1Hz-10kHz):52微伏RMS,满足60微伏的指标
- PSRR@100kHz:58dB,略低于目标,后来在电源和BGR之间加了一级简单RC预滤波,把问题解决
这个案例是网上资料里反复出现的典型设计思路,但实际仿真和流片验证都证明,合理的权衡优先顺序是:噪声预算一定要最先确定,它决定了拓扑和功耗的天花板;温漂其次,因为它可以通过修调和补偿来兜底;PSRR排在最后,因为它可以通过外围电路补救。
5. 仿真验证与版图设计要点
5.1 噪声仿真:从密度曲线到积分值的完整流程
噪声仿真的目的不是看一条漂亮的曲线,而是得到一个能支撑系统决策的积分值。
第一步:跑noise分析,设置合适的输入参考点和输出点。对BGR来说,输入参考点一般是运放的正输入端,输出点是BGR的输出节点。扫描频率范围建议从0.01Hz(或者0.001Hz,如果你的仿真器支持)到10倍带宽以上。
第二步:查看噪声贡献分布。主流仿真工具会给出每个器件的噪声贡献占比。你一眼就能看出,到底是运放输入管占大头,还是电阻占大头。
我列一个排查噪声贡献的实际案例,方便你参考。
| 噪声源 | 噪声贡献占比 | 排查方向 |
|---|---|---|
| 运放输入对管 | 45% | 增大W/L、加大偏置电流、考虑斩波 |
| 偏置电流镜 | 18% | 加大电流镜尺寸、降低沟道长度调制 |
| R2(反馈电阻) | 22% | 降低阻值、换用低噪声电阻材料 |
| BJT散粒噪声 | 8% | 增大BJT面积或电流 |
| 其他(电源、衬底等) | 7% | 检查guard ring和去耦电容 |
如果运放输入管占45%,你先别急着加大尺寸。先确认这个仿真是不是在目标带宽内积分后的占比。有些情况是低频段的1/f噪声主导,有些是中频热噪声主导,处理策略完全不同。
第三步:跑多个corner下的噪声仿真。TT、SS、FF、SF、FS都跑一遍。SS角下BJT的β可能低,导致基极电流变大,运放输入端等效噪声上升;FF角下电阻阻值可能偏低,噪声略微改善,但功耗上升。你要以最差corner的结果来判定设计裕量。
第四步:跑蒙特卡洛分析,评估失配引起的输出偏差和噪声统计分布。这一步对量产至关重要。如果蒙特卡洛显示输出偏差超过你的修调范围,就要增大器件面积来改善匹配。
5.2 大信号稳定性与启动问题
低噪声BGR容易忽略的一个重要风险是大信号稳定性。因为加了斩波、加了滤波器,环路里可能存在多个极点和多个零点,相位裕度可能变得很差。
斩波BGR里,斩波开关的导通电阻和后面的滤波电容构成额外的极点。这个极点的频率如果落在运放的单位增益带宽附近,会让相位裕度急剧恶化,导致输出振铃甚至振荡。
我之前遇到一个情况:BGR在温度仿真时,25℃下相位裕度68度,表现很好。但到了125℃,因为BJT的β和电阻值都变化了,相位裕度掉到35度,输出端出现明显的振铃。后来我在运放的设计里增加了一个零点,把相位裕度拉回到52度以上,同时牺牲了一些高频噪声性能。
启动问题也是老生常谈但必须验证的。BGR如果存在多个简并点,上电时可能锁在0电压状态。你需要在电源电压以不同斜率上升时进行瞬态仿真,确认每次都能可靠启动。启动电路在低噪声设计里要注意:它只在启动期间工作,启动完成后要完全关断,否则它的噪声会耦合到BGR核心。
5.3 低噪声BGR的版图实践
版图设计对低噪声BGR的影响,很多时候比电路设计还大。一个在原理上完美无缺的设计,如果版图布局不当,流片回来噪声性能能差上好几倍。
几个重点:
第一,敏感节点的屏蔽。BGR的输出节点和运放输入节点是芯片上最敏感的点之一,任何来自数字电路的耦合噪声都可能直接叠加到输出。这些节点的走线要短、要粗,必要时用上下接地金属层包裹,形成完整的屏蔽。
第二,隔离与guard ring。BGR旁边如果有高频数字模块,它的衬底噪声会通过衬底耦合到BJT和运放。周围要打足够多的衬底接触孔,形成连续的guard ring。如果工艺支持深N阱,把BGR下面的衬底用深N阱隔开,效果更明显。
第三,电阻的温度梯度匹配。电阻阵列要采用"温度敏感的方向一致"布局,避免芯片上的热点造成电阻间的温度梯度。BJT阵列用共质心结构,Q2的单位管围绕Q1分布。
第四,去耦电容的放置。BGR的电源引脚旁边加足够大的去耦电容,且电容要靠近BJT和运放的电源节点,而不是放在远离核心的芯片角落。
我在某项目里因为没有在BGR输出线外面加屏蔽层,结果流片回来后发现ADC的output code在某个数字模块活动时出现了毛刺,定位到原因就是数字噪声从BGR输出线耦合进来了。后来重新流片,加了屏蔽,问题消失。这种教训一次就够了。
6. 常见问题与排查技巧实录
6.1 输出噪声仿真很低,实测却超标
这是很多工程师最头疼的问题:仿真明明没问题,一上实测噪声就爆表。你第一反应别怀疑仿真模型,先查实验环境。
实测噪声超标的最常见原因:
- 电源纹波耦合。示波器或频谱仪测到的"噪声"实际上可能是电源上的开关纹波或数字噪声,通过测试板耦合进了BGR输出。排除方法:用低噪声LDO给BGR供电,或者在测试板上把电源和输出节点的布线分开。
- 地弹。BGR的地和数字电路的地没有分开,数字开关产生的接地反弹噪声直接叠加到输出。解决:单点接地,BGR的地单独走线。
- 探针或测试电缆的拾取。高阻节点用普通探头测噪声,探头本身会感应环境噪声。用有源探头或者直接片内测试缓冲器。
我见过最离谱的一个案例是:某同事实测BGR噪声超标,折腾了两个星期,最后发现是实验室空调的振动导致探头接触不良,时好时坏。所以怀疑噪声问题之前,先确认测量装置可靠。
6.2 温漂曲线出现"翘尾"或"下坠"
温漂曲线在高温段出现非单调变化,通常意味着高阶温度效应没有被补偿。检查点:
- BJT的VBE。如果偏置电流是用电阻粗调的,电阻的温度系数会让偏置电流随温度变化,进而改变VBE的温度特性。
- 运放的失调随温度漂移。虽然没有斩波,失调温漂也会在输出端体现为温漂。
- 电流镜的失配随温度变化。
排查方法:分别仿真各关键节点的温度曲线,找出谁是"元凶"。如果单纯用加大α来压温漂,噪声会恶化,要谨慎。
6.3 斩波纹波太大
斩波BGR的纹波问题可以从几个方向排查:
- 斩波频率是否足够高,以避开滤波器的通带
- 开关的电荷注入是否过大,用互补开关或者哑开关来改善
- 时钟的上升下降沿是否对称。非对称的时钟会引入失调
我通常会在小信号仿真时把斩波时钟的rise/fall time设为2ns左右,太大太小都不好。太大会引入额外噪声,太小会让馈通变得严重。
6.4 启动失败
启动失败在仿真中往往被忽略,因为仿真工具的初始条件可能直接给了正确的工作点。实际芯片上电时,电源上升率受外部影响很大,可能会让BGR掉进简并点。
解决思路:加一个上电复位型的启动电路,检测BGR输出电压,若低于某个阈值就注入启动电流。启动完成后检测到正常电压就关断。注意启动电路和主BGR之间要有足够的隔离,防止它在稳态时继续漏噪声。
7. 个人设计经验总结
这几年的BGR设计做下来,最深的体会是:低噪声BGR的设计本质是系统折中,而不是单点突破。你不可能把每一个指标都做到最优——噪声压低必然要功耗和面积买单,PSRR做高必然要牺牲环路带宽和稳定性,曲率校正做精细必然要引入额外的噪声源。设计者的功力就在于把有限的功耗和面积预算,分配到最能影响系统性能的地方。
我的习惯是在项目开始时花半天时间认真做一份噪声预算和拓扑选择的"尽职调查",而不是拿到指标就画电路。事实证明,这半天时间能省掉后面几周的返工。调试时也要遵循同样的原则:先问"噪声从哪来",再问"我怎么压",而不是一上来就盲目加大偏置电流。
另外,知识积累很重要。每一款流片的BGR数据、测试曲线、踩过的坑,都是后面设计最好的参考。我个人的资料库里永远保存着过去所有项目的噪声仿真截图和实测数据,每次设计新项目时先翻一遍,很多问题在方案阶段就能规避。
最后再分享一个实操小技巧:在做噪声仿真时,别只看输出端的积分噪声,一定要看噪声的频谱形状。如果低频段尖峰明显,大概率是1/f噪声主导,重点去解决运放面积;如果中高频平坦且高,大概率是热噪声主导,重点去压低等效电阻和改善偏置。对症下药,远比盲目优化有效得多。