1. 项目概述:三阶补偿带隙基准设计精要
在模拟IC设计领域,带隙基准电压源堪称电路设计的"定海神针"。最近完成的一个设计项目实现了1.9ppm/℃的超低温漂特性,这个指标在工业级温度范围(-40℃~125℃)内堪称顶尖水平。整个设计采用Cadence 618平台,基于61OA工艺库开发,核心架构在经典Brokaw结构基础上创新性地引入了三阶温度补偿机制。
这个设计的亮点不仅在于性能参数(14.47μA工作电流、-90dB的PSRR),更在于其完整的设计方法论。项目包包含37页技术文档,详细推导了补偿算法的数学原理,记录了完整的调试过程,甚至提供了预配置的虚拟机环境,确保设计结果的可复现性。对于模拟电路工程师而言,这类实战经验的价值远超过教科书上的理论公式。
2. 核心架构解析
2.1 温度补偿原理创新
传统带隙基准采用一阶温度补偿,其理论基础是双极性晶体管(BJT)的基极-发射极电压VBE具有约-2mV/℃的负温度系数,而热电压VT具有正温度系数。通过适当加权求和,理论上可以在特定温度点(通常是27℃)实现零温度系数。但实际应用中,这种线性补偿存在三个根本局限:
- VBE的非线性项(高阶温度项)在宽温区不可忽略
- 电阻温度系数(TCR)的非线性特性
- 工艺偏差导致的补偿点偏移
本设计采用的三阶补偿方案,其核心方程可表示为:
code复制VREF(T) = α·[VBE(T) + K·VT(T)] + β·T^2 + γ·T^3
其中α、β、γ为补偿系数,通过多项式展开精确抵消VBE的高阶项。文档中第12-19页详细推导了如何将BJT的物理模型(Gummel-Poon模型)与电阻的二次温度系数模型联立求解。
2.2 电路实现细节
主电路采用改进型Brokaw架构,关键创新点在补偿网络设计。图1所示的MOM电容阵列实现了三个重要功能:
- 提供相位补偿确保稳定性
- 作为温度系数的调节元件
- 抑制电源噪声耦合
电流镜部分采用3:5:2的W/L比例并非随意选择,这个比例经过严格推导:
- 3:5的比例确保PTAT电流的精确复制
- 2:5的比例生成补偿网络所需的非线性电流
- 共质心布局将失配误差降低60%以上
3. 设计实现流程
3.1 仿真环境搭建
使用Cadence Virtuoso 618和Spectre仿真器,工艺库采用61OA格式。关键仿真设置包括:
- 温度扫描:-40℃到125℃以5℃为步进
- Corner分析:tt/ss/ff/sf/fs五种工艺角
- Monte Carlo分析:100次采样,启用mismatch选项
推荐的仿真脚本如下:
skill复制simulator('spectre)
analysis('dc ?saveOppoint t)
for(temp -40 125 5
desVar("temp" temp)
run()
Vref = value(v("/Vref") ?result 'dc)
fprintf(results "%.2f,%.6f\n" temp Vref)
)
3.2 参数优化方法
偏置电流14.47μA的确定过程值得深入探讨。这个数值是通过求解以下约束方程得到的:
code复制minimize [ Power + λ·Noise ]
subject to:
gm/ID > 15
VDSAT < 150mV
PSRR > -90dB
文档中第23页给出了完整的拉格朗日乘数法推导过程。实际调试时,可以通过交互式命令动态调整:
skill复制procedure(optimizeBias()
let((target current)
target = 14.47u
for(r 20k 18k -0.1k
desVar("R_bias" r)
run()
if(abs(OP("I_ref")-target)<0.1u then
printf("Optimal R_bias = %.3fk\n" r/1k)
return(r)
)
)
)
)
4. 关键问题解决方案
4.1 温漂曲线异常处理
在后仿真阶段,曾出现温漂曲线呈现"双峰"现象(图2)。问题根源在于:
- 衬偏效应导致MOSFET阈值电压非线性变化
- 电阻网络的寄生参数影响
解决方案分三步实施:
- 增加dummy电阻平衡寄生效应
- 调整补偿网络的零极点分布
- 优化版图匹配策略
调试中用到的关键诊断命令:
skill复制; 提取三阶导数判断补偿效果
deriv = deriv(deriv(deriv(VrefTempWave)))
cross = cross(deriv 0 1 'rising)
4.2 PSRR优化技巧
达到-90dB的电源抑制比需要多重措施:
- 采用cascode结构的所有电流镜
- 电源滤波网络采用RC低通+有源滤波
- 关键节点添加decoupling电容
特别需要注意的是,版图实现时必须:
- 确保电源走线足够宽(>5μm)
- 敏感信号用guard ring包围
- 深N阱隔离噪声耦合
5. 设计验证方法论
5.1 温度系数计算
温度系数的精确计算不能简单用首尾两点法,推荐采用最小二乘拟合:
skill复制temp = linspace(-40 125 34)
vref = drGetWaveform("dc" "Vref")
coef = polyfit(temp vref 3)
ppm = (max(vref)-min(vref))/1.2/(max(temp)-min(temp))*1e6
5.2 工艺角分析策略
建议的corner分析优先级:
- 先进行tt/ss/ff三种基础corner验证
- 再检查resistor和cap的极端组合(rcmax/rcmin)
- 最后进行蒙特卡洛分析
关键判断标准:
- 所有corner下温漂<5ppm/℃
- 启动时间<200μs
- 功耗<25μA
6. 版图设计要点
成功的带隙基准设计30%取决于电路,70%在于版图实现。必须特别注意:
- BJT器件必须采用共质心布局
- 匹配电阻采用交叉耦合走线
- 补偿电容阵列采用均匀分布
- 电源线采用星型拓扑结构
图3展示了完整的版图实例,其中:
- 红色区域为温度敏感部分
- 蓝色框内是噪声隔离区
- 绿色走线为关键信号路径
7. 实测数据与优化
实验室实测数据显示:
- 最佳温漂:1.7ppm/℃(-20℃~85℃)
- 典型功耗:14.3μA@1.8V
- PSRR:-92dB@100Hz
与仿真结果的偏差主要来自:
- 封装应力效应(约0.3ppm/℃)
- 测试板寄生参数
- 探针接触电阻
8. 进阶调试技巧
文档中埋藏的几个实用技巧:
- 用wavescan的FFT功能分析PSRR
- 通过dcOpCheck诊断启动问题
- 利用参数化单元快速迭代补偿网络
例如,判断补偿效果的快速方法:
skill复制; 在ADE中定义计算器函数
temp = get_data("dc" "temp")
vref = get_data("dc" "Vref")
fit = polyfit(temp vref 3)
residual = std(vref - polyval(fit temp))
if(residual < 10u then
printf("Compensation adequate!\n")
)
这个设计最宝贵的经验是:模拟电路设计既是科学也是艺术,理论计算提供方向,但最终要靠实验数据说话。那些文档中记录的十几个调试案例,每个都代表着数小时的仿真和思考,这才是真正值钱的部分。
