AN2668应用笔记改进STM32F1系列、STM32F3系列和STM32Lx系列过采样ADC分辨率介绍基于STMicroelectronics STM32F1系列、STM32F3系列和STM32Lx系列Cortex -M3的微控制器嵌入了一个12位增强型模数转换器,采样速率最高可达Msamples/s。对于大多数应用,这种分辨率已经足够,但在某些需要更高精度的情况下,可以采用过采样和抽取输入信号的概念,以节省外部模数转换器解决方案的使用并降低应用功耗。本应用笔记给出了两种提高模数转换器分辨率的方法。这些技术基于相同的原理:用最大1 MHz模数转换器能力对输入信号进行过采样,并抽取输入信号以提高其分辨率。本应用笔记中给出的方法和嵌入式软件(STSW-STM32014)适用于中高密度STM32F1系列产品以及所有STM32F3系列和STM32Lx系列产品。应用笔记末尾给出了一些具体提示,以利用数模转换器外设和模数转换器双模在一些STM32F1系列、STM32F3系列和STM32Lx系列器件中的实现。本应用笔记分为两个主要部分:第一部分描述过采样如何提高模数转换器指定的分辨率,第二部分描述实现不同可用方法的指南,并给出在STM32F1系列、STM32F3系列和STM32Lx系列器件上实现这些方法的嵌入式软件流程图。2017年12月DocID14183 Rev 3 1/23www.st.com目录AN2668内容1一般信息。。。。。。。2模数转换器信号的定义3奈奎斯特定理和过采样。。。。。。4使用白噪声的过采样。5使用三角形di的过采样6比较第一种和第二种方法。。7个提示。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。5
信噪比。。。。。。。。。。。。。。。。。。。。。。。。。。5。。。。。。。。。。。。。。。。。。。。。。6。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。74.1带白色输入噪声的过采样信号的信噪比。。。。。。。。。。。。。。。。。。。74.2抽取。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。74.3这种方法何时有效?。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。84.4 STM 32 f1系列、STM32F3系列和STM32Lx系列设备上的方法实施。。。。。。。。。。。。。。。。。。。。。。。。。。。。。94.4.1使用嵌入白噪声的软件流程图进行过采样。。。。。104.4.2使用白噪声结果评估的过采样。。。。。。。。。。。。。。。。。11岁瑟。。。。。。。。。。。。。。。。。。。。。。。。。。13岁5.1这种方法何时起作用?。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。14岁5.2 STM 32 f1系列、STM32F3系列和STM32Lx系列设备上的方法实现。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。14岁5.2.1使用三角形抖动嵌入式软件流程图的过采样。。。14岁。。。。。。。。。。。。。。。。。。。。17岁。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。187.1片内模数转换器分辨率可以增加的最大位数是多少?。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。187.2利用STM32数模转换器实现。。。。。。。。。。。。。。。。。。187.3利用STM32F1系列、STM32F3系列和STM32L4系列双模数转换器模式实现。。。。。。。。。。。。。。19岁7.4利用STM32L0系列硬件模数转换器过采样实现。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。19岁附录一量化误差。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。20岁
修订历史。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。22岁2/23 DocID14183 Rev 3AN2668表格列表表格列表表1使用白噪声的过采样与过采样的关系表2。文档修订历史。。。。。。。。。。。。。。。使用三角形抖动。。。。。。。。。。。。。17 .。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。22岁DocID14183 Rev 3 3/23图清单AN2668数字列表图1。过采样对分位数的影响图2 .直方图分析。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。图3 .DC直方图分析= 1.65伏。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。图4 .使用白噪声流程图进行过采样。。。。。。图5 .增加1位斜坡采样。。。。。。。。。。图6 .增加2位斜坡采样。。。。。。。。。图7 .如何通过添加三角形来执行过采样图8。ad对过采样的硬件要求图9。使用三角形抖动流程图的过采样。。。。图10。过采样对量化误差的影响。。。噪音。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。7。。。。。。910。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。11岁。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。12岁。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。12岁r信号。。。。。。。。。。。。。。。。。。。。。。。13岁发出三角信号。。。。。。。。。。。。。。。14岁
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15岁。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。21岁4/23 DocID14183 Rev 3AN2668一般信息1一般信息本应用笔记适用于基于Arm的设备。2模数转换器信噪比的定义模数转换器在有限数量的数字字中给出模拟信号的表示。由于数字域由必须呈现连续信号的有限数量的字表示,转换步骤引入了模数转换器输入范围和分辨率的量化误差函数。对于理想的模数转换器,量化误差在0.5 LSB之间。在输入信号在采样之间通过许多电平变化,并且采样率与输入频率不同步的情况下,量化误差可以被认为是白噪声,其能量从DC域均匀地扩散到采样频率的一半。有关密度计算的更多细节,请参考附录A。信噪比是模数转换器噪声与输入信号功率的比值。对于理想的模数转换器,假设信噪比等于输入信号的量化噪声(不考虑其他噪声源)。结果表明,对于满量程正弦信号,模数转换器信噪比最大,由以下公式给出:信噪比,其中N为模数转换器分辨率。dB = 6.02N 1.76 +可以容易地注意到,当信噪比增加时,模数转换器的有效位数增加。对于真正的模数转换器,必须考虑不同的误差源:失调、增益、INL(积分非线性)和DNL(微分非线性)。STM32F1系列、STM32F3系列和STM32Lx系列数据手册中有这些错误的简要说明。这些误差会降低理想的模数转换器分辨率,并决定模数转换器的实际有效位数。提高信噪比可以提高模数转换器的有效位数。以下部分说明以高于奈奎斯特频率的速率采样输入信号可以提高信噪比。奈奎斯特频率将在下一段介绍。DocID14183 Rev 3 5/23奈奎斯特定理和过采样AN26683奈奎斯特定理和过采样奈奎斯特定理指出,为了重建模拟输入信号,必须以大于输入信号最大频率分量两倍的频率fS(采样频率)对信号进行采样。不符合奈奎斯特定理会导致混叠效应,模拟信号无法从输入样本中完全重构。因此,对于大多数应用,ADC输入端需要一个低通滤波器来过滤低于采样频率一半的频率。很难用低采样频率处理滤波器约束。
过采样包括以高于奈奎斯特频率极限的速率对输入模拟信号进行采样,对样本进行滤波,并通过抽取降低采样速率。使用这种方法放松了抗混叠低通滤波器的限制。6/23 DocID14183 Rev 3AN2668使用白噪声的过采样4使用白噪声的过采样4.1过采样符号的信噪比4.2抽取带白色输入噪声的al假设量化噪声被同化为白噪声,其功率密度均匀分布在DC频率和奈奎斯特频率的一半之间。该功率密度与采样频率无关。当以较高速率采样时,量化噪声会扩散到采样频率的带宽上。图1。过采样对量化噪声的影响根据图1,当以更高的速率采样输入信号时,由灰色矩形区域表示的相同噪声功率分布在等于采样频率的带宽上,该采样频率远大于信号带宽fm。总噪声功率中只有相对较小的一部分落在[调频频带内,信号频带外的噪声功率可以通过数字低通滤波器大大衰减。F-2.fm-FM Fs = 2.fm F-2。N.fm - fm fm fS= 2。N.fm私营部门司同域输入信号量化误差功率谱密度=功率信号密度ai14937b私营部门司降低量化噪声可提高信噪比,进而提高模数转换器的有效位数。过采样OSR输入信号的速度比奈奎斯特频率快1倍,得到以下信噪比SNROVS = 6.02 N 1.76 + + 10 OSR⋅日志( )总之,采样频率每增加一倍,带内噪声就会降低3 dB,测量分辨率会提高1/2位。因此,需要6dB信噪比增益才能向模数转换器添加1个分辨率位。
一般而言,如果应用需要p个额外位,则模数转换器采样频率至少应为:其中FS是所用的当前模数转换器采样频率。OVS 4p FS =平均的传统含义是将m个样本相加,并将结果除以m。平均来自模数转换器测量的几个数据相当于一个低通滤波器,它可以衰减信号波动和噪声。平均方法通常用于平滑和消除输入信号中的说话。DocID14183 Rev 3 7/23使用白噪声AN2668的过采样请注意,正常平均不会提高转换的分辨率,因为每m除的m个N位样本之和是样本的N位表示。抽取是一种平均方法。与过采样结合使用时,抽取可提高模数转换器的分辨率。事实上,将4p模数转换器的N位样本相加,给出了信号在N+2p位上的表示。为了增加p个有效位,总和向右移动p个位。这种滤波器系数相等的FIR滤波器使用户能够通过给出根据OSR输入样本计算的输出样本来过滤过采样频率。过采样方法限制了最大输入频率带宽。事实上,在STM32F1系列、STM32F3系列和STM32Lx系列(最大采样速率约为1 Msps)的情况下,模数转换器可以处理成分高达500千赫的信号。例如,如果需要两个额外的分辨率位,那么当过采样使用白噪声时,可以输入的最大输入频率为500千赫/16 = 31.25千赫。4.3这是什么时候方法有效吗?为了使过采样和抽取方法正常工作,必须满足以下要求:输入信号中应该有一些噪声。该噪声必须在感兴趣的频带上近似具有均匀功率谱密度的白噪声。噪声幅度必须足以在样本之间随机切换输入信号至少1 LSB。否则,输入样本将具有相同的表示,并且求和和平均运算不会给出任何额外的分辨率。对于大多数应用,内部模数转换器热噪声和输入信号噪声足以使用这种方法。在热噪声没有足够高的幅度来随机切换输入信号的情况下,应该在输入信号中注入人工白噪声。这种操作被称为“抖动”。关于这一点,可以提出两个问题。第一个是“如何评估模数转换器噪声并测试其高斯准则?”以及“如果需要,如何产生白噪声?”-检测输入信号噪声高斯准则的一种实用方法是观察干净的DC信号在模数转换器代码上的分布。直方图方法可用于验证输入噪声是否遵循高斯分布。图2中的例子显示了两种可能的情况。8/23 DocID14183 Rev 3AN2668使用白噪声的过采样
-输入噪声不得与此相关e .有用的输入信号和输入信号两个相邻模数转换器代码之间的概率应该相等。这意味着对于使用反馈过程的系统,这种方法不起作用。4.4方法实施于STM32F1系列,STM32F3系列和STM32Lx系列器件本方法描述了在STM32F1系列、STM32F3系列和STM32Lx系列器件上实施和测试过采样方法的不同步骤。根据上一节,为了使该解决方案正常工作,必须有一些白噪声使输入信号随机跳变1/2 LSB。为此,必须考虑应用环境噪声。第一步是计算模数转换器的热噪声,以判断输入信号中是否必须注入外部白噪声。在典型的应用板中,计算的噪声不仅包括模数转换器内部噪声,还包括不同板元件和布局可能产生的噪声。因此,此评估取决于应用程序板,但方法保持不变。直方图方法用于不同的DC输入电压。该输入电压被多次采样(示例5000)。使用电子表格可以很容易地解释相关的分布。例如,对于施加在STM3210B-EVAL评估板上的1.65伏DC输入电压,检测到图3所示的直方图。DocID14183 Rev 3 9/23使用白噪声AN2668的过采样4.4.1使用白色编号的过采样
模数转换器热噪声可以从该直方图中计算出来(虽然可以显示出来,但这不是本应用笔记的目的,此处不提供详细信息)。为了进行该模数转换器噪声测试,用户必须执行以下操作:取消对过采样文件中的#define Themal_Noise_Measure行的注释配置Total_Samples_Number,即模数转换器的转换次数操作。它必须小于65535。码分多址通道被配置为在随机存取存储器缓冲器中存储模数转换器样本的数量。传输结束时,会产生一个中断,并计算每个模数转换器代码的出现次数为了计算模数转换器代码的出现,定义了一个给出相关模数转换器代码的变量运行代码时,超级终端上会显示相关的模数转换器样本及其相应的出现次数。超级终端配置是8位数据,无奇偶校验,115 200波特率。如果找到的模数转换器样本的有效数量小于定义的相关模数转换器样本变量,则模数转换器代码和模数转换器代码出现的次数都显示为0。用户可以捕捉它们并建立直方图。ise嵌入式软件流程图STM32F1系列、STM32F3系列和STM32Lx系列片内模数转换器的转换频率固定为1 MHz。模数转换器DMA通道配置为将模数转换器数据寄存器中的过采样输入数传输到随机存取存储器中的缓冲器。该传输被配置为一次发生。在码分多址传输结束时,触发一个中断,并计算过采样结果。通用定时器TIM2用于产生输入信号采样频率。为此,TIM2基准时钟配置为1秒,其周期决定输入信号采样周期。它在过采样文件中定义为# define Input _ Signal _ Sampling _ Period。当TIM2更新中断被触发时10/23 DocID14183 Rev 3AN2668使用白噪声的过采样