电子技术——共源共栅放大器
电子技术——共源共栅放大器

之前我们提到过,提高基础增益单元(共源放大器)的一种方法是提高其 ror_oro 的阻值,之后我们学过共栅放大器作为电流缓冲器可以做到这一点,自然地我们就得到了终极解决方案,也就是共源共栅放大器。
共源共栅结构
共源共栅结构指的是共源放大器作为主要增益单元,共栅放大器作为电流缓冲器,下图展示了这种结构:

这里 Q1Q_1Q1 是放大器(省略了DC偏置), Q2Q_2Q2 作为电流缓冲器,偏置在 VG2V_{G2}VG2 (信号地)上。之后我们会介绍同样的BJT版本的结构。
之前我们知道,电流缓冲器的电流不变,将输出阻抗提升了 KKK 倍,因此共源共栅结构的一种抽象表示如右图。
MOS共源共栅结构
下图展示了一个理想的MOS共源共栅结构,使用一个理想电流源作为偏置:

其等效的抽象模型为:

因为电流源是理想的,也就是说阻抗为无穷大,此时的开路增益为:
Avo=−gm1RoA_{vo} = -g_{m1}R_o Avo=−gm1Ro
又因为 Q1Q_1Q1 的输出阻抗是 ro1r_{o1}ro1 , Q2Q_2Q2 将输出阻抗提升约 gm2ro2g_{m2}r_{o2}gm2ro2 倍,因此:
Ro≃(gm2ro2)ro1R_o \simeq (g_{m2}r_{o2})r_{o1} Ro≃(gm2ro2)ro1
带入得到:
Avo=−(gm1ro1)(gm2ro2)A_{vo} = -(g_{m1}r_{o1})(g_{m2}r_{o2}) Avo=−(gm1ro1)(gm2ro2)
假设 Q1Q_1Q1 和 Q2Q_2Q2 完全匹配,也就是 gm1=gm2=gmg_{m1} = g_{m2} = g_mgm1=gm2=gm 和 ro1=ro2=ror_{o1} = r_{o2} = r_oro1=ro2=ro ,则得到:
Avo=−(gmro)2=−A02A_{vo} = -(g_mr_o)^2 = -A_0^2 Avo=−(gmro)2=−A02
所以MOS共源共栅结构将之前的固有增益从原来的 A0A_0A0 近似提升至 A02A_0^2A02 。
接下来考虑电流源不完美的情况,假设电流源是使用的PMOS电流镜,如下图:

则此时负载电阻阻值为 RL=ro3R_L = r_{o3}RL=ro3 。此时的电压增益是:
Av=−gm1(Ro∣∣RL)=−gm1(gm2ro2ro1∣∣ro3)A_v = -g_{m1}(R_o || R_L) = -g_{m1}(g_{m2}r_{o2}r_{o1}||r_{o3}) Av=−gm1(Ro∣∣RL)=−gm1(gm2ro2ro1∣∣ro3)
注意到 RL≪RoR_L \ll R_oRL≪Ro ,因此:
Av≃−gm1ro3A_v \simeq -g_{m1}r_{o3} Av≃−gm1ro3
此时的电压增益又退回到 A0A_0A0 ,这里电流缓冲器 Q2Q_2Q2 的作用失效了。也就是说,只是提升 Q1Q_1Q1 的输出阻抗是没用的,我们还必须要提升 Q3Q_3Q3 的输出阻抗。
自然地可以想到,可以在 Q3Q_3Q3 同样串联一个电流缓冲器,如图:

此时整个电路结构变为:

则此时电流源的输出电阻变为:
Ro=(gm3ro3)ro4R_o = (g_{m3}r_{o3})r_{o4} Ro=(gm3ro3)ro4
整个电路等效于右边的抽象模型,因此电压增益变为:
Av=−gm1[Ron∣∣Rop]=−gm1[[(gm2ro2)ro1]∣∣[(gm3ro3)ro4]]A_v = -g_{m1}[R_{on}||R_{op}] = -g_{m1}[[(g_{m2}r_{o2})r_{o1}]||[(g_{m3}r_{o3})r_{o4}]] Av=−gm1[Ron∣∣Rop]=−gm1[[(gm2ro2)ro1]∣∣[(gm3ro3)ro4]]
假设四个晶体管完全匹配,得到:
Av=−12A02A_v = -\frac{1}{2} A_0^2 Av=−21A02
此时的电压增益与 A02A_0^2A02 同阶,是我们想要的结果。
共源共栅放大器中的电压增益分配
现在我们探究共源共栅放大器的整体增益是怎样在共源共栅放大器中的电压增益分配的。在这里,不失一般性的我们将负载阻抗表示为 RLR_LRL 如下图:

则此时的电压增益为:
Av=−gm1(Ro∣∣RL)=−gm1(gm2ro2ro1∣∣RL)A_v = -g_{m1}(R_o ||R_L) = -g_{m1}(g_{m2}r_{o2}r_{o1} ||R_L) Av=−gm1(Ro∣∣RL)=−gm1(gm2ro2ro1∣∣RL)
上图中的电压增益还可以表示为两级增益:
Av=Av1Av2=(vo1vi)(vovo1)A_v = A_{v1}A_{v2} = (\frac{v_{o1}}{v_i})(\frac{v_o}{v_{o1}}) Av=Av1Av2=(vivo1)(vo1vo)
为了计算 Av1A_{v1}Av1 ,我们将从 Q1Q_1Q1 的漏极到地直接的阻抗记为 Rd1R_{d1}Rd1 ,如图:

则:
Av1=−gm1Rd1A_{v1} = -g_{m1}R_{d1} Av1=−gm1Rd1
这里 Rd1=ro1∣∣Rin2R_{d1} = r_{o1} || R_{in2}Rd1=ro1∣∣Rin2 , Rin2R_{in2}Rin2 是CG级的输入阻抗:
Rin2=RLgm2ro2+1gm2R_{in2} = \frac{R_L}{g_{m2}r_{o2}} + \frac{1}{g_{m2}} Rin2=gm2ro2RL+gm21
那么 Av2=Av/Av1A_{v2} = A_v / A_{v1}Av2=Av/Av1 。基于上述方法,根据 RLR_LRL 的不同,我们可以得到下图表的两级增益分配情况:

四种情况分别为(假设MOS管完全匹配):
- RL=∞R_L = \inftyRL=∞ 表示负载是理想电流源。
- RL=(gmro)roR_L=(g_mr_o)r_oRL=(gmro)ro 表示负载是共源共栅电流源。
- RL=roR_L=r_oRL=ro 表示负载是简单电流镜。
- RL=0R_L=0RL=0 理论最坏情况,此时负载短路。
其中情况一代表了共源共栅结构的理论最大增益,情况二代表了一般情况。但是情况三并不是无用,在以后我们会学到,情况三具有优秀的高频响应。
共源双级共栅放大器
如果还需要更高的电压增益,那么就需要更高的输出阻抗,自然想到我们可以在加一级共栅结构,构成两级电流缓冲器,如图:

此时通过计算可以算出,电压增益为:
Av=A03A_v = A_0^3 Av=A03
这种结构的一个缺点就是,会造成晶体管在同一条漏极支路上堆叠:只提高CS放大器的输出阻抗是不够的,还要提高电流镜的输出阻抗,因此电流镜的输出端也需要再加一级的共栅结构,此时整个漏极支路上总共有6个MOS晶体管,因为每个晶体管都需要工作在饱和区下,每个晶体管的 vDSv_{DS}vDS 最小不能小于 VOVV_{OV}VOV 。因此总压降在 6vDS6v_{DS}6vDS ,那么就必须提高 VDDV_{DD}VDD 的值。但是我们知道,对于IC来说 VDDV_{DD}VDD 一般在1V到2V左右,这就限制了漏极支路中的最大MOS晶体管数量。
折叠共源共栅放大器
为了避免晶体管在同一条漏极支路上堆叠,我们的CG结构可以通过PMOS实现,如下图:

现在 Q1Q_1Q1 偏置在 I1−I2I_1 - I_2I1−I2 上, Q2Q_2Q2 是我们的PMOS的CG结构偏置在 I2I_2I2 上,电流源 I2I_2I2 作为主动负载。
其小信号模型和我们之前普通的共源共栅放大器一样,只不过我们的信号电流 gmvig_mv_igmvi 通过PMOS转向折叠流入 Q2Q_2Q2 。因此这个结构称为 折叠共源共栅放大器 。这种折叠结构在IC设计中非常受欢迎。
BJT 共射共基结构
下图展示了具有理想电流源负载的BJT 共射共基结构:

对于该电路的分析和MOS的大体相似,首先因为基极电流,输入阻抗为:
Rin=rπ1R_{in} = r_{\pi 1} Rin=rπ1
假设 α=1\alpha = 1α=1 ,此时的抽象结构为:

这里:
Ro=ro2+(gm2ro2)(ro1∣∣rπ2)≃(gm2ro2)(ro1∣∣rπ2)R_o = r_{o2} + (g_{m2}r_{o2})(r_{o1}||r_{\pi 2}) \simeq (g_{m2}r_{o2})(r_{o1}||r_{\pi 2}) Ro=ro2+(gm2ro2)(ro1∣∣rπ2)≃(gm2ro2)(ro1∣∣rπ2)
别看这个结果和MOS的相似,但这个结果只是一个近似的结果,因为基极的有限电流。就是因为有限的 β\betaβ 存在,导致了括号中的并联计算,这导致BJT电流缓冲器存在理论最大值:
Ro∣max=β2ro2R_o|_{max} = \beta_2r_{o2} Ro∣max=β2ro2
因为存在理论最大值,也就是说无论怎么提高CB的信号源阻抗,CB的输出阻抗总是无法突破理论最大值。所以不像MOS,使用多级BJT电流缓冲器是没有意义的。
开路增益为:
Avo=−gm1(gm2ro2)(ro1∣∣rπ2)A_{vo} = -g_{m1}(g_{m2}r_{o2})(r_{o1} || r_{\pi 2}) Avo=−gm1(gm2ro2)(ro1∣∣rπ2)
对于完美匹配:
Avo=−(gmro)[gm(ro∣∣rπ)]A_{vo} = -(g_mr_o)[g_m(r_o||r_\pi)] Avo=−(gmro)[gm(ro∣∣rπ)]
小于 (gmro)2(g_mr_o)^2(gmro)2 。当 ro=∞r_o = \inftyro=∞ 的时候存在理论最大值:
∣Avo∣max=βgmro=βA0|A_{vo}|_{max} = \beta g_m r_o = \beta A_0 ∣Avo∣max=βgmro=βA0
下图展示了BJT的共射双级共基结构:

相关文章:
电子技术——共源共栅放大器
电子技术——共源共栅放大器 之前我们提到过,提高基础增益单元(共源放大器)的一种方法是提高其 ror_oro 的阻值,之后我们学过共栅放大器作为电流缓冲器可以做到这一点,自然地我们就得到了终极解决方案,也…...
《MySQL学习》 事务隔离 与 MVCC
《MySQL学习》 事务隔离 一.事务的概念 事务保证一组数据要么全部成功要么全部失败,MySQL的事务基于引擎(如InnoDB)实现。 二.事务的隔离性与隔离级别 MySQL的标准隔离级别: 读未提交 : 一个事务还没提交时&#…...
html(二)基础标签
一 HTML中的注释 重点: 在哪写注释? 注释的形式? vs code和webstorm都可以通过 ctrl / 进行单行注释和取消注释 ① html中注释的形式 1) html文档中单行和多行注释是"<!-- -->" -->html2) 在html文档中,script标签…...
leetcode刷题---递归思想
leetcode刷题---递归思想)1.1 递归介绍1.2 基本步骤1.3 代表题目1.3.1 入门题---青蛙跳1.3.2.1 初级题226.翻转二叉树112.路径总和1.3.3 中级题---汉诺塔问题1.3.4 进阶题---细胞分裂1.1 递归介绍 如果在函数中存在着调用函数本身的情况,这种现象就叫递…...
ThreadLocal 源码级别详解
ThreadLocal简介 稍微翻译一下: ThreadLocal提供线程局部变量。这些变量与正常的变量不同,因为每一个线程在访问ThreadLocal实例的时候(通过其get或set方法)都有自己的、独立初始化的变量副本。ThreadLocal实例通常是类中的私有静…...
训练营day17
110.平衡二叉树 力扣题目链接 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。 示…...
Nodejs原型链污染
Nodejs与JavaScript和JSON 有一些人在学习JavaScript时会分不清Nodejs和JavaScript之间的区别,如果没有node,那么我们的JavaScript代码则由浏览器中的JavaScript解析器进行解析。几乎所有的浏览器都配备了JavaScript的解析功能(最出名的就是…...
【Vue3】element-plus中el-tree的递归处理赋值回显问题
目录一:先获取所有权限tree二:在获取所有该角色能有的权限tree三:递归处理勾选tree节点由于项目是从0-1开始构建的 rbac都需要重新构建对接 所以涉及到了权限管理和菜单管理 一级菜单包含多个二级菜单 若二级不全选,则一级显示 半…...
C语言---宏
专栏:C语言 个人主页:HaiFan. 专栏简介:本专栏主要更新一些C语言的基础知识,也会实现一些小游戏和通讯录,学时管理系统之类的,有兴趣的朋友可以关注一下。 #define预处理预定义符号define#define定义标识符…...
算法导论—路径算法总结
图算法 单源最短路径 Bellman-Ford算法: 顶点为V,边为E的图 对每条边松弛|V|-1次边权可以为负值若存在一个可以从源结点到达的权值为负值的环路,算法返回False时间复杂度:O(VE) 有向无环图单源最短路径 DAG-SHORTEST-PATHS …...
程序环境--翻译+执行
ANSI C标准下,有两种程序环境。 第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。 翻译环境包括:预处理(预编译)编译汇编链接。四个步骤。 第2种是执行/运行环境,它用于实际执行代码。 链接…...
微信小程序内部那些事
微信小程序没有window、document,它更像是一个类似 Node.js 的宿主环境。因此在小程序内部不能使用 document.querySelector 这样的选择器,也不支持 XMLHttpRequest、location、localStorage 等浏览器 API,只能使用小程序自己提供的 API&…...
这是从零在独自开开发,将是副业赚钱最好的平台!
文章目录最重要的事情放前面1.前言2.简单介绍一下3.【独自开】介绍3.1 分层标准化平台架构3.2 集成第三方数字接口3.3 支持各个行业的系统定制开发4.如何在【独自开】赚钱获取收益?4.1 如何称为【独自开】开发者?最重要的事情放前面 通过平台的审核也可以得到相应的奖金&…...
Spring MVC 之获取参数(对象、JSON格式数据、URL地址参数、文件、Cookie)
文章目录1. 获取单个参数2. 获取多个参数3. 获取对象4. 后端参数重命名 RequestParam5. 接收 JSON 格式的数据 RequestBody6. 从 URL 地址中获取参数 PathVariable7. 上传文件 RequestPart8. 获取Cookie (CookieValue)/Session/header8.1 获取 Request 和 Response 对象8.2 获取…...
永磁同步电机中BEMF电阻的作用
一、电路原理图 二、原理分析 如图一我们测的是相电压,从理论上我们知道我们测得相电压是一个马鞍波形,马鞍波形中并没有隐含 转子的位置和速度信息。那么为什么我们还要有这样一个电路呢? 这个问题其实困惑了我好久?直到有一天…...
JAVA练习45-二叉树的层序遍历
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 前言 提示:这里可以添加本文要记录的大概内容: 提示:以下是本篇文章正文内容,下面案例可供参考 一、题目二叉树的层序遍历 …...
超高精度PID调节器的特殊功能(3)——变送输出(转发)功能及其应用
摘要:变送输出是高级PID控制器的一项重要扩展功能,可用于多区控制、串级控制、比值控制和差值控制以及数据采集及记录。为展示变送输出功能的强大作用,本文主要针对超高精度VPC 2021系列PID控制器,介绍了变送输出的具体功能、参数…...
【C++】nullptr C++中的空指针(C++11)
前言 在平时我们写C/C代码时你可能会看到有人使用NULL表示空指针,也有人用nullptr表示空指针,那么你可能会很好奇它们都是空指针吗?为什么空指针有两种写法?下面就带你了解这背后的原理。 我们都知道NULL是C语言中的空指针&#x…...
笔试题-2023-大疆-数字IC设计【纯净题目版】
回到首页:2023 数字IC设计秋招复盘——数十家公司笔试题、面试实录 推荐内容:数字IC设计学习比较实用的资料推荐 题目背景 笔试时间:2022.08.07应聘岗位:数字IC设计笔试平台:赛码题目评价 难易程度:★★★★★知识覆盖:★★★☆☆超纲范围:★★★☆☆值得一刷:★★★…...
Python dict字典方法完全攻略(全)
我们知道,Python 字典的数据类型为 dict,我们可使用 dir(dict) 来查看该类型包含哪些方法,例如: >>> dir(dict) [clear, copy, fromkeys, get, items, keys, pop, popitem, setdefault, update, values] keys()、value…...
铭豹扩展坞 USB转网口 突然无法识别解决方法
当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...
给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
【Linux】Linux安装并配置RabbitMQ
目录 1. 安装 Erlang 2. 安装 RabbitMQ 2.1.添加 RabbitMQ 仓库 2.2.安装 RabbitMQ 3.配置 3.1.启动和管理服务 4. 访问管理界面 5.安装问题 6.修改密码 7.修改端口 7.1.找到文件 7.2.修改文件 1. 安装 Erlang 由于 RabbitMQ 是用 Erlang 编写的,需要先安…...
ABAP设计模式之---“Tell, Don’t Ask原则”
“Tell, Don’t Ask”是一种重要的面向对象编程设计原则,它强调的是对象之间如何有效地交流和协作。 1. 什么是 Tell, Don’t Ask 原则? 这个原则的核心思想是: “告诉一个对象该做什么,而不是询问一个对象的状态再对它作出决策。…...
