【模拟CMOS集成电路设计】带隙基准(Bandgap)设计与仿真(基于运放的电流模BGR)
【模拟CMOS集成电路设计】带隙基准(Bandgap)设计与仿真
- 前言
- 工程文件&部分参数计算过程,私聊~
- 一、 设计指标
- 指标分析:
- 二、 电路分析
- 三、 仿真
- 3.1仿真电路图
- 3.2仿真结果
- (1)运放增益
- (2)基准温度系数仿真
- (3)瞬态启动仿真
- (4)静态电流仿真
- (5)线性调整率仿真
- (6)电源抑制PSR仿真
- 四、仿真结果汇总
- 五、总结
- 六、附件(参数计算+工程文件)
前言
此次设计,使用电流镜结构为基础的 B a n d g a p Bandgap Bandgap 来满足设计指标,主要目标是在结构简单的前提下满足设计指标要求,本文供学习参考。
关于 B G R BGR BGR 的基础,可以看【笔记:模拟MOS集成电路】带隙基准(基本原理+电流模+电压模电路详解)
文末附带核心管支路关键参数计算方法
工程文件&部分参数计算过程,私聊~
一、 设计指标
本次设计指标,如表1所示

(*线性调节率指输出基准电压随直流VDD的变化率,电源电压从电路正常工作的最小电压起到额定电源电压为止)
指标分析:
本次Bandgap设计,选用的工艺是 T S M C 18 µ m TSMC 18µm TSMC18µm工艺,采用运放结构为基础,设计参数要求电源抑制 P S R < − 50 d B PSR < -50dB PSR<−50dB ,如果不考虑具体电路,可以通过提升运放增益、减小BGR输出阻抗和Cascode结构提升PSR性能。
以减小 B G R BGR BGR 输出阻抗提升 P S R PSR PSR 为例进行电路设计,此时 P S R PSR PSR 和整体功耗相互折中,一方面是运放增益尽可能大,另一方面是因为低的输出阻抗会需要大的电流偏置,如果PSR要求放宽,功耗可以迅速下降。
考虑到功耗指标,对电流进行分配,自偏置电流镜两支路共分配 10 µ A 10 µA 10µA,运放分配 80 µ A 80µA 80µA,两路核心管分别分配 10 µ A 10µA 10µA ,剩余电流分配给输出级。
本次设计电源电压 3.3 V 3.3V 3.3V,对于TSMC18工艺, “ p m o s 3 v ” “pmos3v” “pmos3v” 晶体管, NMOS器件,选取 “ n m o s 3 v ” “nmos3v” “nmos3v” 晶体管。
优化措施也有很多,比如更换运放结构、采用Cascode层叠电流镜和单位增益的运放输出buffer等,都可以显著降低PSR然后减小功耗,但是电路会复杂一丢丢。
二、 电路分析
通过对表1的指标分析,搭建的电路如图2.1所示。

B G R BGR BGR 原理此处不再赘述,关于 B G R BGR BGR 的基础,参考:
【笔记:模拟MOS集成电路】带隙基准(基本原理+电流模+电压模电路详解)
另一个电路结构是采用cascode电流镜的结构:
【模拟CMOS集成电路设计】带隙基准(Bandgap)设计与仿真(基于cascode电流镜的电流模BGR)
这种方案的功耗会小很多,此次设计中,因为运放增益相对不高,并没有把“基于运放结构的BGR”优势完全发挥出来,最常见的优化措施,放文章末尾了。下面继续本次设计,输出电压可以表示为:

对上式求导,得到

典型情况下, ∂ V B E / ∂ T ≈ − 2 m V / K ∂V_{BE}/∂T≈-2mV/K ∂VBE/∂T≈−2mV/K,令 ∂ V r e f / ∂ T = 0 ∂V_{ref}/∂T=0 ∂Vref/∂T=0,选取合适的 N N N值,可以得到 R 1 / R 4 R_1/R_4 R1/R4的关系;然后在 V B VB VB节点应用 K C L KCL KCL,设定核心管的静态电流 I Q I_Q IQ,便可解的具体的 R 1 R 3 R_1~R_3 R1 R3的具体值;最后根据输出电流镜的复制比 M M M,乘以静态电流 I Q I_Q IQ,得到输出支路电流 I o u t I_{out} Iout,最终的参考电压是 I o u t R 4 I_{out}R_4 IoutR4。至此得到 B G R BGR BGR所有设计参数。
更详细计算过程,看第六部分内容~。
三、 仿真
3.1仿真电路图

3.2仿真结果
(1)运放增益
通过 a c ac ac 仿真,仿真得到运放的增益为 58.637 d B 58.637dB 58.637dB,仿真结果如图3.1所示。

(2)基准温度系数仿真
通过 d c dc dc 仿真,将温度从 − 25 -25 −25~ 125 ℃ 125℃ 125℃进行扫描,观察输出波形,温度特性良好,基准温度系数: T C V = V m a x − V m i n V r e f × ( T m a x − T m i n ) × 1 0 6 = 8.46 p p m / C TCV=\frac{V_{max}-V_{min}}{V_{ref}\times(T_{max}-T_{min})}\times10^{6}=8.46ppm/C TCV=Vref×(Tmax−Tmin)Vmax−Vmin×106=8.46ppm/C,测试结果如图3.3所示。

(3)瞬态启动仿真
通过 t r a n tran tran 仿真,通过图3.4,该电路可正常启动。

(4)静态电流仿真
通过 t r a n tran tran 仿真,电路稳定时,所有支路的总电流, 209 µ A 209µA 209µA。

(5)线性调整率仿真
通过 d c dc dc 仿真将电源电压从 0 3.3 V 0~3.3V 0 3.3V 进行扫描,在正常工作电源电压下,测量输出线性调整率: S L I N E = V m a x − V m i n V r e f × 100 % = 1.03 m V / V S_{LINE}=\frac{V_{max}-V_{min}}{V_{ref}}\times100\%=1.03\mathrm{mV/V} SLINE=VrefVmax−Vmin×100%=1.03mV/V

(6)电源抑制PSR仿真
通过 a c ac ac 仿真,在电源电压加小信号波动,观察输出,测量 P S R PSR PSR,通过图3.5可知,在低频为 P S R = − 50.8 d B PSR = -50.8dB PSR=−50.8dB,最高 P S R = − 19.4 d B PSR = -19.4dB PSR=−19.4dB。

四、仿真结果汇总
本次 B a n d g a p Bandgap Bandgap设计,通过仿真测得相关参数,结果汇总如表2所示。

五、总结
本次Bandgap设计,通过基于运放结构的电路模BGR,因为最终要压低 P S R PSR PSR,所以减小了负载电阻,为了实现特定输出电压,需要进一步提升输出电流,因此功耗有些高,如前所示,优化措施也有很多,
(1) 更换运放结构实现更大的增益;
(2) 采用 C a s c o d e Cascode Cascode 层叠电流镜复制电流,有效提升 P S R PSR PSR;
(3) 运放和电流镜栅极之间插入单位增益的运放输出 b u f f e r buffer buffer 如图所示。

六、附件(参数计算+工程文件)
私聊~
相关文章:
【模拟CMOS集成电路设计】带隙基准(Bandgap)设计与仿真(基于运放的电流模BGR)
【模拟CMOS集成电路设计】带隙基准(Bandgap)设计与仿真 前言工程文件&部分参数计算过程,私聊~ 一、 设计指标指标分析: 二、 电路分析三、 仿真3.1仿真电路图3.2仿真结果(1)运放增益(2)基准温度系数仿真(3)瞬态启动仿真(4)静态…...
如何选择国产串口屏?
目录 1、迪文 2、淘晶驰 3、广州大彩 4、金玺智控 5、欣瑞达 6、富莱新 7、冠显 8、有彩 串口屏,顾名思义,就是通过串口通信接口(如RS232、RS485、TTL UART等)与主控设备进行通信的显示屏。其核心功能是显示信息和接收输入…...
Solana中的程序派生地址(PDAs):是什么,为什么,以及如何?
程序派生地址 (PDA) 在 Solana 中的应用:什么、为什么和如何? 在学习 Solana 时,你会经常听到关于 程序派生地址 (PDAs) 的讨论。它们就像这样 —— 强大、多功能,而且最重要的是,稍微被误解。如果你是一个开发者&…...
利用FatJar彻底解决Jar包冲突(一)
利用FatJar彻底解决Jar包冲突 序FatJar的加载与隔离⼀、 FatJar概念⼆、FatJar的加载三、FatJar的隔离四、隔离机制验证五、 FatJar的定位六、 打包注意点 序 今天整理旧电脑里的资料,偶然翻到大概10年前实习时写的笔记,之前经常遇到Java依赖冲突的问题…...
Spring MVC笔记
01 什么是Spring MVC Spring MVC 是 Spring 框架中的一个核心模块,专门用于构建 Web 应用程序。它基于经典的 MVC 设计模式(Model-View-Controller),但通过 Spring 的特性(如依赖注入、注解驱动)大幅简化了…...
BurpSuite插件jsEncrypter使用教程
一、前言 在当今Web应用安全测试中,前端加密已成为开发者保护敏感数据的常用手段。然而,这也给安全测试人员带来了挑战,传统的抓包方式难以获取明文数据,测试效率大打折扣。BurpSuite作为一款强大的Web安全测试工具,其…...
【C#实现手写Ollama服务交互,实现本地模型对话】
前言 C#手写Ollama服务交互,实现本地模型对话 最近使用C#调用OllamaSharpe库实现Ollama本地对话,然后思考着能否自己实现这个功能。经过一番查找,和查看OllamaSharpe源码发现确实可以。其实就是开启Ollama服务后,发送HTTP请求&a…...
Android Glide 框架线程管理模块原理的源码级别深入分析
一、引言 在现代的 Android 应用开发中,图片加载是一个常见且重要的功能。Glide 作为一款广泛使用的图片加载框架,以其高效、灵活和易用的特点受到了开发者的青睐。其中,线程管理模块是 Glide 框架中至关重要的一部分,它负责协调…...
每天记录一道Java面试题---day32
MySQL索引的数据结构、各自优劣 回答重点 B树:是一个平衡的多叉树,从根节点到每个叶子节点的高度差不超过1,而且同层级的节点间有指针相互连接。在B树上的常规检索,从根节点到叶子节点的搜索效率基本相当,不会出现大…...
Vue3 Pinia 符合直觉的Vue.js状态管理库
Pinia 符合直觉的Vue.js状态管理库 什么时候使用Pinia 当两个关系非常远的组件,要传递参数时使用Pinia组件的公共参数使用Pinia...
深度学习与大模型基础-向量
大家好!今天我们来聊聊向量(Vector)。别被这个词吓到,其实向量在我们的生活中无处不在,只是我们没注意罢了。 1. 向量是什么? 简单来说,向量就是有大小和方向的量。比如你从家走到学校&#x…...
【网络编程】完成端口 IOCP
10.11 完成端口 10.11.1 基本概念 完成端口的全称是I/O 完成端口,英文为IOCP(I/O Completion Port) 。IOCP是一个异 步I/O 的 API, 可以高效地将I/O 事件通知给应用程序。与使用select() 或是其他异步方法不同 的是,一个套接字与一个完成端口关联了起来…...
《苍穹外卖》SpringBoot后端开发项目重点知识整理(DAY1 to DAY3)
目录 一、在本地部署并启动Nginx服务1. 解压Nginx压缩包2. 启动Nginx服务3. 验证Nginx是否启动成功: 二、导入接口文档1. 黑马程序员提供的YApi平台2. YApi Pro平台3. 推荐工具:Apifox 三、Swagger1. 常用注解1.1 Api与ApiModel1.2 ApiModelProperty与Ap…...
管理网络安全
防火墙在 Linux 系统安全中有哪些重要的作用? 防火墙作为网络安全的第一道防线,能够根据预设的规则,对进出系统的网络流量进行严格筛选。它可以阻止未经授权的外部访问,只允许符合规则的流量进入系统,从而保护系统免受…...
明日直播|Go IoT 开发平台,开启万物智联新征程
在物联网技术飞速发展的当下,物联网行业却深受协议碎片化、生态封闭、开发低效等难题的困扰。企业和开发者们渴望找到一个能突破这些困境,实现高效、便捷开发的有力工具。 3 月 11 日(星期二)19:00,GitCode 特别邀请独…...
系统架构设计师—系统架构设计篇—软件架构风格
文章目录 概述经典体系结构风格数据流风格批处理管道过滤器对比 调用/返回风格主程序/子程序面向对象架构风格层次架构风格 独立构件风格进程通信事件驱动的系统 虚拟机风格解释器基于规则的系统 仓库风格(数据共享风格)数据库系统黑板系统超文本系统 闭…...
【MySQL_04】数据库基本操作(用户管理--配置文件--远程连接--数据库信息查看、创建、删除)
文章目录 一、MySQL 用户管理1.1 用户管理1.11 mysql.user表详解1.12 添加用户1.13 修改用户权限1.14 删除用户1.15 密码问题 二、MySQL 配置文件2.1 配置文件位置2.2 配置文件结构2.3 常用配置参数 三、MySQL远程连接四、数据库的查看、创建、删除4.1 查看数据库4.2 创建、删除…...
【Zinx】Day5-Part4:Zinx 的连接属性设置
目录 Day5-Part4:Zinx 的连接属性设置给连接添加连接配置的接口连接属性方法的实现 测试 Zinx-v1.0总结 Day5-Part4:Zinx 的连接属性设置 在 Zinx 当中,我们使用 Server 来开启服务并监听指定的端口,当接收到来自客户端的连接请求…...
【英伟达AI论文】多模态大型语言模型的高效长视频理解
摘要:近年来,基于视频的多模态大型语言模型(Video-LLMs)通过将视频处理为图像帧序列,显著提升了视频理解能力。然而,许多现有方法在视觉主干网络中独立处理各帧,缺乏显式的时序建模,…...
小程序事件系统 —— 32 事件系统 - 事件分类以及阻止事件冒泡
在微信小程序中,事件分为 冒泡事件 和 非冒泡事件 : 冒泡事件:当一个组件的事件被触发后,该事件会向父节点传递;(如果父节点中也绑定了一个事件,父节点事件也会被触发,也就是说子组…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
从深圳崛起的“机器之眼”:赴港乐动机器人的万亿赛道赶考路
进入2025年以来,尽管围绕人形机器人、具身智能等机器人赛道的质疑声不断,但全球市场热度依然高涨,入局者持续增加。 以国内市场为例,天眼查专业版数据显示,截至5月底,我国现存在业、存续状态的机器人相关企…...
屋顶变身“发电站” ,中天合创屋面分布式光伏发电项目顺利并网!
5月28日,中天合创屋面分布式光伏发电项目顺利并网发电,该项目位于内蒙古自治区鄂尔多斯市乌审旗,项目利用中天合创聚乙烯、聚丙烯仓库屋面作为场地建设光伏电站,总装机容量为9.96MWp。 项目投运后,每年可节约标煤3670…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
Caliper 配置文件解析:config.yaml
Caliper 是一个区块链性能基准测试工具,用于评估不同区块链平台的性能。下面我将详细解释你提供的 fisco-bcos.json 文件结构,并说明它与 config.yaml 文件的关系。 fisco-bcos.json 文件解析 这个文件是针对 FISCO-BCOS 区块链网络的 Caliper 配置文件,主要包含以下几个部…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
tree 树组件大数据卡顿问题优化
问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
