ADALM2000实验:模数转换
2023-06-09
作者:Andreea Pop,系统设计/架构工程师 Antoniu Miclaus,系统应用工程师 Mark Thoren,系统设计/架构工程师 Doug Mercer,顾问研究员
来源:ADI
目标
本实验活动旨在通过构建说明性示例来探讨模数转换的概念。
背景信息
模数转换器(ADC)将模拟信号——即温度、压力、电压、电流、距离或光强度等实际信号——转换为该信号的数字表示。然后,系统可以处理、控制、计算、传输或存储此数字表示。
图1.模数转换
ADC以均匀的时间间隔对模拟波形进行采样,并将数字值分配给每个样本。数字值以二进制编码格式在转换器的输出端显示。通过将采样模拟输入电压除以基准电压,再乘以数字码数得到此值。转换器的分辨率由输出码中的二进制位数来设定。
图2.数字输出码
ADC执行两个过程:采样和量化。ADC将无限分辨率的模拟信号表示为有限分辨率的数字码。ADC会产生2N个数字值,其中N表示二进制输出位数。由于转换器的分辨率有限,模拟输入信号将落在量化电平之间,从而导致固有的不确定性或量化误差。该误差可确定转换器的最大动态范围。
图3.量化过程
采样过程提供连续时域信号,信号值以离散、均匀的时间间隔测量。通过此过程,根据奈奎斯特准则可确定采样信号的最大带宽。该理论认为,信号频率必须小于或等于一半采样频率以防混叠。混叠是指通过采样过程,目标带宽内出现所需信号频段之外的频率信号的情况。不过,在通信系统设计中,可利用此混叠过程将高频信号向下转换为低频信号。这就是欠采样技术。欠采样的标准就是ADC具有足够的输入带宽和动态范围来采集最高目标频率信号。
图4.采样过程
采样和量化都是重要的概念,因为它们确定了理想ADC的性能极限。在一个理想ADC中,码跃迁恰好相距1 LSB(最低有效位)。因此,对于一个N位ADC,共有2N个数字码,且1 LSB = FS/2N,其中FS为满量程模拟输入电压。然而,实际ADC操作也受到非理想效应的影响,所产生的误差超出了转换器分辨率和采样速率所决定的误差。与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所示的电路。
图6.Flash ADC—模拟侧电路
此电路表示2位Flash ADC的模拟侧,其架构称为温度计代码(一元码)编码。对于此类电路,需要使用额外的逻辑电路将一元码解码成适当的数字输出码。通过使用逻辑与门、或门和非门,我们可以构建专有编码器。其输出为原始数值的二进制表示,最高有效输入位从0开始。
图7.Flash ADC—编码输出
图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所示。
图9.Flash ADC—输出码
一元组通道表示2位Flash ADC的输出温度计代码,通过在整个可用范围(0 V至5 V)内改变输入模拟电压来提供所有可能的输出值。并行通道表示相当于ADC输出状态的二进制值。
电压频率转换器用作ADC
背景信息
在这个特殊应用中,AD654电压频率转换器用作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所示。
图11.电压频率转换器用作ADC—试验板连接
图12.满量程输入电压下电压频率转换器用作ADC
图12中的曲线显示了电压频率转换器采用1 V满量程输入电压时的输出信号波形。请注意,相应输出频率为100 kHz。
现在将输入电压设置为0.5 V。输出信号波形如图13所示。
图13.半量程输入电压下电压频率转换器用作ADC
图中显示了电压频率转换器采用0.5 V半量程输入电压时的输出信号波形。请注意,输出频率现在为50 kHz。
逐次逼近寄存器(SAR) ADC
背景信息
逐次逼近寄存器(SAR) ADC在每次转换时,针对所有可能的量化电平,通过二进制搜索将连续模拟波形转换为离散数字表示,最后汇聚为数字输出。
通常,SAR ADC电路由四个子电路组成:
▲用于采集输入电压(VIN)的采样保持电路(S/H)。
▲模拟电压比较器,它将VIN与内部DAC的输出进行比较并将比较结果输出至SAR。
▲SAR子电路,用于向内部DAC提供VIN的近似数字码。
▲内部基准DAC,向比较器提供相当于SAR数字码输出的模拟电压。
图14.SAR ADC的典型架构
对SAR进行初始化,使最高有效位(MSB)等于数字1。将此代码输入DAC,然后DAC将此数字码的模拟等效信号(VREF/2)提供给比较器电路,以便与采样输入电压进行比较。如果此模拟电压超过VIN,则比较器使SAR重置此位;否则,此位将保留为1。然后将下一位设置为1并进行相同的测试,持续执行此二进制搜索直到SAR中的每个位都已经过测试。所得到的代码是采样输入电压的数字近似值,并最终由SAR在转换结束(EOC)时输出。
图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进行仿真,该脚本基于比较器的输出执行二进制搜索并生成正确的二进制值。
图16.SAR ADC原理图
构建SAR ADC的试验板电路,如图17所示。
图17.SAR ADC试验板连接
将OP484集成电路中的两个精密轨到轨运算放大器用于该SAR ADC,一个用于R-2R梯形DAC,另一个作为DAC输出和输入电压之间的比较器。
程序步骤
向电路提供±5 V电源电压。配置示波器,使通道1上显示比较器输出信号,通道2上显示DAC输出信号。
将逻辑分析仪中的前4个数字通道分组,并将解码器设置为并行。
下载SAR ADC脚本,并使用Scopy界面运行脚本。
使用逐次逼近法,根据从比较器输出端收到的反馈更新数字码。
利用示波器在时域内实现DAC输出的逼近行为可视化。产生的波形如图18所示。
图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为结果。
图19.AD7920采样和转换阶段
图20.AD7920试验板连接
图21.AD7920典型连接
程序步骤
打开Scopy,使能正电源为3 V。配置信号发生器的通道1为0 V到3 V之间的某一恒定值,例如该域的中间值1.5 V。可以在示波器上监视这些电压的实际值。
图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所示。
图23.AD7920的SPI接口
可以使用ADC转换函数的公式检查结果,其中MISO数据为数字输出码,示波器通道1上读取的电压为模拟输入,示波器通道2上读取的电压为基准输入,N为AD7920的位数。
以上计算得出的结果是ADC输入电压为1.5 V,在示波器通道1上读出的也是该值。
额外活动:双斜率ADC
双斜率ADC(或变体)是许多高精度数字电压表的核心器件。此架构具有几个有用的特性:由于大多数误差源都会抵消,因此只需要几个精密元件,还可以通过配置来抑制特定噪声频率,如50 Hz或60 Hz线路噪声,并且对高频噪声不敏感。
图24.双斜率ADC结构
转换器的工作原理如下:在固定时间内对积分器施加未知输入电压(称为上坡(runup)),然后对积分器施加与输入极性相反的已知基准电压(称为下坡(rundown))。因此,输入电压可以根据基准电压和下坡-上坡时间比计算得到:
图25.双斜率ADC积分器输出波形
可以看出,双斜率转换器的精度不受大多数元件容差的影响:
▲积分器的电阻和电容容差会影响输出斜率,但同时也会影响上坡和下坡。
▲用于设置上坡时间和测量下坡时间的时基误差对两个时间的影响是相同的。
基准电压必须准确,因为它会直接影响测量结果。另一个误差源是积分器电容中的电介质吸收,因此聚丙烯或聚苯乙烯是理想选择,而铝电解不太合适。
图26.双斜率ADC积分器输出波形
图26所示为双斜率ADC的频率响应。在固定时间间隔(上坡)内对输入采样,上坡开始时电压对结果的影响与上坡结束时电压对结果的影响一样。有时也将此称为箱式平均值,它能够抑制在1/T、2/T、3/T等频率下发生的干扰(噪声)。200 ms积分时间对应于10个周期的50 Hz噪声和12个周期的60 Hz噪声;由于它能够抑制线路噪声,因此通常将其作为上坡时间。
仿真
打开这里提供的LTspice®文件DualSlope.asc。
图27.双斜率ADC积分器原理图
运行仿真,探测Vintegrate节点。
图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,使其处于频率响应的峰值。
图29.双斜率ADC积分器仿真2
硬件设置
为双斜率ADC构建试验板电路,如图30所示,并按照图示对M2K进行连接。
图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)。
图31.双斜率ADC积分器波形
当基准电压源连接到-5 V电源并将输入电压设置为2.5 V时,请注意下坡为2格(400 ms),而上坡为1格(200 ms)。因此:
VIN = 5 V × (200 ms / 400 ms) = 2.5 V
通过改变输入电压,可以看到上坡时间发生变化。波形如图32所示。
图32.不同输入电压的双斜率ADC积分器波形
实际实现双斜率转换器时,将使用一个微控制器来控制积分器并设置上坡/测量下坡时间。大多数微控制器都提供计数器外设,因而很容易实现。
更多精彩内容欢迎点击==>>电子技术应用-AET<<