1.1.3 Cascode电流镜

Cascode电流镜是一种高输出阻抗电流镜,其基本结构如下图所示:

首先从\(Q_2\)漏极看进去的输出阻抗仅为\(r_{ds2}\),其分析和基本电流镜非常一样。因此可以认为\(Q_4\)是一个带有\(r_{ds2}\)的源极退化电阻的电流源,利用之前的\((1.1.10)\)公式,可以得到:

\[r_{out}=r_{ds4}[1+R_{s}(g_{m4}+g_{s4}+g_{ds4})] \tag{1.1.14}
\]

其中\(R_s=r_{ds2}\),因此输出阻抗为:

\[r_{out}=r_{ds4}[1+R_{s}(g_{m4}+g_{s4}+g_{ds4})] \\
\approx r_{ds4}[1+R_{s}(g_{m4}+g_{s4})] \\
\approx r_{ds4}(r_{ds2}g_{m4}) \tag{1.1.15}
\]

因此输出阻抗倍增了\(g_{m4}r_{ds2}\)的倍数,即一个单管MOS放大器的增益上限,其值可以在10到100之间,根据管子尺寸,电流,以及使用的工艺条件而决定。这个典型的输出阻抗的增长可以用于实现大低频增益的单级放大器。

使用Cascode的电流镜的一个坏处是,它降低了晶体管进入线性区前的最大输出信号摆幅,为了理解这种降低,可以假定有一个n沟道MOS管处于饱和区,其漏源电压必须大于\(V_{eff}\),\(V_{eff}\)的定义是:

\[V_{eff}=V_{GS}-V_{th} \tag{1.1.16}
\]

其值由下式求出:

\[V_{eff}=\sqrt{\frac{2I_D}{\mu_nC_{ox}(W/L)}} \tag{1.1.17}
\]

如果我们假设所有的晶体管的尺寸与电流相同,则其都有相同的\(V_{eff}\),因此所有的管子都有相同的栅源电压\(V_{GS}=V_{eff}+V_{tn}\),因此:

\[V_{G3}=V_{GS1}+V_{GS3}=2V_{eff}+2V_{tn} \tag{1.1.18}
\]

且:

\[V_{DS2}=V_{G3}-V_{GS4}=V_{G3}-(V_{eff}+V_{tn})=V_{eff}+V_{tn} \tag{1.1.19}
\]

因此\(Q_2\)的漏源电压比最小的饱和区漏源电压需求要大出一个\(V_{tn}\),由于使得\(Q_4\)不进入线性区的最小输出电压\(V_{D4}\)可以由\(V_{DS2}+V_{eff}\)给出,最小的允许的输出电压\(V_{out}\)可以由下图给出:

\[V_{out}>V_{DS2}+V_{eff}=2V_{eff}+V_{tn} \tag{1.1.20}
\]

再次比\(2V_{eff}\)大出了一个\(V_{tn}\),这种信号的摆幅损失对于最大供电电压可能只有\(1V\)甚至更小的现代工艺来说是一种严重的缺点。

例题:

考虑如上所示Cascode电流镜,\(I_in=100\mu A\)且每个晶体管宽长比为\(W/L=10\mu m/0.4\mu m\),假定使用下表的\(0.35\mu m\)参数,求出电流镜的\(r_{out}\),假定体效应为\(0.2g_{m}\),同时计算出让晶体管都保持在饱和区的最小输出电压\(V_{out}\)。

解答:

假定\(I_{out}=I_{in}\),则可以求出:

\[g_{m4}=\sqrt{2\mu _nC_{ox}(W/L)I_{out}}=0.97mA/V \tag{1.1.21}
\]

以及有:

\[r_{ds4}=r_{ds2}=\frac{0.4\mu m}{(0.16\mu m/V)(100\mu A)}=25k\Omega \tag{1.1.22}
\]

现在利用公式\((1.1.15)\),可以求出输出阻抗:

\[r_{out}=25k\Omega[25k\Omega(0.97mA/V+0.2\times 0.97mA/V+1/25k\Omega)]=753k\Omega \tag{1.1.23}
\]

为了找到最小输出电压,我们首先确定\(V_{eff}\):

\[V_{eff}=\sqrt{\frac{2I_{out}}{\mu_nC_{ox}(W/L)}}=0.205V \tag{1.1.25}
\]

因此可以求出最小输出电压\(V_{out}=2V_{eff}+V_{tn}=0.98V\),与基本电流镜例题相比,其输出阻抗增大了30倍,但是其输出摆幅下降了\(0.76V\)。

模拟集成电路设计系列博客——1.1.3 Cascode电流镜的更多相关文章

  1. Flutter 即学即用系列博客——03 在旧有项目引入 Flutter

    前言 其实如果打算在实际项目中引入 Flutter,完全将旧有项目改造成纯 Flutter 项目的可能性比较小,更多的是在旧有项目引入 Flutter. 因此本篇我们就说一说如何在旧有项目引入 Flu ...

  2. Django 系列博客(七)

    Django 系列博客(七) 前言 本篇博客介绍 Django 中的视图层中的相关参数,HttpRequest 对象.HttpResponse 对象.JsonResponse,以及视图层的两种响应方式 ...

  3. Django 系列博客(一)

    Django 系列博客(一) 前言 学习了 python 这么久,终于到了Django 框架.这可以说是 python 名气最大的web 框架了,那么从今天开始会开始从 Django框架的安装到使用一 ...

  4. ARM的体系结构与编程系列博客——ARM处理器系列介绍

    ARM处理器系列介绍 现在到了3月,过年过得过于舒服了.系列博客也停更了近半月,我果然是个慢(lan)性(gui)子,那么趁着到校的第一天晚上,就写一篇博客来继续我的系列博客了!众所周知,ARM处理器 ...

  5. 窥探Swift系列博客说明及其Swift版本间更新

    Swift到目前为止仍在更新,每次更新都会推陈出新,一些Swift旧版本中的东西在新Swift中并不适用,而且新版本的Swift会添加新的功能.到目前为止,Swift为2.1版本.去年翻译的Swift ...

  6. Flutter 即学即用系列博客——05 StatelessWidget vs StatefulWidget

    前言 上一篇我们对 Flutter UI 有了一个基本的了解. 这一篇我们通过自定义 Widget 来了解下如何写一个 Widget? 然而 Widget 有两个,StatelessWidget 和 ...

  7. Flutter 即学即用系列博客——04 Flutter UI 初窥

    前面三篇可以算是一个小小的里程碑. 主要是介绍了 Flutter 环境的搭建.如何创建 Flutter 项目以及如何在旧有 Android 项目引入 Flutter. 这一篇我们来学习下 Flutte ...

  8. Flutter 即学即用系列博客——09 MethodChannel 实现原生与 Flutter 通信(二)

    前言 上一篇我们讲解了如何通过 EventChannel 实现 Android -> Flutter 的通信. 并且也看到了 Flutter 内部 EventChannel 源码也是对 Meth ...

  9. Flutter 即学即用系列博客——09 EventChannel 实现原生与 Flutter 通信(一)

    前言 紧接着上一篇,这一篇我们讲一下原生怎么给 Flutter 发信号,即原生-> Flutter 还是通过 Flutter 官网的 Example 来讲解. 案例 接着上一次,这一次我们让原生 ...

  10. Flutter 即学即用系列博客——08 MethodChannel 实现 Flutter 与原生通信

    背景 前面我们讲了很多 Flutter 相关的知识点,但是我们并没有介绍怎样实现 Flutter 与原生的通信. 比如我在 Flutter UI 上面点击了一个按钮,我希望原生做一些处理,那么原生怎么 ...

随机推荐

  1. 前端开发系列050-基础篇之组件的概念和使用(Vue)

    本文是早期学习Vue整理的一些阶段性总结,内容主要关于Vue框架中组件的概念和数据传递. 一.组件的相关概念 在Vue学习的时候参考了很多文档和书籍,这些文档和书籍中总是充满各种术语(定语),在这里先 ...

  2. AI-Compass宝藏资源库:构建最全面的AI学习与实践生态,服务AI全群体

    AI-Compass宝藏资源库:构建最全面的AI学习与实践生态,服务AI全群体 AI-Compass将为你和社区提供在AI技术海洋中航行的方向与指引.无论你是刚踏入AI领域的初学者,还是寻求技术突破的 ...

  3. SciTech-Power-焊接:超声波焊接技术+美标USCAR-38 + Standard VS

    超声波焊接技术 在端子和线束连接上应用比较成熟, 最高技术的方法涉及通过以 15~40kHz 的频率 将 绞合线一起振动,以在单根导线之间形成牢固的冶金结合. 这种振动能量会导致表面氧化物在单股导线上 ...

  4. POLIR-Society-Organization-Management:Transform Business Skills with Proven Simulation and Assessment Technology

    Capsim Management Simulations, Inc. Privacy Policy Terms Accessibility Policy Transform Business Ski ...

  5. SciTech-BigDataAIML-Tensorflow-Keras是用在Tensorflow的高层API

    [https://tensorflow.google.cn/guide/keras](Keras: The high-level API for TensorFlow) https://tensorf ...

  6. CompletableFuture笔记

    CompletableFuture是java8引入的一个很实用的特性,可以视为Future的升级版本,以下几个示例可以说明其主要用法(注:示例来自<java8实战>一书第11章) 一.引子 ...

  7. MySQL 21 为什么我只改一行的语句,锁这么多?

    上篇文章中,介绍了间隙锁和临键锁,但并未说明加锁规则.本文首先介绍加锁规则,由于间隙锁在可重复读隔离级别下才有效,因此接下来的内容默认在可重复读隔离级别下. 加锁规则(限5.x系列<=5.7.2 ...

  8. C函数atoi()

    C函数atoi() int atoi(const char *str) 把参数 str 所指向的字符串转换为一个整数(类型为 int 型). atoi() 函数的声明 int atoi(const c ...

  9. 【译】Visual Studio Copilot 中更智能的人工智能编辑

    当我们最初着手在 Visual Studio Copilot 中实现更智能的 AI 编辑功能时,我们就知道自己在应对一个极其复杂的问题.这不仅仅是生成出色的建议,还关乎弄清楚如何将这些建议无缝应用到你 ...

  10. Vue2.0的v-model指令

    Vue2.0的v-model指令 v-model="属性" 写在标签中上,相当于在一个标签上,同时写了    :value='属性值'    @iinput='handler'  ...