模拟集成电路设计系列博客——7.5.1 积分型ADC

news/2024/7/4 2:53:12/文章来源:https://www.cnblogs.com/sasasatori/p/18269965

7.5.1 积分型ADC

积分型ADC是一种流行的对于慢速信号做高精度数据转换的方式。这类ADC有着非常低的失调与增益误差,且高度线性。更进一步的优势是积分型ADC在实现时仅仅需要很少的电路。积分型ADC的一个常用场景是用在测量仪器中,例如电压表或者电流表。

双斜积分型ADC的简化架构图如下图所示:

image

双斜的意思是指这个ADC通过两个阶段完成转换,阶段Ⅰ和阶段Ⅱ,如下图所示:

image

阶段Ⅰ:阶段Ⅰ时间间隔固定为\(T_1\),通过运行\(2^N\)个时钟周期得到,因此我们有:

\[T_1=2^NT_{clk} \tag{7.5.1} \]

其中\(T_{clk}\)是一个时钟周期,在这个间隔中,开关\(S_1\)连接到\(-V_{in}\),从而\(V_x\)跟随\(V_{in}\)的幅度上升。假定\(V_x\)一开始等于零(通过\(S_2\)上的一个脉冲),\(V_{in}\)保持固定,我们会有如下的关系式:

\[V_x(t)=-\int_{0}^t\frac{-V_{in}}{R_1C_1}d\tau=\frac{V_{in}}{R_1C_1}t \tag{7.5.2} \]

因此,在阶段Ⅰ结束时,\(V_x\)会等于\(V_{in}T_1/R_1C_1\)

阶段Ⅱ:阶段Ⅱ的时间是变化的\(T_2\),上图中展示了对于三种不同的输入电压的情况。在阶段Ⅱ一开始,计数器复位,\(S_1\)被连接到\(V_{ref}\),使得\(V_x\)电压开始以固定的斜率下降。为了求得数字输出值,计数器持续计数,直到\(V_x\)小于零,此时计数器值会等于输入信号\(V_{in}\)的数字码。因此,假定数字输出值做了归一化,最大值为单位值,计数器输出\(B_{out}\)可以被定义为:

\[B_{out}=b_12^{-1}+b_22^{-2}+...+b_{N-1}2^{-(N-1)}+b_N2^{-N} \tag{7.5.3} \]

从而我们有:

\[T_2=2^NB_{out}T_{clk}=(b_12^{N-1}+b_22^{N-2}+...+b_{N-1}2+b_N)T_{clk} \tag{7.5.4} \]

为了直到为什么计数器会给出正确的值,我们求解\(V_x\)在第Ⅱ阶段时的方程:

\[V_x(t)=-\int_{T_1}^t\frac{V_{ref}}{R_1C_1}d\tau +V_{x}(T_1)=\frac{-V_{ref}}{R_1C_1}(t-T_1)+\frac{V_{in}T_1}{R_1C_1} \tag{7.5.5} \]

\(V_x\)为零时,\(t=T_1+T_2\),我们可以写出:

\[0=\frac{-V_{ref}T_2}{R_1C_1}+\frac{V_{in}T_1}{R_1C_1} \tag{7.5.6} \]

求解该方程可以得到:

\[T_2=T_1(\frac{V_{in}}{V_{ref}}) \tag{7.5.7} \]

结合\((7.5.7)\)\((7.5.1)\)\((7.5.4)\),我们有:

\[B_{out}=b_12^{-1}+b_22^{-2}+...+b_{N-1}2^{-(N-1)}+b_N2^{-N}=\frac{V_{in}}{V_{ref}} \tag{7.5.8} \]

从上式中,我们可以看到对于双斜转换,数字输出并不依赖于时间常数\(R_1C_1\),这个时间常数只需要能够在单次转换中保持稳定即可正常工作。当时\(R_1\)\(C_1\)需要被合理的选取,从而可以使得\(V_x\)取得足够大的峰值,而不需要采取操作来减小噪声的影响。也可以通过单斜转换实现ADC,这样只需要一个转换阶段,但是积分时间就需要是时间常数\(R_1C_1\)的函数,非常可能出现增益误差。

尽管双斜积分型ADC不会受到增益误差的影响,但是它可能会收到放大器失调和其他因素导致的失调错误。这个失调错误可以通过使用四斜转换来进行矫正。在四斜转换中,双斜转换被执行两次:第一次时输入被连接到地(或者任何已知的直流量),然后输入被连接到待转换的信号\(V_{in}\)。两次输出码相减就可以将失调错误减少到零。

这类转换器的转换速度非常慢,例如,在双斜ADC中,最坏情况下的转换速率为\(V_{in}\)等于\(V_{ref}\),这种情况下需要\(2^{N+1}\)个时钟周期来完成转换。因此对于16 bit转换器来说,如果其时钟为\(1MHz\),那么最坏情况下的转换速率只有\(7.6Hz\)

最后,需要注意的是,通过精心选择\(T_1\),叠加在输入信号上的某些频率分量可以得到显著的衰减。注意这个转换器实际上对输入信号做了“积分与存储”,如果我们放松之前对\(V_{in}\)是常数的假设,我们可以看到转换\(V_{in}\)的过程实际上相当于是在一个时间窗\(T_1\)内对\(V_{in}\)做积分:

\[\int_{0}^{T_1}\frac{V_{in}(\tau)}{R_1C_1}d\tau \tag{7.5.9} \]

等效于和一个矩形时间窗口做卷积。由于矩形脉冲的傅里叶变换为\(sin(x)/x\),我们可以得到等效的输入滤波器的传输函数:

\[|H(f)|=|\frac{sin(\pi f T_1)}{\pi f T_1}| \tag{7.5.10} \]

因此,积分转换器也有着低通响应,并且在\(f=1/T_1\)的整数倍上时为零。

事实上其他的频率也会被衰减,只是不会和\(1/T_1\)的谐波一样被完全抑制,如下图的频谱所示,越是高频收到的衰减越大:

image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/731809.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面经梳理-elasticsearch

梳理elasticsearch相关面经题目 写入过程,查询过程 索引过程 1、客户端发送索引请求 2、参数检查 3、数据预处理 4、判断索引是否存在 5、创建索引 判断索引是否存在。如果索引不存在,则判断是否能够自动创建,可以通过action.auto_create_index设置能否自动创建索引;如果节…

面经梳理-kafka

梳理kafka相关面经题目 Kafka的高性能的原因? Kafka就是依靠下列4点达到了高吞吐量、低延时的设计目标的。大量使用操作系统页缓存,内存操作速度快且命中率高。Kafka不直接参与物理I/O操作,而是交由最擅长此事的操作系统来完成。采用追加写入方式,摒弃了缓慢的磁盘随机读/写…

6.26

全让我糖丸了在学点分治 板子对着 5k 的代码贺了一天 终于在五节奥赛课的努力之下(被 5k )调出来了 然后打另一个板子我还挺厉害的,贺一遍就把板子记住了然后板子打错了(也是 5k 调出来的) 😥 语文周测的时候本来想回去写因为打 ABC 而旷掉的生物周测 结果回去晚了被 D …

Linux 上制作多启动 U 盘

Linux 上制作多启动 U 盘 方法一 Ventoy 参考官网 方法二 手动安装 grub 后分别分区 我本人也曾经长期使用过 Ventoy,这个工具对于新手来说确实容易上手,而且工具功能丰富。不过随着探索的深入,我现在也不是很喜欢 Ventoy,原因可能有很多,比如说工具复杂、源码看不懂一点(…

linux 创建体积小的桌面环境以运行微信和WPS

linux 创建体积小桌面环境以运行微信和WPS 使用 linux 做主力一年多了,最近准备重装系统。目前看来一些常用的闭源软件里,QQ 和搜狗输入法已经算是可以稳定使用了,但微信和 WPS 还有一堆问题,比如:微信:没有 linux 版,使用优麒麟的版本,那个是用网页版微信封装的,目录…

pta7-8分析

智能家居是在当下家庭中越来越流行的一种配置方案,它通过物联网技术将家中的各种设备(如音视频设备、照明系统、窗帘控制、空调控制、安防系统、数字影院系统、影音服务器、影柜系统、网络家电等)连接到一起,提供家电控制、照明控制、电话远程控制、室内外遥控、防盗报警、…

详解:把 Linux 系统做成 Livecd

详解:把 Linux 系统做成 Livecd本文比较长,制作 LiveCD 的时间也比较长Linux Livecd 有很多好处,比如常用于修复受损的系统,可以随时随地用一台电脑启动,对于 kali linux 来说用来做好人好事不留名,很刑很好。但是目前网上相关制作资料大多很差:要么是非常古老的资料,甚…

Sum of Single Effects Linear Regression (susieR):多个因果变异位点的鉴定

使用susieR鉴定多个因果变异位点只需要两个输入文件,一个输入文件是包含Zscore值的SNP位点(zscore.txt),另一个文件是LD matrix(LD.matrix.ld)。 zscore.txt 文件如下所示:LD.matrix.ld 文件如下所示:LD.matrix.ld 文件是通过plink生成的,使用到的命令如下: plink --…

中国居民膳食指南2022

梳理中国居民膳食指南2022中的重要信息中国居民膳食指南2022摘录 准则一 食物多样,合理搭配每天的膳食应包括谷薯类、蔬菜水果、畜禽鱼蛋奶和豆类食物。平均每天摄入12种以上食物,每周25种以上,合理搭配。每天摄入谷类食物200~300g,其中包含全谷物和杂豆类50~150g;薯类…

面经梳理-redis

梳理redis相关面经题目 Redis的高性能体现在哪些方面?纯内存访问 非阻塞I/O,Redis使用epoll作为I/O多路复用技术的实现,再加上Redis自身的事件处理模型将epoll中的连接、读写、关闭都转换为事件,不在网络I/O上浪费过多的时间 单线程避免了线程切换和竞态产生的消耗参考: 《…

Windows 10 迁移用户文件夹(C:\Users)到其他盘

Windows 10 迁移用户文件夹(C:\Users)到其他盘 目标:制作一个符号链接 C:\Users -> D:,像 linux 分区挂载那样。 事先说明:数据无价,请提前保存好用户目录数据。我本人是刚刚重装之后操作的,因此对数据不敏感。 本人参考了 Win11使用mklink转移C:\Users文件夹至非系统…

Nuxt3 的生命周期和钩子函数(二)

摘要:本文深入介绍了Nuxt.js框架中几个关键的生命周期钩子函数,包括app:redirected(SSR环境下重定向前触发)、app:beforeMount(CSR下应用挂载前)、app:mounted(CSR下Vue应用在浏览器挂载时)、app:suspense:resolve(CSR中Suspense组件解析子组件完成时)以及link:prefe…

性能测试教程

一、什么是性能测试 通俗地讲,性能测试就是检查一个系统或软件在承受各种工作负载时,它的表现如何。这就像你买了一辆新车,不仅要看它的外观和内饰,更想知道它在高速行驶、爬坡、满载等情况下的表现,比如油耗、速度、稳定性等。 在软件或系统领域,性能测试会模拟用户在实…

如何把 linux 桌面变得像 Windows

如何把 linux 桌面变得像 Windows @目录如何把 linux 桌面变得像 Windows第0步 下载主题第一步:搞 xfce 的窗口第2步 搞 xfce 的顶端状态栏第3步 搞 xfce 的终端第4步 搞 xfce 的快捷键 众所周知,linux 最好的桌面是 Windows(开玩笑,请勿当真);我本人比较喜欢 Windows 的…

URDF - 建模原理

1. 基本建模文件 URDF 基本单位:弧度 弧度/s 米 2. URDF进化版本 - xacro模型文件

linux在tty终端显示中文字符的最终解决办法(fbterm字体间距,简单实用)

linux在tty终端显示中文字符的最终解决办法(fbterm字体间距,简单实用)Linux 的tty文字终端默认是不支持中文的,这对我们使用文字终端办公造成一定困扰,而且还限制字体,只有几种并不好用的字体。这里我解决以上问题。 我的系统: uname -sr Linux 6.1.0-kali7-amd64基于D…

空气动力学复习总结

绪论与补充 流体的物理模型 流体定义:静止状态无法承受剪切应 连续介质假设:不考虑分子间隙,认为介质连续分布于流体所占据的整个空间。流体由连续的流体微团组成,宏观上要足够小,以反映流场“点”状态;微观上要足够大,以消除分子随机运动带来的宏观物理量在统计上的涨落…

cv2.imread

cv2.imread 是 OpenCV (Open Source Computer Vision Library)中的一个函数,用于读取图像文件。 参数:filename: 要读取的图像文件的路径。 flags:指定图像读取的方式。默认为 cv2.IMREAD_COLOR,表示读取彩色图像。可以使用以下标志修改读取方式:cv2.IMREAD_COLOR:默认参…

linux修改swap分区的方法,和需要注意的坑

linux修改swap分区的方法,和需要注意的坑 电脑配置:x86_64,Windows 10+kali linux双系统电脑。 $ uname -r 6.1.0-kali5-amd64修改的方法和我上一篇blog差不多,我销毁了 swap 之后又在另一个地方重建了该分区,再次重启之后 dmesg 发现启动时间多达41秒(平时10秒),而且耗…

hadoop00_大数据技术介绍

生态架构数据导入 离线方式处理的数据,需要通过 ETL 模块实现导入到大数据存储系统进行存储;其中 Sqoop 是常见的抽取结构化数据工具,而 Flume、LogStach 是用于抽取结构化、半结构化数据的工具。 数据存储 大数据的数据存储系统,最常见的包括分布式文件系统 HDFS;如果需要…