两种提高ADC分辨率的方法外文翻译资料

 2021-11-11 11:11

英语原文共 22 页

意法半导体公司的STM32F1X和STM32L1X Cortextrade;-M3是基于12位ADC采样的单片机。在大多数应用中,这种分辨率是足够的,但在某些需要更高精度的情况下,可以实现输入信号过采样和抽取的概念,以减少ADC抽样,减少应用的使用。

本应用说明给出了两种提高ADC分辨率的方法。这些技术基于相同的原理:以最大1兆赫对输入信号进行过ADC采样,并对输入信号进行抽取以提高其分辨率。

本应用说明中给出的方法和固件(STSW-STM32014)适用于中密度和高密度STM32F1X产品以及所有STM32L1X产品。在应用程序说明的最后给出了一些具体的提示,以利用DAC外围设备和ADC双模式在某些STM32F1X和STM32L1X设备中的实现。

本应用说明分为两个主要部分:第一部分描述了ADC采样如何提高指定分辨率,第二部分描述了实现可用不同方法的指南,并给出了在STM32F1X和STM32L1X设备上实现这些方法的固件流程图。

1 ADC信噪比的定义

ADC给出了有限个数字字之间模拟信号的表示。由于数字域是由有限个字来表示的,这些字必须呈现连续的信号,因此转换步骤引入了ADC输入范围和分辨率的量化误差函数。

对于理想的ADC,量化误差在plusmn;0.5 LSB之间。当输入信号在采样之间通过多个电平变化,且采样率与输入频率不同步时,量化误差可视为白噪声,其能量均匀地从直流域扩散到采样频率的一半。有关密度计算的更多详情,请参阅附录A。

信噪比(信噪比)是ADC噪声与输入信号功率的比值。对于理想的ADC,假设信噪比等于输入信号的量化噪声(不考虑其他噪声源)。结果表明,对于满标度正弦信号,ADC的信噪比最大,由以下公式给出:,其中n是ADC的分辨率。

可以很容易地注意到,当信噪比增加时,ADC的有效位数增加。

对于实际的ADC,应考虑不同的误差源:偏移、增益、积分非线性和微分非线性。这些错误的简要描述可以在STM32F1X和STM32L1X数据表中找到。它们降低了理想的ADC分辨率。在这种情况下,我们讨论的是实际有效位数。

提高信噪比需要提高ADC的有效位数。

下面的部分说明,采样率高于奈奎斯特频率的输入信号可以提高信噪比。奈奎斯特频率将在下一段中介绍。

2奈奎斯特定理和过采样

奈奎斯特定理指出,为了能够重建模拟输入信号,信号应以大于输入信号最大频率分量两倍的频率fs(采样频率)进行采样。

不遵守奈奎斯特定理会产生混叠效应,模拟信号无法从输入样本中完全重建。因此,在大多数应用中,在ADC输入端需要一个低通滤波器来滤除低于一半采样频率的频率。低采样频率下的滤波器约束很难处理。

过采样包括以高于奈奎斯特频率极限的速率对输入模拟信号进行采样,对采样进行滤波,并通过抽取降低采样率。使用此方法可以放宽抗混叠低通滤波器约束。

3使用白噪声进行过采样

3.1输入噪声为白色的过采样信号的信噪比

假设量化噪声被同化为白噪声。然后其功率密度均匀分布在直流和奈奎斯特频率的一半之间。功率密度与采样频率无关。

当采样率较高时,量化噪声会在采样频率的带宽上传播。

图1 过采样对量化噪声的影响

如图1所示,当以较高的速率对输入信号进行采样时,相同的噪声功率(以绿色矩形的面积表示)分布在等于采样频率的带宽上,该频率远大于信号带宽fm。只有一个相对较小的部分总噪声功率下降在[–fm,fm]波段,信号波段外的噪声功率可以用数字低通滤波器大大衰减。

降低量化噪声可以提高信噪比,从而提高ADC的有效位数。过采样输入信号的OSR比奈奎斯特频率快一倍,得到以下信噪比

结果表明,采样频率每增加一倍,带内噪声降低3dB,测量分辨率提高1/2位。因此,需要6dB的信噪比增益,以便将1个分辨率位添加到ADC中。

一般来说,如果应用程序需要P附加位,那么ADC采样频率至少应为

,其中Fs是当前使用的ADC采样频率。

3.2抽样

平均的传统意义是添加m个样本,并将结果除以m。平均一个ADC测量的几个数据相当于一个低通滤波器,它可以减弱信号波动和噪声。平均法通常用于平滑和去除输入信号中的语音。

注意,正态平均不会增加转换的分辨率,因为m n位样本除以m的总和是样本的n位表示。

抽取是一种平均方法。当与过采样相结合时,抽取会提高ADC的分辨率。

实际上,添加 ADC N位采样,给出了N 2P位上信号的表示。为了得到p个附加的有效位,求和被p个位右移。

该FIR滤波器具有相同的滤波器系数,使用户能够通过给出从OSR输入样本计算出的输出样本来过滤过采样频率。

过采样方法限制了最大输入频率带宽。事实上,对于stm32f1x和stm32l1x(最大采样率为1msps),组件高达500kHz的信号可以由ADC处理。例如,如果需要两个额外的分辨率位,则当使用白噪声进行过采样时,可以输入的最大输入频率为500 kHz/16=31.25 kHz。

3.3这种方法什么时候有效?

为了使过采样和抽取方法正常工作,必须满足以下要求:

  1. 输入信号中应该有一些噪声。这种噪声必须近似于白噪声,在相应的频带上具有均匀的功率谱密度。
  2. 噪声振幅必须足以将输入信号从一个样本随机切换到另一个样本,且幅度至少为1 LSB。否则,输入样本将具有相同的表示,并且总和和平均运算不会给出任何额外的分辨率。在大多数应用中,内部的ADC热噪声和输入信号噪声足以使用这种方法。如果热噪声没有足够高的振幅随机切换输入信号,则应在输入信号中注入人工白噪声。此操作称为“抖动”。关于这一点,可以提出两个问题。第一个问题是“如何评估ADC噪声并测试其高斯标准?”如果需要,如何产生白噪声?”——检测输入信号噪声高斯准则的一种实用方法是观察干净的直流信号在ADC码上的分布。直方图法可以用来验证输入噪声是否遵循高斯分布。图2中的示例显示了两种可能的情况。

图2。柱状图分析

——在输入信号中加入外部噪声抖动的情况下,可以将二极管或电阻产生的热噪声注入输入信号。

——输入噪声不应与有用的输入信号相关,输入信号在两个相邻的ADC码之间的概率应相等。这意味着对于使用反馈过程的系统,此方法不起作用。

3.4在stm32f1x和stm32l1x设备上实现的方法

该方法描述了在STM32F1X和STM32L1X设备上实现和测试过采样方法所采取的不同步骤。

根据前面的章节,为了使这个解决方案正常工作,应该有一些白噪声使输入信号按1/2 LSB随机切换。为此,应考虑应用环境噪声。

第一步是计算ADC热噪声,得出输入信号中是否应注入外部白噪声。在典型的应用板中,计算的噪声不仅包括ADC内部噪声,还包括不同板组件和布局可能产生的噪声。因此,此评估取决于应用程序板,但方法保持不变。

对不同的直流输入电压采用直方图法。此输入电压被多次采样(例如5000)。使用电子表格可以很容易地解释相关的分布。

例如,对于STM3210B-EVAL评估板上施加的1.65 V直流输入电压,检测图3所示的柱状图。

图3。DC的柱状图分析=1.65 V

可根据该柱状图计算ADC热噪声(尽管可以显示,但这不是本应用说明的目标,此处不提供详细信息)。

为了进行此ADC噪声测试,用户应执行以下操作

  1. 取消在过速采样h文件中#define Themal_Noise_Measure
  2. 配置Total_Samples_Number,即ADC转换操作数。它应该小于65535。DMA通道被配置为在RAM缓冲区中存储ADC采样数。在传输结束时,生成一个中断,并计算每个ADC代码的出现次数。
  3. 为了计算ADC代码的出现率,定义了一个给出相关ADC代码的变量。

当代码运行时,Relevant_ADC_Samples ADC采样及其相应的出现次数将显示在超级终端上。超级终端配置为8位数据,无奇偶校验,115200波特率。如果找到的有效ADC样本数小于定义的Relevant_ADC_Samples变量,则对于ADC代码和ADC代码的出现,将显示0。用户可以捕获它们并建立一个柱状图。

3.4.1使用白噪声固件流程图进行过采样

STM32F1X和STM32L1X片上ADC转换频率固定为1兆赫。将ADC DMA通道配置为将过采样输入的数量从ADC数据寄存器传输到RAM中的缓冲区。此传输配置为一次性发生。在DMA传输结束时,会触发一个中断,并计算过采样结果。

通用定时器TIM2用于产生输入信号的采样频率。为此,TIM2基准时钟配置为1微秒。其周期决定输入信号采样周期。它在oversampling.h文件中定义为#define Input_Signal_Sampling_Period。当触发TIM2更新中断时,DMA被重新启用,转换后的ADC值可以被处理。图4总结了实现的功能。

图4。使用白噪声流程图进行过采样

在DMA传输完成中断中计算过采样数据。出于同步原因,建议在第二个TIM2中断中读取它。

注意,在这种实现中,TIM2周期应该大于ADC转换OSR样本所需的时间,并且大于ADC中断执行时间。

如果应用程序所需的采样频率正好是OSR mu;s,则用户不需要使用定时器tim2来生成输入采样频率。但是,应将DMA配置为在连续模式下工作,并且应相应地更新DMA传输完成中断。过采样数据通常在DMA传输完成中断中计算。

3.4.2使用白噪声结果评估过采样

为了评估过采样方法,用户应取消对定义过采样测试行的注释,并使用增强的分辨率配置样本数。

当该行未注释时,会在RAM中创建一个缓冲区来存储过采样的数据。缓冲区内容随后显示在超级终端上。超级终端配置应为8位数据,无奇偶校验和115200波特率。用户可以将它们捕获到一个txt文件中,然后将预期结果与实际结果进行比较。

为了评估新的增强型ADC,将50 Hz频率和1 V振幅的斜坡输入到ADC中,并使用过采样算法每50微秒采样一次。

与此方法相关的固件示例位于WhiteOisemethod文件夹中。

图5 带1个附加位的斜坡采样

图6 带2个附加位的斜坡采样

使用白噪声的过采样算法在相同的斜坡(50赫兹频率和1伏振幅)下运行。图5和图6给出了作为时间函数的ADC过采样数据,单位为微秒。图5是添加一个位的结果,而图6是添加两个额外位到ADC片上分辨率的结果。

当不使用任何额外软件分辨率对斜坡进行采样时,在3.3 V参考电源下,1 V对应于数字值1250。

当添加一个附加位时,1 V采样为2500,当添加两个附加位时,1 V采样为5000。

这意味着环境中含有足够的噪声,这种方法可以工作。

4使用三角形抖动进行过采样

假设输入信号在过采样期间介于两个连续量化步骤q0和q1之间,那么转换器可以将其转换为q0或q1。增加额外的P位分辨率意味着确定输入信号在Q0和Q1之间的相对位置。

加上一个适当的三角形信号,量化器产生一系列的q1和q0。在给定的间隔内求q1的平均值决定了输入信号在较低和较高量子化步骤之间的相对位置。

该理论指出,当使用一个周期为OSR乘以ADC采样周期,振幅为n 0.5LSB的三角形波形(n=0,1,2,3)对输入信号进行抖动时,可以获得最佳结果。

这种方法背后的理论相当复杂,因此图7作为一个例子来说明这种方法是如何工作的。在本例中,ADC芯片上的分辨率为3,固件会添加三个额外的位。假设输入信号的振幅为q0 0.6lsb(本例中q0=6)。为了增加三个额外的位,输入信号被采样2.23次(16次)。

图7 如何通过添加三角形信号来执行过采样

如果输入信号与三角形波形不相关,则表明信噪比中的增益等于

因此,采样频率每增加一倍,信噪比提高6分贝,增加1个ADC位分辨率。

一般来说,为了增加P位的额外分辨率,过采样频率应等于

4.1该方法何时起作用?

为了使该方法有效,输入信号在过采样期间的变化不应超过plusmn;0.5LSB,并且不应与三角抖动信号相关联。

4.2在stm32f1x和stm32l1x设备上实现的方法

为了实现第二个解决方案,需要:

  1. 执行输入信号和三角形波形之和的运算放大器。为此,需要一个运算放大器反相器/求和级。可以使用ST组件LMV321。
  2. 周期为OSR乘以ADC转换率的三角形波形。用户可以使用一个信号发生器或一个片上定时器和一个RC网络来产生这个三角形信号。实际上,片上定时器产生一个占空比从0%到100%不等的脉宽调制信号。该脉宽调制输出可以用RC滤波器进行滤波,以产生从0到VDD的三角形信号。为了产生0.5LSB的振幅,首先输出通过电容器(切断直流分量),然后除以预分频器R2/R3(见图8)。此预分频器等于ADC字数。
  3. 在运算放大器之后,不应改变输入信号。因此,r1应等于r3。
  4. 输入信号和三角形抖动的和被反转。为此,运算放大器的正输入端需要3.3 V的偏移量。计算过采样数据后,减去该偏移量,以获得具有额外分辨率的输入信号估计。

图8 通过添加三角形信号进行过采样

原文和译文剩余内容已隐藏,您需要先支付 20元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。