7.5.4 插值型ADC

插值型ADC如下图所示使用输入放大器,这些输入放大器在其阈值电压附近表现为线性放大器,但是可以在它们的差分输入够大时饱和。作为结果,后续的锁存器只需要决定放大器输出的符号,因为输入信号和阈值电压之差已经被放大。同时,连接到\(V_{in}\)的输入放大器数量通过在这些放大器之间插值得到了充分的减少。尽管这个方式经常与折叠型ADC架构组合在一起[van de Grift, 1987; van Valburg, 1992],但插值型ADC架构本身也经常被成功的使用[Goodenough, 1989; Steyaert, 1993]。

为了进一步理解插值方式,一组可能的输入放大器输出值\(V_1\),\(V_2\)及其插值如下图所示。在图中可以看出,逻辑电平被认定为\(0V\)或者\(5V\),输入放大器的最大增益大概为\(-10\)。同时,此处锁存器的阈值大概在两个逻辑电平的中间点(大概\(2.5V\))。随着\(V_{in}\)增大,\(V_1\)的锁存器首先被触发,随后是\(V_{2a}\),直到\(V_2\)。事实上,\(V_1\)和\(V_2\)之间可以可以创造更多参考电平。需要注意的是为了良好的线性度,插值信号只需要在正确的点穿越锁存器阈值,而剩余的插值信号响应是次要的。一种创造正确的穿越点的方式是确保\(V_1\)和\(V_2\)在他们自己的阈值是线性的。如下图所示,这个线性区是\(0.25<V_{in}<0.5\)。

为了快速操作,有必要使得到每个锁存器的延迟都是尽可能相等的。由于锁存比较器有着类似的输入电容,通过增加额外的电阻就可以实现近似相等的延迟,如下图所示:

这些串联电阻使得每个锁存比较器看回电阻串时的阻抗都是相等的,假定输入放大器的输出均为低阻抗[van de Plassche, 1988]。

如早先提到的,插值型ADC架构的主要优点是减少了连接到输入信号\(V_{in}\)的差分对。这个减少使得输入的电容更小(而对于Flash ADC来说输入电容会很大),可以轻微减少功耗,并且要创造的精确参考电压也变得更少。最后,值得一提的是除了电阻串外其他的技术也可以用于实现插值型ADC架构。在[Steyaert, 1993]中,电流镜被用于在比较器间做8次插值。在另一个实现中,使用电容实现了两级的插值[JKusumoto, 1993]。

例题:

使用电流镜,实现对两个电流输出\(I_1\)和\(I_2\)的插值,插值出三个间隔。讨论这个架构相比传统Flash ADC的架构可以减少多少输入电容?

解答:

如果要插值出三个间隔,就需要增加两个新电流\(I_{2a}\)和\(I_{2b}\),从而:

\[I_{2a}=\frac{2}{3}I_1+\frac{1}{3}I_2 \tag{7.5.23}
\]
\[I_{2b}=\frac{1}{3}I_1+\frac{2}{3}I_2 \tag{7.5.24}
\]

这两个输出电流可以通过下图中的方式实现:

这四个电流可以转换成电压后再送到锁存器中。也可以直接直接送入到使用电流作为输入的锁存器中。

由于我们此处做的是三插值,这个转换器需要传统Flash ADC三分之一的输入放大器数量。因此这个插值型ADC架构的输入电容相比Flash ADC可以减少三分之二。

模拟集成电路设计系列博客——7.5.4 插值型ADC的更多相关文章

  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. 前端开发系列129-进阶篇之Throttle And Debounce

    本文讨论前端开发中 函数防抖 和 函数节流,它们的应用.区别以及简单实现. 在前端开发中我们可能经常需要给(页面)标签绑定一些持续触发的事件,如 resize.scroll.input.mousemo ...

  2. 前端开发系列089-Node篇之os

    一.OS模块介绍 Node中的OS模块提供了和当前系统相关的一系列实用方法.在代码中可以直接用os = require("os")的方式来引入.OS模块本身非常的简单,本文将简单对 ...

  3. opengl 学习 之 06 lesson

    opengl 学习 之 06 lesson 简介 随着键盘和鼠标来控制显示效果. link http://www.opengl-tutorial.org/uncategorized/2017/06/0 ...

  4. java BorderFrame.java

    简介边框的设置 简单 lowerd 低于设计的平面 Riased 高于设计的平面 Etched 嵌入 Line 线条形式 Matte 粗线条似乎? Empty 没有边框 code /* * @Auth ...

  5. Apipost 的AI功能真的还不错啊!建议后端开发和测试人员了解

    在 API 开发与测试过程中,最让后端开发和测试头疼的不是写复杂算法,而是那些 "不得不做却又毫无成就感" 的重复性工作:参数命名.脚本编写.断言构建.文档完善--这些琐碎而关键的 ...

  6. SciTech-BigDataAIML-Algorithm: Github的Hello 算法项目

    先记录一下,好不好再读: https://github.com/krahets/hello-algo 关于本书 本项目旨在打造一本开源免费.新手友好的数据结构与算法入门教程. 全书采用动画图解,内容清 ...

  7. babylon.js 学习笔记(1)

    简单来说,babylon.js 是一个能跑在浏览器上的(3D)游戏渲染引擎,而且官方提供了一个友好在线交互学习平台Playground,其开源项目在github上star数截止2023.05.14高达 ...

  8. 推荐 6 款基于 .NET 开源的串口调试工具,调试效率提升利器!

    前言 今天大姚给大家分享 6 款基于 .NET 开源的串口调试工具,旨在帮助 .NET 开发者们更好的应对通讯调试方面的学习和工作,提升调试效率. 优秀项目和框架精选 本文所有项目都已收录到C#/.N ...

  9. Docker问题解决:Error response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup registry-1.docker.io: no such host

    vi /etc/resolv.conf 添加 nameserver 8.8.8.8

  10. B . Medal Ranking -UCF Local Programming Contest 2015

    https://nanti.jisuanke.com/t/43387 题意 奥运会,分别给出RU和US两国的 金牌 银牌 铜牌 数目 优先度 金牌>银牌>铜牌,其中一种相同则比较下一种,多 ...