王文海
摘要:本文通過對(duì)該微控制器數(shù)字轉(zhuǎn)換器(ADC)的精度的基本原理進(jìn)行研究,并對(duì)STM32微控制器內(nèi)核進(jìn)行可行性分析,同時(shí)通過研究數(shù)據(jù)來對(duì)過采樣技術(shù)能否通過STM32微控制器技術(shù)實(shí)驗(yàn),從而得出,過采樣技術(shù)的使用能夠有效地減少STM32微控制器中處理器的負(fù)擔(dān),大大提高其自帶模擬數(shù)字轉(zhuǎn)換器的精度。
關(guān)鍵詞:STM32微控制器;過采樣技術(shù);模擬數(shù)字轉(zhuǎn)換器(ADC)
中圖分類號(hào):TP335 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2017)10-0005-01
1 過采樣技術(shù)的原理分析
1.1 量化噪聲探究
模擬數(shù)字轉(zhuǎn)換器的采樣過程就是通過吧連續(xù)的模擬信號(hào)通過轉(zhuǎn)換成為有限的數(shù)字,在這個(gè)過程中每一個(gè)數(shù)字代表了以此采樣所獲取的信息。在進(jìn)行量化的過程中,要根據(jù)數(shù)據(jù)的位置劃定合適的量化分析,比如12位數(shù)據(jù)就代表212個(gè)量化級(jí),如果是14位數(shù)據(jù)就代表214個(gè)量化級(jí),可以將同一級(jí)別的樣本的值歸為一種類型,同時(shí)給定一種量化值。轉(zhuǎn)換器的模擬信號(hào)是連續(xù)不間斷的,其量化的結(jié)果和實(shí)際模擬量之間的差值叫做誤差(eq),或者稱為量化噪聲。
1.2 過采樣率與精度的關(guān)系
假設(shè)量化噪聲為白噪聲,就能夠同歸對(duì)量化誤差的計(jì)算獲得平均噪聲的功率。
E(e)=σ2de=Δ2/12
1.3 過采樣數(shù)據(jù)的計(jì)算
通過4p的過采樣率得來的采樣值再通過求和運(yùn)算、平均計(jì)算等方法進(jìn)行處理,但是卻不能簡單的把4p的采樣值進(jìn)行簡單的加法和除法的運(yùn)算,這種運(yùn)算方法的濾波作用很低,比如R位的采樣值通過精度的平均后仍然是R位,并不能提高過采樣的精度。在進(jìn)行過采樣數(shù)據(jù)的提取時(shí)可以將4p個(gè)采樣數(shù)據(jù)值進(jìn)行相加得到R+2p位的數(shù)值,通過數(shù)值右移p個(gè)單位,就能夠得到R+P位的數(shù)值,此時(shí)的數(shù)字是提高了p位后精度的采樣最后結(jié)果。
1.4 過采樣能夠進(jìn)行的前提
過采樣技術(shù)的順利施行是有前提條件的,并不能在隨時(shí)的情況下就能發(fā)生很好的作用,一般利用過采樣技術(shù)來提高采樣的精度通常是要滿足下面的兩個(gè)條件:一是控制器輸入的信號(hào)必須存在一些白噪音,而功率的平均分配要在采樣技術(shù)有用的頻率帶內(nèi);二是白噪音的幅度要能夠?qū)斎氲脑胍艋蛘咝盘?hào)產(chǎn)生足夠的影響范圍,讓ADC的轉(zhuǎn)換信號(hào)能夠隨機(jī)的轉(zhuǎn)換以為,如果不能則輸入的信號(hào)轉(zhuǎn)出的值就會(huì)相同,這樣的抽取結(jié)果不能提高過采樣的數(shù)據(jù)精度。如果不能反轉(zhuǎn)1位就需要人為在傳入的信號(hào)中輸入一定的噪聲,噪聲的頻率不能和輸入的信號(hào)有線性相關(guān)的關(guān)系,同時(shí)還要保證自帶ADC的轉(zhuǎn)換結(jié)果能夠在杏林的量化值之間進(jìn)行隨機(jī)的翻轉(zhuǎn)。
2 基于STM321微控制器的過采樣技術(shù)
2.1 STM32微控制器自帶ADC的特征
STM32微控制器的內(nèi)部自帶著有十二位的ADC,這種ADC具有十六位的輸入信號(hào)的通道,通過采樣序列寄存器的存在,ADC的這些通道能夠通過任何的順序進(jìn)行采樣。自帶ADC通常完成每一次的采樣就能又一次DMA的請(qǐng)求,若是相對(duì)應(yīng)的DMA通道已被占用,過采樣值能夠直接通過DMA傳送大SRAM,同時(shí)不用經(jīng)過CPU的干擾就能夠到達(dá)。STM32微控制器內(nèi)部鑲嵌了具有八個(gè)十六位的定時(shí)器,這些定時(shí)器具有以下模式:獲得比較、輸入與輸出的比較、PWN或者是單脈沖等的工作方式。在進(jìn)行定時(shí)器的安排時(shí)可以將其設(shè)置為與CPU相同的時(shí)鐘大小,從而能夠準(zhǔn)確的進(jìn)行定時(shí)。
2.2 基于STM32微控制器過采樣的條件檢查
為了過采樣技術(shù)能夠順利得進(jìn)行使用,要對(duì)其STM32微控制器系統(tǒng)進(jìn)行設(shè)計(jì)軟件代碼的監(jiān)測(cè),觀察該系統(tǒng)是否符合過采樣條件的需要。在進(jìn)行條件檢驗(yàn)的過程中,要輸入頻率為五十赫茲的信號(hào),同時(shí)根據(jù)Nyquist定律將采樣率控制到至少為一百赫茲。在這樣的采樣頻率下向微控制器的自帶ADC0.0000V、1.7000V、3.4000V的輸入信號(hào),同時(shí)降采樣值直接輸送到計(jì)算機(jī)上不用經(jīng)過處理,再用Excel軟件之間觀察得到的數(shù)據(jù),系統(tǒng)中的噪聲傳入信號(hào)若能翻轉(zhuǎn)一到兩位,將噪聲的分布看作是隨機(jī)的,也可以將其任作為白噪聲,這個(gè)結(jié)果已經(jīng)滿足了過采樣技術(shù)所需的條件,不用人為的創(chuàng)造信號(hào)進(jìn)行輸送,進(jìn)而引起白噪聲。
2.3 STM32微控制器的軟件設(shè)計(jì)
STM32微控制器的軟件系統(tǒng)設(shè)計(jì)主要包括系統(tǒng)功能的初始化和中斷處理兩個(gè)方面。在進(jìn)行系統(tǒng)初始化方面的設(shè)計(jì)時(shí)主要是針對(duì)STM32的ADC、CPU時(shí)鐘、DMA定時(shí)器等進(jìn)行初始化管理,為了將它們的精度提高到四位,就要經(jīng)傳入的信號(hào)至少控制在25.6kHz的過采樣頻率。將STM32微控制器的CPU時(shí)鐘設(shè)定為56M Hz、ADC的時(shí)鐘要設(shè)置為系數(shù)為八的的地方,同時(shí)還要經(jīng)時(shí)間的轉(zhuǎn)換設(shè)置為242個(gè)ADC時(shí)鐘周期,以ADC的采樣率能夠達(dá)到29kHz,一個(gè)能夠滿足過采樣技術(shù)頻率的要求,有效避免了占用微控制器CPU的時(shí)間。將微控制器的定時(shí)器設(shè)置為每個(gè)10ms產(chǎn)生以此中斷,在中斷的同時(shí)能夠啟動(dòng)DMA傳輸,將傳輸?shù)脑丛O(shè)備設(shè)置為模擬數(shù)字轉(zhuǎn)換器的寄存器。在代碼的傳輸完成后,通過中斷處理程序?qū)υ撨^程中的256采樣值進(jìn)行求和的運(yùn)算,將得到的和進(jìn)行右移八位的處理,就能夠得到一個(gè)12的過采樣值,過采樣值是經(jīng)過均值濾波后得到的結(jié)果,該值用于過采樣結(jié)果的參照。若是右移4位,能夠得到一個(gè)16位的過采樣值,這個(gè)采樣值是采樣的最終結(jié)果,可以將這兩種數(shù)據(jù)通過計(jì)算機(jī)進(jìn)行顯示。
3 結(jié)語
基于STM32的過采樣技術(shù)能夠有效地解決STM32微控制器自帶ADC精度低的問題,提高過采樣結(jié)果的精度,減少了外部昂貴ADC控制器的使用,提高了工作效率。但是這種過采樣技術(shù)的進(jìn)行是有一定的條件限制的,對(duì)CPU也有一定的影響,但是總的效果卻很理想。
參考文獻(xiàn)
[1]劉鵬飛.基于過采樣的軌道移頻信號(hào)檢測(cè)算法設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化與儀器儀表,2016,(12):236-238.
[2]趙君鑫,孫樹文. 基于過采樣技術(shù)的高精度次聲信號(hào)采集系統(tǒng)[J].中北大學(xué)學(xué)報(bào)(自然科學(xué)版),2014,(05):605-609.
[3]郝雯,沈金鑫,梅成.基于STM32單片機(jī)的存儲(chǔ)式數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2013,(17):80-82.
[4]楊偉明,劉全璽,劉成臣,劉玉良.基于STM32微控制器的數(shù)控穩(wěn)壓穩(wěn)流電源設(shè)計(jì)[J].天津科技大學(xué)學(xué)報(bào),2012,(05):56-60.endprint