学子专区—ADALM2000实验:模数转换

目标

本实验活动旨在通过构建说明性示例来探讨模数转换的概念。

背景信息

模数转换器(ADC)将模拟信号——即温度、压力、电压、电流、距离或光强度等实际信号——转换为该信号的数字表示。然后,系统可以处理、控制、计算、传输或存储此数字表示。

Figure 1. Analog-to-digital conversion.
图1.模数转换

ADC以均匀的时间间隔对模拟波形进行采样,并将数字值分配给每个样本。数字值以二进制编码格式在转换器的输出端显示。通过将采样模拟输入电压除以基准电压,再乘以数字码数得到此值。转换器的分辨率由输出码中的二进制位数来设定。

Figure 2. Digital output code.
图2.数字输出码

ADC执行两个过程:采样和量化。ADC将无限分辨率的模拟信号表示为有限分辨率的数字码。ADC会产生2N个数字值,其中N表示二进制输出位数。由于转换器的分辨率有限,模拟输入信号将落在量化电平之间,从而导致固有的不确定性或量化误差。该误差可确定转换器的最大动态范围。

Figure 3. The quantization process.
图3.量化过程

采样过程提供连续时域信号,信号值以离散、均匀的时间间隔测量。通过此过程,根据奈奎斯特准则可确定采样信号的最大带宽。该理论认为,信号频率必须小于或等于一半采样频率以防混叠。混叠是指通过采样过程,目标带宽内出现所需信号频段之外的频率信号的情况。不过,在通信系统设计中,可利用此混叠过程将高频信号向下转换为低频信号。这就是欠采样技术。欠采样的标准就是ADC具有足够的输入带宽和动态范围来采集最高目标频率信号。

Figure 4. The sampling process.
图4.采样过程

采样和量化都是重要的概念,因为它们确定了理想ADC的性能极限。在一个理想ADC中,码跃迁恰好相距1 LSB(最低有效位)。因此,对于一个N位ADC,共有2N个数字码,且1 LSB = FS/2N,其中FS为满量程模拟输入电压。然而,实际ADC操作也受到非理想效应的影响,所产生的误差超出了转换器分辨率和采样速率所决定的误差。与ADC相关的许多交流和直流性能规格中都会体现这些误差。

Figure 5. Transfer function for an ideal ADC.
图5.理想ADC的转换函数

在此范围内,任何模拟输入会产生同样的数字输出码。

材料

  • ADALM2000 主动学习模块
  • 无焊试验板和跳线套件
  • 一个 OP482 运算放大器
  • 两个 AD654 电压频率转换器
  • 三个1 kΩ电阻
  • 五个10 kΩ电阻
  • 一个1 nF电容
  • 一个SN74HC08与门
  • 一个SN74HC32或门
  • 一个SN74HC04逆变器
  • 一个1 μF电容
  • 一个 AD7920 12位ADC

闪存ADC

背景信息

Flash ADC,也称为并行ADC,是将模拟信号转换为数字信号的最快方法之一。Flash ADC非常适合需要极宽带宽的应用,但其功耗比其他ADC架构高且通常限制为8位分辨率。典型示例包括数据采集、卫星通信、雷达处理、采样示波器和高密度硬盘驱动器。

Flash ADC由高速比较器级联而成。对于一个N位转换器,电路采用2N -1个比较器,同时有2N个电阻提供基准电压。当比较器的模拟输入电压高于所施加的基准电压时,其输出1。否则,比较器输出0。代码从1变为0的点就是输入信号小于相应比较器基准电压电平的点。

请看图6所示的电路。

Figure 6. A flash ADC—analog side circuit.
图6.Flash ADC—模拟侧电路

此电路表示2位Flash ADC的模拟侧,其架构称为温度计代码(一元码)编码。对于此类电路,需要使用额外的逻辑电路将一元码解码成适当的数字输出码。通过使用逻辑与门、或门和非门,我们可以构建专有编码器。其输出为原始数值的二进制表示,最高有效输入位从0开始。

Figure 7. A flash ADC—encoded output.
图7.Flash ADC—编码输出
Figure 8. Flash ADC breadboard connections.
图8.Flash ADC试验板连接

如前所述,Flash ADC使用高速比较器构建而成,但为了方便起见,我们将使用OP482四通道运算放大器来介绍工作原理。或者,可以使用四个 AD8561 比较器来构建此电路。

硬件设置

在无焊试验板上构建图7所示的电路。这是一个用于具有编码输出的2位Flash ADC的电路。

程序步骤

向电路提供±5 V电源电压。在Scopy中将信号发生器的AWG1配置为具有5 V峰峰值幅度、2.5 V偏移和100 Hz频率的上升斜坡锯齿波。将AWG2用于为ADC提供5 V恒定基准电压。

配置逻辑分析仪,使得数字通道DIO0、DIO1和DIO2形成一个针对一元码解码的通道组,通道DIO6和DIO7形成一个针对并行输出解码的通道组。

输出信号波形如图9所示。

Figure 9. Flash ADC—output code.
图9.Flash ADC—输出码

一元组通道表示2位Flash ADC的输出温度计代码,通过在整个可用范围(0 V至5 V)内改变输入模拟电压来提供所有可能的输出值。并行通道表示相当于ADC输出状态的二进制值。

电压频率转换器用作ADC

背景信息

在这个特殊应用中,AD654电压频率转换器用作ADC。

Figure 10. A voltage-to-frequency converter as an ADC.
图10.电压频率转换器用作ADC

为了实现转换,应将转换器的输出端连接到集成间隔定时器/事件计数器的微型计算机。

计数期间的信号边沿(上升或下降)总计数与输入电压成正比。在此特定设置下,1 V满量程输入电压会产生100 kHz信号。如果计数周期为100 ms,则总计数将为10,000。然后依据与该最大值的比例便可确定输入电压。因此,计数为5000时,相应的输入电压为0.5 V。

硬件设置

构建试验板电路以将电压频率转换器用作ADC,如图11所示。

程序步骤

向电路提供5 V电源电压。将信号发生器的AWG1配置为1 V恒定电压。

配置示波器,使通道1上显示输出信号,并从通道1“测量”选项卡中启用频率测量。输出信号波形如图12所示。

Figure 11. A voltage-to-frequency converter as an ADC—breadboard connections.
图11.电压频率转换器用作ADC—试验板连接
Figure 12. A voltage-to-frequency converter as an ADC at full-scale input voltage.
图12.满量程输入电压下电压频率转换器用作ADC

图12中的曲线显示了电压频率转换器采用1 V满量程输入电压时的输出信号波形。请注意,相应输出频率为100 kHz。

现在将输入电压设置为0.5 V。输出信号波形如图13所示。

Figure 13. A voltage-to-frequency converter as an ADC at half-scale input voltage.
图13.半量程输入电压下电压频率转换器用作ADC

图中显示了电压频率转换器采用0.5 V半量程输入电压时的输出信号波形。请注意,输出频率现在为50 kHz。

逐次逼近寄存器(SAR) ADC

背景信息

逐次逼近寄存器(SAR) ADC在每次转换时,针对所有可能的量化电平,通过二进制搜索将连续模拟波形转换为离散数字表示,最后汇聚为数字输出。

通常,SAR ADC电路由四个子电路组成:

  • 用于采集输入电压(VIN)的采样保持电路(S/H)。
  • 模拟电压比较器,它将VIN与内部DAC的输出进行比较并将比较结果输出至SAR。
  • SAR子电路,用于向内部DAC提供VIN的近似数字码。
  • 内部基准DAC,向比较器提供相当于SAR数字码输出的模拟电压。
Figure 14. Typical architecture of a SAR ADC.
图14.SAR ADC的典型架构

对SAR进行初始化,使最高有效位(MSB)等于数字1。将此代码输入DAC,然后DAC将此数字码的模拟等效信号(VREF/2)提供给比较器电路,以便与采样输入电压进行比较。如果此模拟电压超过VIN,则比较器使SAR重置此位;否则,此位将保留为1。然后将下一位设置为1并进行相同的测试,持续执行此二进制搜索直到SAR中的每个位都已经过测试。所得到的代码是采样输入电压的数字近似值,并最终由SAR在转换结束(EOC)时输出。

Figure 15. An example of a 4-bit SAR ADC.
图15.4位SAR ADC示例

图15显示了4位转换的一个示例。y轴表示DAC输出电压。在此示例中,第一次比较显示VIN < VDAC。因此,位3设置为0。然后将DAC设置为0100并进行第二次比较。由于VIN > VDAC,位2保持为1。然后将DAC设置为0110并进行第三次比较。将位1设置为0,然后将DAC设置为0101进行最终比较。最后,由于VIN > VDAC,位0保持为1。

硬件设置

为了利用ADALM2000重点说明SAR ADC的工作原理,对于DAC器件将使用在下次实验中探讨的电路,但此设置中将使用4位DAC(而不是8位)。DAC的输出端将连接到比较器,同时通过脚本对SAR进行仿真,该脚本基于比较器的输出执行二进制搜索并生成正确的二进制值。

Figure 16. SAR ADC schematic.
图16.SAR ADC原理图

构建SAR ADC的试验板电路,如图17所示。

Figure 17. SAR ADC breadboard connections.
图17.SAR ADC试验板连接

将OP484集成电路中的两个精密轨到轨运算放大器用于该SAR ADC,一个用于R-2R梯形DAC,另一个作为DAC输出和输入电压之间的比较器。

程序步骤

向电路提供±5 V电源电压。配置示波器,

使通道1上显示比较器输出信号,通道2上显示DAC输出信号。

将逻辑分析仪中的前4个数字通道分组,并将解码器设置为并行。

下载 SAR ADC脚本 ,并使用Scopy界面运行脚本。

使用逐次逼近法,根据从比较器输出端收到的反馈更新数字码。

利用示波器在时域内实现DAC输出的逼近行为可视化。产生的波形如图18所示。

Figure 18. SAR ADC approximation plot.
图18.SAR ADC逐次逼近波形

经过几个逼近步骤后,输出值接近输入值(设置为2 V)。

AD7920 12位ADC

背景信息

AD7920是一款12位高速、低功耗SAR ADC。它可以采用单电源供电,电源电压范围为2.35 V至5.25 V。此ADC支持串行接口。串行时钟提供转换时钟,并在转换期间控制来自AD7920的信息传输。转换过程和数据采集过程通过/CS和串行时钟进行控制,从而为器件与微处理器或DSP接口创造了条件。输入信号在/CS的下降沿进行采样,而转换同时在此处启动。图19显示了ADC采样阶段和转换阶段的简化原理示意图。

在采样阶段,SW2闭合且SW1置于A。在此设置下,比较器保持在平衡状态,采样电容采集VIN的信号。为使ADC启动转换,SW2断开,而SW1移至位置B,使比较器变得不平衡。控制逻辑和电荷再分配DAC可以加上和减去采样电容中的固定电荷数量,使得比较器恢复到平衡状态,进而转换完成。

硬件设置

图21给出了AD7920的典型连接设置。VREF取自内部VDD,因此其应充分解耦。这将提供0 V到VDD的模拟输入范围。转换结果以16位字输出,前4位为0,后12位或10位MSB为结果。

Figure 19. AD7920 acquisition and conversion phase.
图19.AD7920采样和转换阶段
Figure 20. AD7920 breadboard connections.
图20.AD7920试验板连接
Figure 21. AD7920 typical connections
图21.AD7920典型连接

程序步骤

打开Scopy,使能正电源为3 V。配置信号发生器的通道1为0 V到3 V之间的某一恒定值,例如该域的中间值1.5 V。可以在示波器上监视这些电压的实际值。

Figure 22. V<sub>IN</sub> (Channel 1) and V<sub>REF</sub> (Channel 2) voltages.
图22.VIN(通道1)和VREF(通道2)电压

在逻辑分析仪中,将DIO0、DIO1和DIO2配置为一个组通道。将该组通道设置为SPI,各通道设置为对应的SPI信号——DIO0为CS#,DIO1为CLK,DIO2为MISO。当CS#下降沿启动数据传输时,应将DIO0触发器设置为下降沿。将DIO1触发器设置为低电平,并从触发器设置中将“触发器逻辑”设置为AND。DIO2是ADC的输出信号,不需要触发器设置。使能逻辑分析仪,它应在等待触发信号。

在模式发生器中配置时钟信号。使能DIO1通道,将其“模式”设置为5 MHz频率的时钟,然后单击Run(运行)。可以从数字IO工具控制CS#。当切换配置为输出引脚的DIO0引脚时,转换机会开始。如果CS#的下降沿和CLK的低电平状态同时发生,转换将启动,应能在逻辑分析仪中看到输出信号和MISO十六进制数据,如图23所示。

Figure 23. SPI interface of the AD7920.
图23.AD7920的SPI接

可以使用ADC转换函数的公式检查结果,其中MISO数据为数字输出码,示波器通道1上读取的电压为模拟输入,示波器通道2上读取的电压为基准输入,N为AD7920的位数。

Equation 1
Equation 2
Equation 3
Equation 4
Equation 5

以上计算得出的结果是ADC输入电压为1.5 V,在示波器通道1上读出的也是该值。

额外活动:双斜率ADC

双斜率ADC(或变体)是许多高精度数字电压表的核心器件。此架构具有几个有用的特性:由于大多数误差源都会抵消,因此只需要几个精密元件,还可以通过配置来抑制特定噪声频率,如50 Hz或60 Hz线路噪声,并且对高频噪声不敏感。

Figure 24. Dual-slope ADC structure.
图24.双斜率ADC结构

转换器的工作原理如下:在固定时间内对积分器施加未知输入电压(称为上坡(runup)),然后对积分器施加与输入极性相反的已知基准电压(称为下坡(rundown))。因此,输入电压可以根据基准电压和下坡-上坡时间比计算得到:

Equation 6
Figure 25. Dual-slope ADC integrator output waveforms.
图25.双斜率ADC积分器输出波形

可以看出,双斜率转换器的精度不受大多数元件容差的影响:

  • 积分器的电阻和电容容差会影响输出斜率,但同时也会影响上坡和下坡。
  • 用于设置上坡时间和测量下坡时间的时基误差对两个时间的影响是相同的。

基准电压必须准确,因为它会直接影响测量结果。另一个误差源是积分器电容中的电介质吸收,因此聚丙烯或聚苯乙烯是理想选择,而铝电解不太合适。

Figure 26. Dual-slope ADC integrator output waveforms.
图26.双斜率ADC积分器输出波形

图26所示为双斜率ADC的频率响应。在固定时间间隔(上坡)内对输入采样,上坡开始时电压对结果的影响与上坡结束时电压对结果的影响一样。有时也将此称为箱式平均值,它能够抑制在1/T、2/T、3/T等频率下发生的干扰(噪声)。200 ms积分时间对应于10个周期的50 Hz噪声和12个周期的60 Hz噪声;由于它能够抑制线路噪声,因此通常将其作为上坡时间。

仿真

打开这里提供的LTspice®文件 DualSlope.asc

Figure 27. Dual-slope ADC integrator schematic.
图27.双斜率ADC积分器原理图

运行仿真,探测Vintegrate节点。

Figure 28. Dual-slope ADC integrator Simulation 1.
图28.双斜率ADC积分器仿真1

该仿真将60 Hz线路噪声添加到直流输入电压中。通过.step指令运行几种情况——1 V、2 V、3 V、4 V 5 V输入电压以及60 Hz线路噪声的几个不同相位。由于200 ms上坡时间是60 Hz线路周期的整数,所以噪声在频率响应中为零,并且无论相位如何,下坡时间都不受影响。将频率更改为62.5 Hz,使其处于频率响应的峰值。

Figure 29. Dual-slope ADC integrator Simulation 2.
图29.双斜率ADC积分器仿真2

硬件设置

为双斜率ADC构建试验板电路,如图30所示,并按照图示对M2K进行连接。

Figure 30. Dual-slope ADC integrator breadboard circuit.
图30.双斜率ADC积分器试验板电路

程序步骤

打开Scopy。内核Scopy初始化文件 Dual_slope_scopy_setup.ini以帮助设置。

电源:使能跟踪,设置为±5 V。

数字IO:DIO2设置为OUT,设置为1。

模式发生器:组DIO0、DIO1,模式:导入(加载文件dual_slope_pattern.csv)。频率设置为5 Hz。

信号发生器:通道1初始设置为恒定2.5 V。

示波器:200 ms时基,通道1设置为400 mV/刻度。下降沿触发器,200 mV(将在积分器重置间隔开始时触发M2K)。

Figure 31. Dual-slope ADC integrator waveform.
图31.双斜率ADC积分器波形

当基准电压源连接到-5 V电源并将输入电压设置为2.5 V时,请注意下坡为2格(400 ms),而上坡为1格(200 ms)。因此:

VIN = 5 V × (200 ms / 400 ms) = 2.5 V

通过改变输入电压,可以看到上坡时间发生变化。波形如图32所示。

Figure 32. Dual-slope ADC integrator waveform for different input voltages.
图32.不同输入电压的双斜率ADC积分器波形

实际实现双斜率转换器时,将使用一个微控制器来控制积分器并设置上坡/测量下坡时间。大多数微控制器都提供计数器外设,因而很容易实现。

问题:

能否说出ADC的若干实际应用?

您可以在 学子专区 论坛上找到答案。

作者

Andreea Pop

Andreea Pop

Andreea Pop自2019年起担任ADI公司的系统设计/架构工程师。她毕业于克卢日-纳波卡理工大学,获电子与通信学士学位和集成电路与系统硕士学位。

Antoniu Miclaus

Antoniu Miclaus

Antoniu Miclaus现为ADI公司的系统应用工程师,从事ADI教学项目工作,同时为Circuits from the Lab®、QA自动化和流程管理开发嵌入式软件。他于2017年2月在罗马尼亚克卢日-纳波卡加盟ADI公司。他目前是贝碧思鲍耶大学软件工程硕士项目的理学硕士生,拥有克卢日-纳波卡科技大学电子与电信工程学士学位。

Mark Thoren

Mark Thoren

Mark Thoren于2001年加入凌力尔特(现为ADI公司的一部分),担任应用工程师,负责精密数据转换器支持工作。在此期间,他曾担任与混合信号应用相关的多个职位,包括开发评估系统、培训、刊发技术资料,以及提供客户支持。Mark现在是ADI公司系统开发团队的一名系统工程师,负责开发参考设计和ADI大学计划。Mark拥有缅因大学奥罗诺分校颁发的农业机械工程学士学位和电子工程硕士学位。

Doug Mercer

Doug Mercer

Doug Mercer 在1977至2009年间一直在ADI公司从事全职工作,最后14年担任ADI公司研究员。ADI公司高速转换器产品系列的30多款标准产品都有他的贡献,AD783就是其中一款。自2009年起,他转而担任ADI公司的兼职顾问研究员,最近主要是作为ADI公司与伦斯勒理工学院的联络人,从事本科生电气工程教育推广和发展方面的工作。