基于STM32微控制器的过采样技术研究与实现
2017-12-21王文海
王文海
摘要:本文通过对该微控制器数字转换器(ADC)的精度的基本原理进行研究,并对STM32微控制器内核进行可行性分析,同时通过研究数据来对过采样技术能否通过STM32微控制器技术实验,从而得出,过采样技术的使用能够有效地减少STM32微控制器中处理器的负担,大大提高其自带模拟数字转换器的精度。
关键词:STM32微控制器;过采样技术;模拟数字转换器(ADC)
中图分类号:TP335 文献标识码:A 文章编号:1007-9416(2017)10-0005-01
1 过采样技术的原理分析
1.1 量化噪声探究
模拟数字转换器的采样过程就是通过吧连续的模拟信号通过转换成为有限的数字,在这个过程中每一个数字代表了以此采样所获取的信息。在进行量化的过程中,要根据数据的位置划定合适的量化分析,比如12位数据就代表212个量化级,如果是14位数据就代表214个量化级,可以将同一级别的样本的值归为一种类型,同时给定一种量化值。转换器的模拟信号是连续不间断的,其量化的结果和实际模拟量之间的差值叫做误差(eq),或者称为量化噪声。
1.2 过采样率与精度的关系
假设量化噪声为白噪声,就能够同归对量化误差的计算获得平均噪声的功率。
E(e)=σ2de=Δ2/12
1.3 过采样数据的计算
通过4p的过采样率得来的采样值再通过求和运算、平均计算等方法进行处理,但是却不能简单的把4p的采样值进行简单的加法和除法的运算,这种运算方法的滤波作用很低,比如R位的采样值通过精度的平均后仍然是R位,并不能提高过采样的精度。在进行过采样数据的提取时可以将4p个采样数据值进行相加得到R+2p位的数值,通过数值右移p个单位,就能够得到R+P位的数值,此时的数字是提高了p位后精度的采样最后结果。
1.4 过采样能够进行的前提
过采样技术的顺利施行是有前提条件的,并不能在随时的情况下就能发生很好的作用,一般利用过采样技术来提高采样的精度通常是要满足下面的两个条件:一是控制器输入的信号必须存在一些白噪音,而功率的平均分配要在采样技术有用的频率带内;二是白噪音的幅度要能够对输入的噪音或者信号产生足够的影响范围,让ADC的转换信号能够随机的转换以为,如果不能则输入的信号转出的值就会相同,这样的抽取结果不能提高过采样的数据精度。如果不能反转1位就需要人为在传入的信号中输入一定的噪声,噪声的频率不能和输入的信号有线性相关的关系,同时还要保证自带ADC的转换结果能够在杏林的量化值之间进行随机的翻转。
2 基于STM321微控制器的过采样技术
2.1 STM32微控制器自带ADC的特征
STM32微控制器的内部自帶着有十二位的ADC,这种ADC具有十六位的输入信号的通道,通过采样序列寄存器的存在,ADC的这些通道能够通过任何的顺序进行采样。自带ADC通常完成每一次的采样就能又一次DMA的请求,若是相对应的DMA通道已被占用,过采样值能够直接通过DMA传送大SRAM,同时不用经过CPU的干扰就能够到达。STM32微控制器内部镶嵌了具有八个十六位的定时器,这些定时器具有以下模式:获得比较、输入与输出的比较、PWN或者是单脉冲等的工作方式。在进行定时器的安排时可以将其设置为与CPU相同的时钟大小,从而能够准确的进行定时。
2.2 基于STM32微控制器过采样的条件检查
为了过采样技术能够顺利得进行使用,要对其STM32微控制器系统进行设计软件代码的监测,观察该系统是否符合过采样条件的需要。在进行条件检验的过程中,要输入频率为五十赫兹的信号,同时根据Nyquist定律将采样率控制到至少为一百赫兹。在这样的采样频率下向微控制器的自带ADC0.0000V、1.7000V、3.4000V的输入信号,同时降采样值直接输送到计算机上不用经过处理,再用Excel软件之间观察得到的数据,系统中的噪声传入信号若能翻转一到两位,将噪声的分布看作是随机的,也可以将其任作为白噪声,这个结果已经满足了过采样技术所需的条件,不用人为的创造信号进行输送,进而引起白噪声。
2.3 STM32微控制器的软件设计
STM32微控制器的软件系统设计主要包括系统功能的初始化和中断处理两个方面。在进行系统初始化方面的设计时主要是针对STM32的ADC、CPU时钟、DMA定时器等进行初始化管理,为了将它们的精度提高到四位,就要经传入的信号至少控制在25.6kHz的过采样频率。将STM32微控制器的CPU时钟设定为56M Hz、ADC的时钟要设置为系数为八的的地方,同时还要经时间的转换设置为242个ADC时钟周期,以ADC的采样率能够达到29kHz,一个能够满足过采样技术频率的要求,有效避免了占用微控制器CPU的时间。将微控制器的定时器设置为每个10ms产生以此中断,在中断的同时能够启动DMA传输,将传输的源设备设置为模拟数字转换器的寄存器。在代码的传输完成后,通过中断处理程序对该过程中的256采样值进行求和的运算,将得到的和进行右移八位的处理,就能够得到一个12的过采样值,过采样值是经过均值滤波后得到的结果,该值用于过采样结果的参照。若是右移4位,能够得到一个16位的过采样值,这个采样值是采样的最终结果,可以将这两种数据通过计算机进行显示。
3 结语
基于STM32的过采样技术能够有效地解决STM32微控制器自带ADC精度低的问题,提高过采样结果的精度,减少了外部昂贵ADC控制器的使用,提高了工作效率。但是这种过采样技术的进行是有一定的条件限制的,对CPU也有一定的影响,但是总的效果却很理想。
参考文献
[1]刘鹏飞.基于过采样的轨道移频信号检测算法设计与实现[J].自动化与仪器仪表,2016,(12):236-238.
[2]赵君鑫,孙树文. 基于过采样技术的高精度次声信号采集系统[J].中北大学学报(自然科学版),2014,(05):605-609.
[3]郝雯,沈金鑫,梅成.基于STM32单片机的存储式数据采集系统设计[J].电子设计工程,2013,(17):80-82.
[4]杨伟明,刘全玺,刘成臣,刘玉良.基于STM32微控制器的数控稳压稳流电源设计[J].天津科技大学学报,2012,(05):56-60.endprint