拓冰建站拓冰建站
首页 / 资讯中心 / 正文

低功耗Bandgap设计实战:从结构选型到版图漏电避坑指南

前阵子做一颗给助听器SoC用的bandgap系统给的预算只有300nA温度范围-40到85度输出精度要求在全工艺角下偏差不超过±5%。第一版流片回来功能全对功耗也达标但高温段温度系数漂得离谱光是排查版图漏电就花了两周。回头想想低功耗bandgap结构这个题目表面上是电流预算和电路结构的选择真正难的是电流缩小之后一系列二阶效应开始占据主导。这篇文章不打算从教科书原理讲起——那些东西翻拉扎维和艾伦都写得比我清楚。我想从一个做过多次低功耗bandgap、踩过坑也吃过教训的工程师视角聊聊这个模块在工程落地时真正绕不开的东西结构怎么选、功耗降到什么级别会出现麻烦、简并点怎么仿真才靠得住、版图和实测里有哪些文档不会写但每回都会遇到的坑。内容偏实践适合正在做低功耗芯片的模拟工程师以及准备拿bandgap练手的研究生。1. 低功耗bandgap问题的本质省电流从来不是省事的捷径1.1 一片低功耗芯片里bandgap的功耗预算通常是多少在IoT传感器节点、助听器、植入式医疗芯片这些场景里系统总电流预算常常只有几微安到几十微安。bandgap作为给LDO、ADC、比较器提供基准电压的模块通常会占到总预算的5%到20%。比如一颗总电流3μA的传感器SoC分给bandgap的预算就落在300nA到600nA之间而做极低功耗的RTC芯片bandgap甚至要压到100nA以下。很多人会觉得100nA到300nA的电流不难做反正把所有支路电流都缩小就是了。但问题在于你的bandgap不只是要“能工作”还要在-40到125度的范围内保持稳定的输出电压在全工艺角下不失效并且在上电时能可靠启动。电流缩小的同时这些工程约束全部还在这才是真正的难点。以我常用的估算方式bandgap核心电流 左边PNP支路 右边PNP支路 运放尾电流 分压电阻电流 启动电路漏电。在300nA的预算下留给运放的通常只有30到50nA两个核心支路各100nA左右分压电阻再占几十nA。这意味着运放的每个管子几乎都必须工作在亚阈值区。1.2 电流变小之后哪些参数悄悄劣化低功耗bandgap的精度损失主要来自四个方向第一是失调电压的占比急剧上升。运放输入对管的失调Vos会直接折算到输出电压上误差约为Vos乘以一个增益系数。常规设计里这个系数大约在1到2之间。电流小意味着过驱动电压Vov小输入管必须用更大的宽长比来抑制失配而大尺寸又带来更大的寄生电容。最后失调还是比常规功耗设计大通常能到5到10mV折算到基准输出就是0.5%到1%的偏差。第二是1/f噪声和热噪声都变大。亚阈值区MOS管的跨导gm比强反型区小噪声等效电压自然上去。对于只需要给比较器提供基准的应用噪声指标可能无所谓但如果bandgap后面带的是高精度ADC低噪声就变成硬指标。第三是漏电占比不可忽略。250nA级别的支路电流在高温下和反向二极管漏电、栅氧漏电、隔离环漏电处在同一个数量级。125度时一个标准NMOS的源漏漏电就可能到几十pA到几nA如果版图上保护环画得不好漏电吃掉5%到10%的预算电流是常有的事。第四是启动变慢且更容易失败。反馈环路在低电流下带宽极低上电后环路建立时间可能要到毫秒级。如果在系统里没有给足上电时序输出可能停在中间状态表现为基准电压偏低但系统不报警。这四点决定了低功耗bandgap结构设计不能简单按比例缩小传统电路而是要从结构上选择更适合低电流工作的工作区和拓扑。2. 三种可落地的低功耗bandgap结构选型对比2.1 经典PNP结构降到1μA以下就开始不老实经典结构就是用寄生PNP的VBE负温度系数和ΔVBE正温度系数叠加产生约1.2V或0.6V的分压版本。这种结构的好处是成熟、匹配模型准、工艺厂商给的都是经过验证的PNP模型。我在0.18μm BCD工艺上做过1μA级别的经典bandgap精度和温漂都很稳。但当预算降到300nA以下经典结构就有些吃力了。原因很直接为了产生同样大小的ΔVBE电阻上的电流小想要维持PTAT电压就需要极大的电阻。比如ΔVBEVT·ln(N)在N8时约54mV如果电流只有100nA电阻就要540KΩ。而两个核心支路加上运放整颗bandgap的电阻面积可能占模块面积的一半以上。另一种做法是增大N来降低所需电阻比如N64时ΔVBE约108mV但PNP的面积会变大而且大N下PNP的串联电阻会把ΔVBE压弯温度线性度变差。实测下来经典PNP结构在总电流低于500nA时要么面积失控要么温度系数劣化到50ppm以上。所以我的经验是预算在1μA以上经典结构是首选想做到几百nA得换思路。2.2 亚阈值全MOS结构省掉电阻和双极管的另一条路全MOS bandgap的核心思想是利用工作在亚阈值区的NMOS管来代替双极晶体管。亚阈值区MOS管的漏电流和栅源电压呈指数关系表达式和BJT的VBE特性非常相似ID ID0 · (W/L) · exp((VGS - VTH)/(n·VT)) · (1 - exp(-VDS/VT))在VDS大于约4倍的VT之后最后的漏电流项可以忽略VGS就等于VTH加上一个和电流对数成正比的量。于是两个不同尺寸、电流密度不同的NMOS管之间的ΔVGS就天然构成了PTAT电压源。加上一个负温度系数的VGS本身亚阈值区MOS的VGS在固定电流下有约-1mV/°C到-2mV/°C的温度系数两者叠加就能做出带隙基准。这个结构最大的优势是没有双极管也不需要大电阻。电流路径上通常只需要几个MOS管和一个小尺寸电阻微调温度系数。在65nm以下的先进工艺里做全MOS bandgap比找优质寄生PNP还方便。但全MOS结构也有它的麻烦亚阈值区MOS管的VTH温度特性、迁移率温度特性、n因子都跟工艺强相关工艺角变化比BJT大得多。如果不做校准全MOS bandgap的输出精度很难达到2%以内。我自己在55nm工艺上流过一版全MOS结构TT角仿真温度系数能做到10ppm以下但换到SS和FF角偏差直接跑到±6%。2.3 开关电容动态结构数字工艺下的低功耗思路开关电容bandgap的思路是不用持续的电流来建立PTAT电压而是周期性地对电容充电、比较、反馈。稳态下平均电流可以做得非常低功耗由开关频率和电容大小决定。这种结构适合那种“系统本来就要周期性唤醒”的芯片——比如每秒醒来一次的传感器节点bandgap可以跟着断续工作。这个方案的优点是电流可以压到几十nA而且不需要大电阻适合纯数字工艺。缺点是输出有纹波需要额外的采样保持电路而且开关时钟的电荷注入和时钟馈通会引入误差。实际设计中开关电容bandgap的输出精度一般不如连续时间结构。我见过把它用在超低功耗比较器基准里的案例但用在ADC基准上就很少见。2.4 我的选型结论如果让我给一个粗略的选型判断需求推荐结构理由总功耗1μA高精度经典PNP结构匹配好、模型成熟、温漂可做到20ppm总功耗300nA~1μA经典PNP/亚阈值MOS混合核心用PNP运放做亚阈值面积可控总功耗300nA对精度要求相对宽松全MOS或开关电容结构避开大电阻兼容数字工艺纯数字工艺无寄生PNP全MOS结构不依赖BJT可移植性好当然这只是起点。实际项目里还要看有没有校准时序、温度范围、老化要求等这些会推翻表格里的结论。但作为选型的第一步这个判断标准帮我避过不少弯路。3. 一个完整的200nA级bandgap设计过程3.1 先定架构和电流分配下面用一个我最近做的实际案例展开目标总电流200nA含基准输出buffer输出0.6V温度范围-40到85度全工艺角输出偏差不超过±5%。架构上我最终选了经典PNP核心加亚阈值运放的混合结构。PNP用8:1的阵列提供可靠的正温度系数电压运放输入对和负载管全部工作在亚阈值区以压低功耗分压电阻用了高阻poly方块阻值1KΩ/方。电流分配是PNP核心支路左右各80nA 运放尾电流30nA 分压电阻链10nA 启动电路静态电流几乎为0。合计200nA内。这里有个细节PNP核心支路用80nA而不是更低是因为PNP在极低电流下串联电阻和漏电的影响会明显导致ΔVBE偏离理论值。80nA是我在温差精度和功耗之间反复折中的结果。3.2 电阻、MOS管和运放的具体设计参数电阻计算。取N8ΔVBE25°C 25.85mV·ln(8) ≈ 53.8mV。单臂电流80nA那么两支路的电阻总和为R 53.8mV / 80nA ≈ 672KΩ。这些电阻需要消耗面积672KΩ / 1KΩ每方 672个方块。每个方块在0.18μm工艺下大约是2μm×2μm算上间距大约需要0.005mm²左右还能接受。如果换成用100nA电流电阻降到538KΩ但PNP支路功耗只多了20nA这个交换在面积更敏感的项目里值得做。运放设计因为尾电流只有30nA输入对管必须用PMOS且在亚阈值区。我用的尺寸是W/L20μm/4μm这样在30nA尾电流下每个输入管的漏电流15nA对应的VGS约比VTH低120mV左右确实处于弱反型区。输入对管的面积大主要是为了压低失配1σ失配可以控制在3mV以内。负载用NMOS电流镜同样是大尺寸弱反型。两级运放的增益大约60dB带宽只有几十kHz但对bandgap的直流建立来说完全够用。相位裕度在65度左右不会振荡。分压电阻链为了输出0.6V在核心输出的1.2V上用两个等值电阻分压。电阻链上加了一个10nA的电流这个电流要纳入预算。实际上这个10nA不是必须的——如果后面接的是高阻输入buffer分压电阻可以直接省掉但为了抗噪声和给测试提供低阻抗节点我保留了这个功耗。3.3 仿真验证温度系数、线性调整率、噪声和功耗DC温度扫描是最基本的-40到85度步长5度跑TT、SS、FF、SF、FS五个工艺角。我在这个设计里得到的温度系数曲线TT角大约12ppm/°CFF角约18ppm/°C最差的SS角到了30ppm/°C。这个结果不算漂亮但对于目标±5%的精度要求已经充裕。线性调整率仿真电源电压从1.0V扫到1.8V输出电压变化约1.2mV。低功耗运放的增益有限这个结果即便不惊艳也完全够用。噪声仿真需要特别注意。低频段的1/f噪声在bandgap输出端会耦合到后面的比较器或ADC。我习惯看0.1Hz到10Hz的峰峰值噪声这个设计大约在30μVpp量级。如果对噪声有更高要求唯一的办法是加大输入管面积用功耗换噪声。功耗仿真别只跑一个角落。CMOS工艺在SS角、85度下漏电最大总电流可能比TT角高30%以上。所以我在设计目标是200nA的基础上实际流片验收标准留了20%的余量只要在SS/85度下不超过240nA就算通过。4. 简并点仿真与启动电路低功耗bandgap的翻车高发区4.1 简并点仿真到底怎么跑很多刚接触bandgap的人搞不清简并点仿真该怎么操作甚至有的项目组只做上电瞬态仿真看到输出能到1.2V就觉得启动没问题。这远远不够。简并点的含义是bandgap反馈环路存在多个稳定工作点。正常工作时反馈把输出电压稳定在1.2V但如果上电瞬间所有管子都没有电流环路也可能稳定在“所有电流为零”的状态输出为0V电路永远不会自己醒过来。最标准的仿真方法是在反馈环路的任意一个高阻节点上并联一个理想电流源从0开始扫描电流到正常工作电流观察输出电压是否有跳变。如果没有跳变说明电路从零电流点直接进入了正常点如果曲线只是缓慢上升说明没有负阻效应启动可能正常如果输出电压突然从0跳到1.2V说明存在简并点但外面注入的电流把电路推出了零电流点——这个正好验证了启动电路有效的条件。另外一个更贴近实际的做法是扫电源电压VDD从0开始缓慢上升到额定值观察输出是否跟随。如果输出一直为0直到某个电压才跳起来说明启动电路在缓慢上电时仍然有效。但要注意这种仿真跑得很慢且只能验证一个上电斜率。真实系统里上电斜率可能从微秒级到毫秒级都有最好至少跑三个不同斜率。4.2 低功耗启动电路的设计思路启动电路的基本原则是上电时向bandgap核心注入一路额外的电流打破零电流平衡当电路进入正常工作状态后启动电路要自动关断否则会持续消耗功耗、干扰温度系数。200nA级的bandgap启动电路本身也必须低功耗。我常用的方案是一个简单的比较式启动电路用一个电阻分压检测VDD当VDD超过某个阈值时启动MOS管从VDD向bandgap的核心节点注入电流当核心电压建立到设定值附近后由输出反馈关断启动管这个方案听起来简单实际坑很多。如果启动管的尺寸太大注入电流过猛会让核心直接从零电流点翻到过冲状态甚至引发振荡如果太小又无法把核心从零电流点拉出来。我在设计里给出的经验值是启动电流大约是核心支路正常电流的2到3倍持续时间为微秒级。200nA的设计里启动管瞬态流过约500nA随后被关断到只剩几十pA。还有一个容易忽略的问题启动电路本身在温度变化下可能误触发或误关断。比如低温时VTH升高启动阈值偏移可能导致启动管在核心已经建立之后仍然半开。所以启动电路的仿真要覆盖全温度范围。我习惯在每个工艺角都扫-40、25、85三个温度点确保启动干净利落。4.3 上电顺序和全PVT验证中容易漏掉的场景除了标准的全PVT工艺角×电压×温度组合低功耗bandgap还有一些特殊场景需要验证。第一个是“掉电再快速重上电”。系统里如果bandgap供电是LDO输出快速掉电时负载电容上可能残留电荷再上电时bandgap会从非零初始状态启动。这时启动电路的行为跟从零开始完全不同。我实际遇到过电路在VDD从0.9V跌到0.3V再升回0.9V时始终停在简并点不恢复。排查之后发现是启动电路检测的是VDD分压但分压电容上有残留电荷导致启动管关断太早。第二个是“低电源电压下的启动失败”。在1.1V额定电压下如果工艺角为SS且温度-40度VTH升高bandgap核心的可用headroom变小反馈环路增益下降启动电流的裕量也可能不够。建议跑一下“VDD ramp到额定值后额外等待10ms再开始采样”的瞬态仿真确保输出已经完全稳定。第三个是“输出端负载电容的大小”。bandgap输出通常会挂一个几十pF的去耦电容。这个电容在启动时可以协助稳定但也可能延迟输出建立。如果在系统里看到bandgap输出建立时间过长先检查这个电容上有没有被其他电路预充电。5. 版图与实测低功耗bandgap的真实挑战5.1 版图匹配与寄生漏电回到开头说的那个助听器SoC项目。第一版流片回来室温下各项指标正常但到85度时电流超了预算20%输出温度系数也明显偏离仿真。查到最后问题出在版图寄生漏电上。低功耗bandgap的支路电流只有几十纳安而版图里任何一条隔离环、任何一个大面积金属走线到衬底的漏电都可能达到几纳安甚至几十纳安。我当时的PNP阵列周围画了一圈P保护环来隔离衬底噪声但保护环本身接了地在高温下形成一个正向偏置的寄生二极管漏电直接灌进了bandgap的核心地把支路电流天平破坏了。解决办法是把保护环的接法重新设计隔离环不需要接到核心地节点而是接到一个独立的、不参与核心电流镜像的PAD或地。这样漏电就不会流入敏感的核心支路。版图匹配方面低功耗设计里PNP阵列和电阻的温度漂移更容易受应力影响。我建议PNP阵列使用共质心布局并且周围加一圈dummy高阻poly电阻要用三明治屏蔽避免走线噪声耦合。5.2 实测中的功耗超预期问题把裸片放进测试座实际测到的总电流经常比仿真高。常见来源有一是IO电路和ESD的漏电。有些IO结构在高温下漏电很大如果你在测试板上把IO和bandgap供电混在一起测出来的“bandgap功耗”其实包含了IO漏电。这种问题容易被忽略我习惯在测试时单独给bandgap供电用独立引脚测量。二是基准输出端悬空与否。bandgap输出如果接了测试板走线、示波器探头、甚至是静电计输入这些外部负载的漏电流也会被算进总电流。测试低功耗bandgap要用高输入阻抗的buffer隔离或者用带三同轴屏蔽的探针台。三是芯片内部其他模块的漏电串扰。一颗SoC里往往有几十个模块共享一个LDO输出虽然每个模块都有switch关断但开关晶体管本身在高温下的漏电会把电流从bandgap的电源节点“偷走”。这一点在仿真时如果没做整芯片功耗验证实测就会大吃一惊。我现在的流程是流片前必跑一次全芯片数字域的漏电估算把各个模块的关闭漏电汇总确认不会占用bandgap的预算。5.3 温漂校准和量产考虑低功耗bandgap在全工艺角下的温漂很难做到和生产级高精度带隙一样好看。实际量产时通常需要校准。校准点一般选室温单点校准在25度下测输出电压和标称值比对通过芯片内部的校准DAC或trim pin调整电阻比例校准后输出精度能收窄到±1%以内校准之后温度系数的形状不会变化只是整体平移所以把温漂从30ppm优化到15ppm仍然要靠设计本身。我的经验是如果要严格控制量产良率设计时就要把每一个工艺角的温度系数曲线都算清楚确定最差角的余量。校准DAC的阶梯不要太大否则会导致校准后输出跳变形成良率空洞。更稳妥的做法是让校准DAC的步进小于bandgap输出精度的1/4。比如目标精度±1%即±6mV校准步进就控制在1.5mV以内。另一个量产相关的细节是封装应力。塑料封装在固化时会产生机械应力导致bandgap输出电压偏移。低功耗设计里的高阻poly电阻和PNP阵列对压阻效应特别敏感。如果测试发现封装前后输出电压漂移超过2mV建议在版图上把敏感器件放到芯片中心远离封装应力集中区域。6. 写在调试之后低功耗bandgap调试中的几个实用习惯最后分享几个我在多轮流片和调试中沉淀下来的习惯它们算不上高大上但每次都帮我快速定位问题。第一拿到测试数据先别急着调电路先把“电流分布”算清楚。不要只测总电流。如果芯片允许分别量bandgap核心、运放、分压电阻链、启动电路每个部分的电流。低功耗设计里“总电流达标但工作点不对”是最常见的假象单独看核心支路电流才能暴露问题。第二温度箱里的数据要等彻底稳定再读。低功耗bandgap的热时间常数比常规电路大因为电流小、发热少芯片温度跟随环境温度变化更慢。我试过在温度箱显示到85度后立刻读数据结果读出的其实是80度左右的电压。正确做法是每个温度点稳定5分钟后再测。第三多画一张“预期电压-温度曲线图”把仿真各工艺角的值和实测值叠在一起看。如果实测曲线只是整体平移通常说明是失配造成的偏移如果斜率变了说明温度系数结构有问题如果有跳变点多半是启动电路或漏电路径在某个温度下触发了。这个方法能极大缩短排查时间。低功耗bandgap结构本身不算特别复杂的电路但它踩中的是模拟设计里最基本的矛盾功耗、精度、可靠的折中。把电流压到几百纳安之后每个细节都被放大这也是为什么做低功耗比做高速更能检验一个工程师对器件物理和版图细节的理解。希望这篇分享能让你少走一些我走过的弯路。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门