首页 > 其他分享 >模拟集成电路设计系列博客——7.1.1 逐次比较型ADC基本介绍

模拟集成电路设计系列博客——7.1.1 逐次比较型ADC基本介绍

时间:2024-06-13 19:56:06浏览次数:10  
标签:7.1 二分 LSB 0.5 逐次 ADC SAR

7.1.1 逐次比较型ADC基本介绍

实现数模转换器(ADC)的架构可以粗略的分成三种,如下表所示,分别为低到中速ADC,中速ADC和高速ADC:

image

在开始之前,需要注意在讨论ADC设计时,我们一般会忽略AD传输特性中的0.5LSB偏移。采用这个简化是为了不将暂时的概念复杂化。许多转换器架构大量使用了开关电容和比较器,开关电容我们在之前介绍过,比较器会在以后的章节里详细介绍。

低速到中速的ADC往往精度更高,例如积分ADC和过采样ADC(Σ-Δ ADC),中速ADC的精度相对差一些,例如逐次逼近型ADC(SAR ADC)和算法ADC,高速ADC速度快,但精度较差,例如并联比较型ADC(Flash ADC),两步ADC,插值ADC,折叠ADC,流水线ADC和时间交替ADC。

在博客里我会重点介绍逐次逼近型ADC,流水线ADC,并联比较型ADC和过采样ADC四种ADC结构,其他ADC结构则在一个独立的章节中进行介绍。

首先是逐次比较型ADC,后续简称SAR ADC。

SAR ADC是实现ADC的最主流方式之一,因为他们具有惊人的多面性。他们可以提供相当快的转换时间,或者可以实现相对高的精度,也可以在一些情况下以非常低的功耗工作。最重要的是,尽管具有这些优势,SAR ADC的电路复杂度却不高,在最简单的情况下,仅仅需要一个比较器,一组有开关的电容,以及一小部分数字控制逻辑。

为了理解SAR ADC的基本操作逻辑,我们需要知道一个基本的被称为二分搜索的算法。一个二分搜索的例子可以理解为猜一个1到128之间的随机数,而提问者只能提出用“是”或者“否”来回答的问题。第一个问题是“这个数是否大于64?”如果回答是“是”,那么第二个问题是这个数是否大于96。但是,如果第一个问题是“否”,那么第二个问题是这个数是否大于32。第三个问题再次将搜索空间进行二分,整个过程重复知道确定这个随机数。总体来说,二分搜索每次将搜索空间一分为二,对于一个范围在1到\(2^N\)的数据,可以用N步完成查找。SAR ADC使用二分查找算法来决定最匹配输入信号的数字码。具体来说,在第一个阶段,即重置阶段之后,MSB,\(b_1\)被确定,第二个阶段,下一个比特\(b_2\)被确定,接着是\(b_3\),以此类推,直到\(N\)比特全部被确定。因此,在最直接的实现中,SAR ADC需要\(N\)个时钟周期来完成\(N\)比特转换。流程图如下图所示:

image

此处,有符号输出采用带便宜的二进制编码,输入信号被认为在\(\pm 0.5V_{ref}\)​。单极转换器的流程图与之只有轻微的区别。SAR ADC的主要缺点是,由于他们的操作原理是交替查找,因此他么需要多个时钟周期来完成每次转换,这使得其转换频率远低于电路的最大频率,尤其是当转换分辨率高时,就需要更多个周期。

一个使用DAC的SAR ADC结构如下图所示:

image

逐次比较寄存器(SAR)和控制逻辑是全数字的,并且执行二分搜索功能。在每次转换结束时,SAR中的数值结果会使得电压\(V_{D/A}\)处于输入信号\(\pm 0.5V_{LSB}\)的范围内。通过这种结构,DAC决定了ADC的精度和速度。注意采样和保持电路需要设置在输入,使得在转换时间内输入值不会发生变化。

例题:

假定\(V_{ref}=1V\),\(V_{in}=0.354V\),使用3比特转换,求得中间过程的DAC输出以及最终的ADC输出。

解答:

在这个例子中,\(V_{LSB}=1/2^3=0.125V\)。

在第一个周期,\(B_{out}=100\),因此\(V_{D/A}=0.5V\),由于\(V_{in}<V_{D/A}\),\(b_1\)确定为0。

在第二个周期,\(B_{out}=010\),因此\(V_{D/A}=0.25V\),由于\(V_{in}>V_{D/A}\),\(b_2\)确定为1。

在第三个周期,\(B_{out}=011\),因此\(V_{D/A}=0.375V\),由于\(V_{in}<V_{D/A}\),\(b_3\)确定为0。

因此,\(B_{out}\)的最终结果为010。量化误差为\(0.831V_{LSB}\),超过了\(\pm 0.5V_{LSB}\),因为我们最开始说了我们不考虑\(0.5LSB\)偏移。

标签:7.1,二分,LSB,0.5,逐次,ADC,SAR
From: https://www.cnblogs.com/sasasatori/p/18246663

相关文章

  • Visual Studio 2022 v17.10 发布
    VisualStudio2022版本17.9 现已发布,带来了IDE各个领域的一系列性能增强。一些显着的改进包括:更快的WindowsFormsdesigner加载、更快的Razor着色、更快的解决方案加载以及减少的DLL开销。WindowsFormsdesigner加载速度此前有反馈称,在针对.NETC......
  • 【STM32F1例程3】ADC实验
    1.实验说明 PA4口作为ADC采集口,PA4口接地或者接3.3V。下载运行程序,PA4口接地,会发现VolDta值为0,然后把PA4口接3.3V,会发现VolDta值为33002.主要程序直接上main.c#include"delay.h"#include"sys.h"//ADC配置,ADC1通道4voidADC_Config_Init(void){ ADC_InitTypeDef......
  • 《DSP开发》TMS320F28XX-ADC模块
    1.1、特征1.2、功能框图2.1、ADC模块配置1、ADC时钟使能。ADC时钟没有使能的话,后续对ADC相关寄存器的配置值虽然被写入,但实际不会生效。2、校准ADC参考、DAC偏移和内部振荡器。Device_cal();3、配置ADC模块转换误差、参考模式、参考基准、时钟分频、ADC中断触发时刻,最......
  • 【译】Visual Studio 17.10 发布了新版扩展管理器
    我们将更新的扩展管理器带给所有用户!在过去的一年里,我们已经将更新后的扩展管理器作为可选的预览功能提供,并一直期待您的反馈。基于您令人难以置信的反馈,我们现在准备从VisualStudio17.10开始提供新的扩展管理器作为默认预览功能。我们已将基本功能简化为现代风格UI,以......
  • DsExcel:GcExcel 7.1.X 定制Crack
    DsExcel:GcExcel--高速JavaExcel电子表格API库Excel文档解决方案(DsExcel,以前称为GcExcel)Java版允许您以编程方式在Java应用程序中创建、编辑、导入和导出Excel电子表格。几乎可以在任何地方部署。创建、加载、编辑和保存ExcelXLSX电子表格存到扩展,PDF,HT......
  • JetBrains PhpStorm 激活码限时特惠 7.1 折快抢!
    各位程序员,每天敲代码真的需要一款好用的IDE,大名鼎鼎的JetBrains值得信赖!PHP开发看过来,PhpStorm个人版首年订阅618限时特惠7.1折,有需要的朋友一定不要错过!PhpStorm汇集了众多效率功能和集成工具,帮助程序员更快、更智能地写代码。限时优惠别错过,活动仅3天!活动......
  • SAR ADC驱动设计注意事项
    1SARADC特点      功耗低、小尺寸、高精度、速度适中以及采样延时短。2精密SARADC所需支持电路        模拟输入信号、ADC接口的前端、基准电压源和数字接口        前端由驱动放大器+RC滤波器组成,其中放大器:调节输入信号,同事充当信号和ADC......
  • stm32系列--ADC使用
      #include"adc.h"#include"delay.h"////////////////////////////////////////////////////////////////////////////////////本程序只供学习使用,未经作者许可,不得用于其它任何用途//ALIENTEK战舰STM32开发板//ADC代码//正点原子@ALIENTEK//技术论......
  • 400、基于51单片机的电压表(1路,ADC0832,LCD1602)(程序+Proteus仿真+原理图+流程图+元器件
    毕设帮助、开题指导、技术解答(有偿)见文未目录方案选择单片机的选择显示器选择方案一、设计功能二、Proteus仿真图单片机模块设计三、原理图四、程序源码资料包括:需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。方案选择......
  • STM32H743 ADC+DMA
    1.**STM32CubeMX配置如下:**ADC:配置通道配置ADC的工作模式,这里用到了DMA使用ADC中断DMA2的通道4对应ADC2GPIO的配置,没有配置上下拉DMA配置:用STM32H743用DMA传输ADC的数据会有一个需要注意的点,需要将传输数据的buf配置在固定的某一段RAM中。#defineADC_CONVE......