7.5.2 周期型ADC

周期型ADC(或者叫算数ADC)与逐次比较型ADC的工作原理很像,但是与逐次比较型ADC每次减半参考电压不同,周期型ADC每次保持参考电压不变,而将误差电压放大两倍。一个有符号周期型ADC的流程图如下图所示:

周期型ADC的结构图如下图所示[McCharles, 1977; Li, 1984]:

这个转换器只需要少量的模拟电路,因为其在转换时间内一直在重复使用相同的电路。

实现一个高精度的周期型ADC的难度在于构建一个精确的乘以二倍增益电路。幸运的是,如果乘以二操作用4个时钟周期的话,实现这一增益放大器,可以使得电路不再依赖任何电容匹配。乘以二增益放大器的操作如下图所示:

尽管这个电路用单端电路表示以供简化,单实际电路中一般会使用全差分电路。

这个增益放大器的基本思想是使用相同的电容对输入信号采样两次。在第二次采样时,第一个电容的电荷会被存储在第二个其容值不重要的电容上。在第二次采样后,两次的电荷被重新组合到第一个电容上,随后其被连接到放大器的输入和输出之间。

例题:

考虑上图中的乘以二增益电路,假定放大器的输入失调为\(V_{off}\),求出每个阶段中的\(V_{C1}\),\(V_{C2}\)和\(V_{out}\)。

解答:

在第一阶段,放大器输出连接到放大器的负输入端,有:

\[V_{out}=V_{off} \tag{7.5.11}
\]

而两个电容两端的电压为:

\[V_{C1}=V_{err}-V_{off} \tag{7.5.12}
\]
\[V_{C_2}=0-V_{off}=-V_{off} \tag{7.5.13}
\]

在第二阶段的结尾,我们有:

\[V_{C1}=0-V_{off}=-V_{off} \tag{7.5.14}
\]

这意味着其电容该变量为:

\[\Delta Q_{C1}=C_1(V_{err}-V_{off}-(-V_{off}))=C_1V_{err} \tag{7.5.15}
\]

所有的电荷都被移动到\(C_2\),从而有:

\[V_{C2}=-V_{off}+\frac{C_1}{C_2}V_{err} \tag{7.5.16}
\]

并且\(V_{out}=(C_1/C_2)V_{err}\)。

在第三阶段的结尾,\(V_{C2}\)保持不变,因为其一侧为开路。同时,\(V_{C1}=V_{err}-V_{off}\)以及\(V_{out}=V_{off}\)和第一阶段一样。

最后,在第四阶段结束时,\(C_2\)被放电到和第一阶段相同的值,使得\(V_{C2}=-V_{off}\),其电容的改变为:

\[\Delta Q_{C2}=C_2(\frac{C_1}{C_2})V_{err}=C_1V_{err} \tag{7.5.17}
\]

所有的电荷又回到\(C_1\),使得:

\[V_{C1}=2V_{err}-V_{off} \tag{7.5.18}
\]

而输出电压会是所需的\(V_{out}=2V_{err}\)。注意最终的转换结果独立于\(C_1\),\(C_2\)的尺寸,以及\(V_{off}\)的失调值。

模拟集成电路设计系列博客——7.5.2 周期型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. cordova使用http协议打开页面(cordova结合qiankunJs)

    起因 cordova的webview默认使用file协议打开页面 qiankunJs无法(基于fetch)使用file协议加载子应用 Cookie也无法在file协议下使用 双击页面以file协议打开 ...

  2. 前端开发系列113-工程化篇之Yeoman脚手架generator创建

    这篇文章将以实例的方式来教会如何从零开始创建属于我们自己的generator. 点击获取本文示例的generator generator创建准备 这里我们一切从零开始,在创建自己的generator之 ...

  3. extern 小总结

    也就是说,在一个文件中定义了变量和函数, 在其他文件中要使用它们, 可以有两种方式: 使用头文件,然后声明它们,然后其他文件去包含头文件 在其他文件中直接extern

  4. java 日志系统 java核心编程例子

    简介 对于 经常使用 printf or cout 的人来说 如果有这个日志系统的话,对于每次程序中的发生的错误可以了如职掌. 没必要 每次遇到问题 了解大致的逻辑然后 添加打印.后面章节中还提到一些 ...

  5. SciTech-EECS-STM32便携式电烙铁电原理图 + 几种常用的烙铁芯、功率及接法: jbc470/jbc245/t12/t20/tss02/jbc210/jbc115l

    烙铁芯温控(测温)原理: T12仅有两根线: 测温和加热交替进行 你可能会奇怪烙铁头只引出了两根线, 是怎么实现加热和测温的? 因为烙铁头上有两种导体已形成热电偶, 而热电偶是可以测温的. 让我们来看 ...

  6. STC32G12K128-CAN

    第二部分,因为需要和其他部件通过CAN进行交互,此处记录一下STC32-CAN驱动部分,毕竟是国产芯片,数据手册看起来非常方便.希望咱们国产芯片越做越好哈 此处参考了芯片手册的例子 //======= ...

  7. ListBox的每一行颜色不同

    首先,设置ListBox1的Style属性为lbOwnerDrawVariable procedure TForm1.BitBtn1Click(Sender: TObject); begin List ...

  8. Singing Everywhere ZOJ - 4107

    https://vjudge.net/problem/ZOJ-4107/origin https://vjudge.net/contest/395635#problem/H Baobao loves ...

  9. linux同步网络时间和时区设置

    一.时区设置 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 二.时间同步(同步网络时间) ntpdate ntp1.aliyun.com或者n ...

  10. .NET Core开源 DDD微服务 支持 多租户 单点登录 多级缓存、自动任务、分布式、日志、授权和鉴权 、网关 、注册与发现 系统架构 docker部署

    源代码地址https://github.com/junkai-li/NetCoreKevin基于NET6搭建跨平台DDD思想WebApi架构.IDS4单点登录.多缓存.自动任务.分布式.多租户.日志. ...