当前位置: 首页 > news >正文

Chapter 5 Current Mirrors and Biasing Techniques

Chapter 5 Current Mirrors and Biasing Techniques

这一章介绍电流镜

5.1 Basic Current Mirrors

MOS工作在饱和区, 表现为一个电流源.

考虑电源变化, PVT波动, 我们会首先产生一路精准电流源, 再复制这路电流.

如何复制呢? 电流转电压再转电流就行了, 如下图所示

考虑到器件的mismatch, 并不能精准的复制电流. 尤其是LOD效应(gate到有源区距离影响Vth)和WPE效应(gate到well影响Vth)

Threshold Voltage Mismatch

即Vgs越大, Vdsat越大, 电流受Vth mismatch的影响越小

To attain high speed and to reduce the effects of threshold voltage mismatch, a large gate overdrive voltage should be used (remembering for a long-channel process that Vovn = VDS,sat = VGS - VTHN).

5.2 Cascode Current Mirrors

请注意Chanel Length Modulation, 也就是Vds会导致Ids电流变化

解决办法是就加入casecode, 挡住上面电压变化, 让mirroor管的VDS相同

但是这会带来headroom挑战, 因为Vy=Vgs, P点电压=Vgs+Vdsat=2Vdsat+Vth.

当VX减小时M3和M2谁先进入线性区? 答案是M3先进入线性区, VB迅速下降, 因为线性区的M3需要更大的Vgs才能维持Ix. 当VB<VA-Vth2时, 即Vx<VA-Vth2+Vds3时, M2进入线性区, 电流Ix开始迅速下降.

为了解决输出电压headroom问题

可以采用下面结构. Vout,min=2*Vds.

注意保证M1和M0要处于饱和区. 因此Vb-Vth0<Vx (确保M0饱和), Vgs1(Vx)-Vth1<VA=Vb-Vgs0 (确保M1饱和), 因此

VGS0 + (VGS1 − VTH1) ≤ Vb ≤ VGS1 + VTH0

第二个问题是如何产生Vb电压

可以采用下面两种方式

a)中 Vb=Vgs5+Vgs6-I*R

b) Vb=Vgs6/7 (串联降低W/L, 增大Vgs)

下图展示了一种high output impedance的电流镜, 如下图所示. M3通过检测VX, 控制VN, 提高了输出阻抗.

但是VX如果太大, M3吃掉所有的电流, 另外X的电压需要大于Vth3.

5.3 Active Current Mirrors

current mirror很大作用是放在运放中, 配合OTA使用. 例如下图最经典的5管运放.

采用半边电路分析, 半边电流分析, 小信号增益为
V o u t V o u t = g m 2 ( r o 1 ∥ r o 2 ) \frac{V_{out}}{V_{out}}=g_{m2}(r_{o1}\parallel r_{o2}) VoutVout=gm2(ro1ro2)
输出电压Vout的DC工作点, 考虑到对称性和沟道调制效应, Vout=VDD-Vsg3

5.3.3 Common-Mode Properties

共模增益:
A C M = Δ V o u t Δ V i n , C M A_{CM}=\frac{\Delta V_{out}}{\Delta V_{in,CM}} ACM=ΔVin,CMΔVout
为degenerated common source结构, 因此Acm增益为

因此CMRR为, 为 (gm*ro)^2

Effect of Mismatches

前面提到, 由于管子mismatch带来的CMRR影响更大.

5.3.4 Other Properties of Five-Transistor OTA

5管OTA的两大缺点: 1:即使匹配很好, CMRR较差, 因为CM影响输出. 2: supply rejection较差

supply rejection: 考虑VDD上有step跳变, 因为M1处于饱和区, 类似电流镜, 那么VF上也跳变相同step. 考虑对称性, Vout也跳变相同的step.

提高supply rejection的解决办法, 采用全差分结构, 如下图所示. VDD跳变step, 如果XY下面的impedance为M1/M2和电流镜的阻抗很大, 那么XY也跳变step (类似电阻分压原理). 但是由于全差分结构, Vout输出不变.

5.4 Biasing Techniques

5.4.1 CS Biasing

我们需要bias CS结构的VIN和小信号(a). 因此考虑在VIN和CS gate之间加电容. 再加上Rb, 形成high-pass filter (b).

为了确定VX的DC工作点, 加入电流镜和diode MOS结构©. 用MOS替代R, (d). 为了确保MR能开启, 在gate上加diode结构(E)

可得

CS Stage with Current-Source Load

CS Stage with Current-Source Load类似, M1和M2都需要bias (b), 设计Ib1=Ib2. 但是M1和M2相互打架, 因此M2 采用diode-connected结构©, 在高频时CG short M2 gate, Av=-gm1*(ro1||ro2||RG). 在©中Vout=VDD-Vsg2. 因此采用(d), Vout = VN + IG x RG. VN可以足够低保证M2在饱和区, Vout电压值得到提升.

Complementary CS Stage

对于互补型CS Stage的偏置. M1和M2相互打架, 因此加入大电阻RF, RF上没有电流, Vin=Vout, M1和M2 自己形成diode-connected结构了(b). 再加上电流I1来精准确定偏置电流©, 和加入ac coupling电容(d). Cin和C1的取值有讲究, 确保Av=(gm1+gm2)*(ro1||ro2)

5.4.2 CG Biasing

对于common gate偏置, 可考虑下图

VX到Vout增益为

5.4.3 Source Follower Biasing

下图就是Source Follower Biasing的典型应用, 通过加电容, 确保VX点的DC工作点可以比较低

5.4.4 Differential Pair Biasing

相关文章:

Chapter 5 Current Mirrors and Biasing Techniques

Chapter 5 Current Mirrors and Biasing Techniques 这一章介绍电流镜 5.1 Basic Current Mirrors MOS工作在饱和区, 表现为一个电流源. 考虑电源变化, PVT波动, 我们会首先产生一路精准电流源, 再复制这路电流. 如何复制呢? 电流转电压再转电流就行了, 如下图所示 考虑到…...

Avalonia Image控件上通过鼠标拖动画出矩形框

注册鼠标事件&#xff1a;首先&#xff0c;你需要注册 Image 控件上的鼠标事件&#xff0c;包括 PointerPressed、PointerMoved 和 PointerReleased。你可以在 XAML 文件或代码中注册这些事件。 <Image PointerPressed"Image_PointerPressed" PointerMoved"…...

Wireshark Lua插件入门

摘要 开发中经常通过抓包分析协议&#xff0c;对于常见的协议如 DNS wireshark 支持自动解析&#xff0c;便于人类的理解&#xff0c;对于一些私有协议&#xff0c;wireshark 提供了插件的方式自定义解析逻辑。 1 动手 废话少说&#xff0c;直接上手。 第一步当然是装上wiresh…...

XXE漏洞简介

目录 漏洞原理 漏洞危害 前置知识 XML简介 DTD简介 DTD的两种声明方式 实体 实体分类 内置实体(Built-inentities) 字符实体&#xff08;Characterentities&#xff09; 通用实体&#xff08;Generalentities&#xff09; 参数实体(Parameterentities) XXE漏洞…...

小白跟做江科大32单片机之蜂鸣器

1.复制之前编写的工程库项目&#xff0c;详细工程库创建过程如下链接&#xff1a; 小白跟做江科大32单片机之LED闪烁-CSDN博客https://blog.csdn.net/weixin_58051657/article/details/139295351?spm1001.2014.3001.55022.按照江科大老师给的图片进行连接蜂鸣器 接线时要用公…...

IsoBench:多模态基础模型性能的基准测试与优化

随着多模态基础模型的快速发展&#xff0c;如何准确评估这些模型在不同输入模态下的性能成为了一个重要课题。本文提出了IsoBench&#xff0c;一个基准数据集&#xff0c;旨在通过提供多种同构&#xff08;isomorphic&#xff09;表示形式的问题&#xff0c;来测试和评估多模态…...

MyEclipse使用教程

MyEclipse使用教程如下&#xff0c;按照以下步骤&#xff0c;您可以逐步熟悉并掌握MyEclipse的基本使用&#xff1a; 一、MyEclipse安装与准备 软件准备&#xff1a; 在使用MyEclipse之前&#xff0c;您需要确保已经安装了JDK&#xff08;Java Development Kit&#xff09;。J…...

TiDB学习9:Ti Cloud简介

目录 1. 为什么选择TiDB 2. 多租户 3. TiDB架构 4. 什么是TiDB Cloud 5. TiDB Cloud Provider Region 6. TiDB Cloud 入门 6.1 在浏览器中打开TiDB Cloud 6.2 创建您的账户 6.3 Developer Tier 与Dedicated Tier 6.3.1 Developer Tier 6.3.2 Dedicated Tier 6.3.2.…...

JavaScript 创建新节点的方法

在 JavaScript 中&#xff0c;可以使用 document.createElement() 方法来创建新的节点。该方法接受一个字符串参数&#xff0c;表示要创建的节点类型&#xff0c;如 "div"、"p" 等。 创建一个新节点的基本步骤如下&#xff1a; 使用 document.createElem…...

在phpstorm2024版里如何使用Jetbrains ai assistant 插件 ?

ai assistant激活成功后&#xff0c;如图 ai assistant渠道&#xff1a;https://web.52shizhan.cn/activity/ai-assistant 在去年五月份的 Google I/O 2023 上&#xff0c;Google 为 Android Studio 推出了 Studio Bot 功能&#xff0c;使用了谷歌编码基础模型 Codey,Codey 是…...

进程间通信(27000字超详解)

&#x1f30e;进程间通信 文章目录&#xff1a; 进程间通信 进程间通信简介       进程间通信目的       初识进程间通信       进程间通信的分类 匿名管道通信       认识管道       匿名管道       匿名管道测试       管道的四种…...

一、大模型推理

https://github.com/hiyouga/LLaMA-Factory/blob/main/README_zh.md https://github.com/hiyouga/LLaMA-Factory/blob/main/examples/README_zh.md 安装 v7.1 https://github.com/hiyouga/LLaMA-Factory/releases/tag/v0.7.1 git clone --depth 1 https://github.com/hiyoug…...

.NET IoC 容器(三)Autofac

目录 .NET IoC 容器&#xff08;三&#xff09;AutofacAutofacNuget 安装实现DI定义接口定义实现类依赖注入 注入方式构造函数注入 | 属性注入 | 方法注入注入实现 接口注册重复注册指定参数注册 生命周期默认生命周期单例生命周期每个周期范围一个生命周期 依赖配置Nuget配置文…...

Day44 动态规划part04

背包问题 01背包问题&#xff1a;每件物品只能用一次完全背包问题&#xff1a;每件物品可以使用无数次 01背包问题 暴力解法&#xff1a;每一件物品其实只有两个状态&#xff0c;取或者不取&#xff0c;所以可以使用回溯法搜索出所有的情况&#xff0c;那么时间复杂度就是 o…...

html期末复习速览

一.基础标签 1.段落标签<p></p> 特点&#xff1a;分段分割 2.标题标签<h1></h1>……<h6></h6> 特点&#xff1a;文字加粗&#xff0c;单独占一行 3.换行标签<br /> 特点&#xff1a;单标签&#xff0c;强制换行 二.文本格式化…...

CTFHUB-信息泄露-目录遍历和PHPINFO

目录 目录遍历 PHPINFO 目录遍历 很简单&#xff0c;挨着把每个目录都点开看一下 发现2目录下有个 flag.txt 文件&#xff0c;点开发现了本关的flag PHPINFO 这关也很简单&#xff0c;进来之后是一个phpinfo页面&#xff0c;按 CTRL F键打开查询&#xff0c;输入flag&#…...

面向Java程序员的Go工程开发入门流程

对于一个像我这样没有go背景的java程序员来说&#xff0c;使用go开发一个可用的程序的速度是肉眼可见的缓慢。 其难点不在于go语言本身&#xff0c;而是搭建整个工程链路的过程&#xff0c;即所谓的“配环境”。 本文主要讲述如何配出一个适合go开发的环境&#xff0c;以免有同…...

vue3开发高德地图

在vue3的index.html 使用动态注入地址名和key <html lang"en"><head><meta charset"UTF-8" /><link rel"icon" type"image/svgxml" href"/vite.svg" /><meta name"viewport" conten…...

通过DLL方式链接glfw3.dll

主要是CMakeLists.txt文件变化 cmake_minimum_required(VERSION 3.10) project(glfwTest) set(CMAKE_CXX_STANDARD 11) aux_source_directory(. SRC_SOURCES) set(GLFW_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include) set(GLFW_LIBRARY_DIR ${CMAKE_SOURCE_DIR}/lib/glfw) add_ex…...

Python自然语言处理(NLP)库之NLTK使用详解

概要 自然语言处理(NLP)是人工智能和计算机科学中的一个重要领域,涉及对人类语言的计算机理解和处理。Python的自然语言工具包(NLTK,Natural Language Toolkit)是一个功能强大的NLP库,提供了丰富的工具和数据集,帮助开发者进行各种NLP任务,如分词、词性标注、命名实体…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3

一&#xff0c;概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本&#xff1a;2014.07&#xff1b; Kernel版本&#xff1a;Linux-3.10&#xff1b; 二&#xff0c;Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01)&#xff0c;并让boo…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...