關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應用 > Stellaris系列微控制器的ADC過采樣技術(shù)(一)

Stellaris系列微控制器的ADC過采樣技術(shù)(一)

作者: 時間:2012-06-29 來源:網(wǎng)絡(luò) 收藏

概述

本文引用地址:http://butianyuan.cn/article/160366.htm
Luminary Micro的部分產(chǎn)品中提供了模數(shù)轉(zhuǎn)換器()模塊。的硬件分辨率為10位,但由于噪音和其它使精度變小的因素的影響,實際的精度小于10位。本應用文檔提供了一個基于軟件的過,從而使轉(zhuǎn)換結(jié)果的有效位數(shù)(ENOB)得到了改善。文檔中描述了對輸入信號執(zhí)行過的方法,以及在精度和整個系統(tǒng)性能上的影響。
過采樣,顧名思義就是從輸入信號中采集額外的轉(zhuǎn)換數(shù)據(jù)。模擬信號采樣的標準約定指出:采樣頻率fS至少是輸入信號的最高頻率成分fH的兩倍。這被稱作奈奎斯特采樣定理(Nyquist Theorem)(見等式1)。
等式1 奈奎斯特采樣定理:
fS2fH
只要所選的采樣頻率高于fS就被看作是過采樣。當過采樣與平均相結(jié)合時,可改善ENOB。這是可以實現(xiàn)的,因為在將過采樣的結(jié)果進行平均的同時也將量化噪音進行了平均,這樣就提高了信噪比(SNR),信噪比的提高會在ENOB上產(chǎn)生一個直接的影響,從而改善ENOB。
精度上每提高一位,必須對信號進行4倍的過采樣,即過采樣頻率fOS與采樣頻率fS的關(guān)系如等式2所示:
等式2 過采樣頻率:
fOS=4X*fS
xENOB上需改進的位數(shù)(例如,需要改進2位,則x2)。
平均
平均操作可看作是輸入信號上的一個低通濾波器,當采樣數(shù)據(jù)寬度(simple size)增加時濾波器的通帶變窄。有兩種方法可對轉(zhuǎn)換結(jié)果進行平均:常規(guī)平均和滑動平均(rolling average)。
常規(guī)平均
對輸入信號進行n次采樣,將采樣值相加并將結(jié)果除以n,這即是常規(guī)平均。圖1所示的即為常規(guī)平均。當在過采樣方案中使用常規(guī)平均時,使用該之后,用于計算平均值的采樣數(shù)據(jù)被丟棄。每次應用程序需要一個新的轉(zhuǎn)換結(jié)果時,重復該處理。
在應用中,常規(guī)平均方案可理想地用于采樣頻率與的采樣率相比較小的情況。
要點:當在常規(guī)平均方案中執(zhí)行n倍過采樣時,有效的ADC采樣率將按照相同的因子降低。例如,在對輸入信號進行4倍過采樣時,最大的有效ADC采樣率降低為原來的1/4,即采樣率為250K/sADC有效地變?yōu)?/span>62.5K/sADC
2顯示的解決方案使用常規(guī)平均對輸入源進行4倍過采樣。在該例中,應用要求在每個t階段(t0、t1、t2等等)準備好一個新值(平均操作完成)。
在使用平均技術(shù)時,因為計算后的轉(zhuǎn)換結(jié)果要與上面的n個采樣點對應,因此稍微有一點延遲。延遲時間使用等式3中的公式來計算:
等式3 平均后的采樣延遲:
tdelay=(tSn-tS0)/2+tprocess
tS0為進行平均時第一個采樣點出現(xiàn)的時間,tSn為最后一個采樣點出現(xiàn)的時間。中斷處理程序處理采樣數(shù)據(jù)所需的時間,并被計算為供應用使用的平均tproces也被分解到等式中。
滑動平均
滑動平均在平均計算中使用存放n個最近采樣值的采樣緩沖區(qū),允許ADC在其最大采樣率時采樣(ADC采樣率并不象常規(guī)平均那樣減小為原來的1/n),這樣它可理想地用于要求過采樣和更高采樣率的應用中。在未知狀態(tài)中,采樣緩沖區(qū)能夠用有效的采樣數(shù)據(jù)預先填充(通過捕獲第一個實際數(shù)據(jù)點之前的n-1個采樣點),也可保持為空,由應用來決定。不預先填充緩沖區(qū)的危害是前面的n-1個采樣點包含無效的數(shù)據(jù),并在滑動平均計算中產(chǎn)生不利的影響。如果這些影響可被應用所接受,并且如果軟件能夠解決前面的n-1個偏移的采樣點的可能性,則可去除緩沖區(qū)填充操作。
3顯示了采用滑動平均的過采樣實例。圖中顯示的情況為:輸入信號進行4倍過采樣,即采樣緩沖區(qū)使用4個最近的采樣值來計算平均值。在該例中,應用要求在每個t時刻有一個新的采樣值。在t0時刻計算第一個過采樣的結(jié)果之前,采樣緩沖區(qū)收集了3個采樣值,這樣提供給應用的第一個數(shù)據(jù)有效。
在使用滑動平均時,等式3中計算得來的采樣延遲也同樣適用。要點:因為必須在每次中斷過程中執(zhí)行采樣緩沖區(qū)處理,因此使用滑動平均增加了額外的處理開銷。
實現(xiàn)
Luminary MicroADC中使用采樣定序器(sample sequencer)結(jié)構(gòu),它使用一次觸發(fā)就可采集到高達17個不同的采樣值(來自任意的模擬通道),這樣過采樣的實現(xiàn)就變得非常簡單。而通過向應用提供在任意給定的時刻對多個通道進行過采樣的方法,使得軟件的實現(xiàn)也具有極大的靈活性。
下面將給出使用的多種過采樣實現(xiàn)。有許多方法是將采樣定序器的配置、ADC觸發(fā)和中斷相結(jié)合來工作的。這里所舉的例子焦點都集中在最常使用的技術(shù)上。
所有的實例代碼都使用系統(tǒng)驅(qū)動庫的ADC函數(shù)。驅(qū)動庫和本文檔中顯示的軟件實例的源代碼可從Luminary Micro網(wǎng)站:http://www.luminarymicro.com中獲得。
使用驅(qū)動庫函數(shù)的8倍過采樣
Stellaris驅(qū)動庫具有內(nèi)置的允許進行高達8倍過采樣的函數(shù)。該級別的過采樣能夠使ENOB改進大約1.4位,因此在大多數(shù)應用中已足夠了。
使用驅(qū)動庫的過采樣函數(shù)是對輸入信號進行過采樣的最簡單的方法。配置典型ADC轉(zhuǎn)換和過采樣轉(zhuǎn)換的主要不同在于函數(shù)調(diào)用。過采樣函數(shù)有一個ADCSoftwareOversample前綴,很容易從標準ADC函數(shù)中識別出。
一旦確定好ADC轉(zhuǎn)換處理的參數(shù)(采樣頻率、觸發(fā)源、通道、等等),寫代碼是非常簡單的。舉例:例1中的代碼段即為建立一個8倍過采樣的10ms周期轉(zhuǎn)換(由定時器觸發(fā))的代碼。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉