【模拟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 事件系统 - 事件分类以及阻止事件冒泡
在微信小程序中,事件分为 冒泡事件 和 非冒泡事件 : 冒泡事件:当一个组件的事件被触发后,该事件会向父节点传递;(如果父节点中也绑定了一个事件,父节点事件也会被触发,也就是说子组…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
