日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

電子發(fā)燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>太秀了!單片機(jī)內(nèi)置ADC實(shí)現(xiàn)高分辨率采樣?

太秀了!單片機(jī)內(nèi)置ADC實(shí)現(xiàn)高分辨率采樣?

2021-01-25 | pdf | 278.09KB | 次下載 | 2積分

資料介紹

相信ADC的應(yīng)用或多或少都會(huì)用到,在很多場(chǎng)合都有分辨率要求,要實(shí)現(xiàn)較高分辨率時(shí),第一時(shí)間會(huì)想到采用一個(gè)較高位數(shù)的外置ADC去實(shí)現(xiàn)。可是高分辨率外置ADC往往價(jià)格都不便宜,這就帶來一對(duì)矛盾:高指標(biāo)與低成本。其實(shí)利用單片機(jī)片上的ADC利用過采樣技術(shù)就能很好的解決這樣一對(duì)矛盾體,本文來聊聊這個(gè)話題。

什么是過采樣?

信號(hào)處理中,過采樣是指以明顯高于奈奎斯特速率的采樣頻率對(duì)信號(hào)進(jìn)行采樣。從理論上講,如果以奈奎斯特速率或更高的速率進(jìn)行采樣,則可以完美地重建帶寬受限的信號(hào)。奈奎斯特頻率定義為信號(hào)帶寬的兩倍。過采樣能夠提高分辨率和信噪比SNR,并且通過放寬抗混疊濾波器的性能要求,有助于避免混疊和相位失真。

在很多項(xiàng)目應(yīng)用中,需要測(cè)量信號(hào)的動(dòng)態(tài)范圍較大,且需要參數(shù)的微小變化。例如,ADC需要測(cè)量很大的溫度范圍(比如工業(yè)中甚至要求從-200℃~500℃),但仍要求系統(tǒng)對(duì)小于1度的變化做出響應(yīng)。常見的單片機(jī)片上ADC位數(shù)為12位,如要實(shí)現(xiàn)高于12位分辨率要怎么做呢?我們知道奈奎斯特-香農(nóng)采樣定理可知:

其中:

  • 為輸入待采樣信號(hào)最高頻率
  • 為奈奎斯特頻率。

如果實(shí)際采樣頻率高于奈奎斯特頻率,即為過采樣。那么低于奈奎斯特采樣頻率進(jìn)行采樣就稱為欠采樣,如下圖:

或許你會(huì)問,常規(guī)的應(yīng)用都是過采樣,怎么也沒見分辨率提高了呀?如果僅僅過采樣,要實(shí)現(xiàn)更高分辨率顯然是不夠的,那么要怎么利用過采樣實(shí)現(xiàn)更高的分辨率呢?要知道所采用的ADC硬件核分辨率是固定的,難道還會(huì)變不成?
過采樣提高分辨率

如果對(duì)一模擬信號(hào),采用過采樣,然后再進(jìn)行一定的軟件后處理,理論上是可以得到更高分辨率的:

為增加有效位數(shù)(ENOB :effective number of bits),對(duì)信號(hào)進(jìn)行過采樣,所需的過采樣率可以由下面公式確定(省略理論推導(dǎo),過于枯燥):

其中:

  • 為過采樣頻率
  • 產(chǎn)品所需實(shí)際采樣頻率
  • W為額外所需增加的分辨率位數(shù)

假設(shè)系統(tǒng)使用12位ADC每100 ms輸出一次采樣值也即(10 Hz)。為了將測(cè)量的分辨率提高到16位,我們按上述公式計(jì)算過采樣頻率:

因此,如果我們以對(duì)信號(hào)進(jìn)行過采樣,然后在所需的采樣周期內(nèi)收集足夠的樣本以對(duì)它們進(jìn)行平均,現(xiàn)在可以將16位輸出數(shù)據(jù)用于16位測(cè)量。

具體怎么做呢?

  • 首先將256個(gè)連續(xù)采樣累加
  • 然后將總數(shù)除以16(或?qū)⒖倲?shù)右移4位)。該過程通常稱為抽取,也即將速率采樣。
  • 在類似進(jìn)行下一次16位樣本處理

注意:用于累積過采樣數(shù)據(jù)并執(zhí)行除法抽取數(shù)據(jù)類型必須具有足夠的字節(jié)寬度,以防止溢出和截?cái)噱e(cuò)誤。比如這里累積和可以采樣32位無符號(hào)整型。

由上面公式可得出一個(gè)重要結(jié)論:每提高W位分辨率,需要提高采樣率4W倍。

過采樣提高ADC的信噪比

ADC測(cè)量的SNR理論極限基于量化噪聲,這是基于在沒有過采樣和平滑濾波情況下模數(shù)轉(zhuǎn)換過程中固有的量化誤差所致。而量化誤差取決于ADC分辨率的位數(shù),其中N為ADC的位數(shù),Vref為參考電壓。

SNR理論情況下極限值的計(jì)算方式是數(shù)據(jù)轉(zhuǎn)換的有效位數(shù),如下所示:

這個(gè)公式?jīng)]必要去記,用到的時(shí)候參考計(jì)算一下即可。從公式中可看出,要提升一個(gè)模數(shù)轉(zhuǎn)換器的理論SNR的一種可行方案可以通過提升采樣位數(shù),但是需要注意的是這里的信噪比是度量模數(shù)轉(zhuǎn)換器本身的,就一個(gè)真實(shí)系統(tǒng)的信噪比還與整個(gè)信號(hào)鏈相關(guān)!

從上式中不難算出,12位ADC的理論SNR極限值為74dB,而通過過采樣提升4位分辨率后,其SNR理論極限提高至96 dB!

到底怎么實(shí)現(xiàn)呢?

這里以偽代碼的方式給出編程思路:

void init_adc(void)
{
    /*配置ADC的采樣率為過采樣率連續(xù)中斷模式*/
}

void start_adc(void)
{
   /*控制ADC啟動(dòng)采樣*/
}

/*不同的開發(fā)平臺(tái)中斷函數(shù)寫法略有差異,比如51需要指定向量   */
/*OVERSAMPLE_FACTOR=4^RSHIFT_BITS 下面兩個(gè)宏一起修改 */
#define RSHIFT_BITS        (4)
#define OVERSAMPLE_FACTOR  (256)
static unsigned short adc_result=0U;
void adc_isr(void)
{
    static unsigned short adc_index = OVERSAMPLE_FACTOR;
    static unsigned int accumulator = 0U;
    
    /*ADC_REG ADC轉(zhuǎn)換結(jié)果寄存器,不同平臺(tái)名稱不同*/ 
    accumulator += ADC_REG; 
    adc_index--;
    if( adc_index==0 )
    {
        /* 加和按因子抽取 */
        adc_result  = accumulator>>RSHIFT_BITS;
        accumulator = 0;
        adc_index   = OVERSAMPLE_FACTOR;
    }
}

該方案有一個(gè)缺陷,就是每次ADC中斷都需要CPU參與,在過采樣率很高的情況下,上述方案消耗很多CPU資源,那么如果單片機(jī)內(nèi)存資源足夠的情況下可以考慮采用DMA模式,采集很多數(shù)據(jù)并將數(shù)據(jù)暫存下來,然后再做累加平均抽取。這是空間換時(shí)間的策略的體現(xiàn)。這個(gè)編代碼也很容易,只需要申請(qǐng)一片內(nèi)存區(qū),內(nèi)存區(qū)的大小可以定為256的倍數(shù),這是因?yàn)樵谔嵘?位分辨率情況下,一個(gè)16位的輸出樣本需要256個(gè)12位樣本。

總結(jié)一下

在成本受限的情況下,可以通過單片機(jī)片內(nèi)ADC過采樣以及累積抽取的技術(shù)來提升采樣分辨率,這種技術(shù)的特點(diǎn):

  • 可以使用過采樣和平均來提高測(cè)量分辨率,而無需增加昂貴的片外ADC。
  • 過采樣和加和抽取將以提高CPU利用率和降低吞吐量為代價(jià)來提高SNR和測(cè)量分辨率。
  • 過采樣和加和抽取可以改善白噪聲的信噪比。

本文轉(zhuǎn)載自:嵌入式客棧微信公眾號(hào)(作者: 逸珺)


免責(zé)聲明:本文為轉(zhuǎn)載文章,轉(zhuǎn)載此文目的在于傳遞更多信息,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)聯(lián)系小編進(jìn)行處理。


單片機(jī) adc
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1冷柜-電氣控制系統(tǒng)講解
  2. 13.68 MB  |  4次下載  |  10 積分
  3. 2安川A1000變頻器中文版說明書
  4. 20.16 MB  |  3次下載  |  3 積分
  5. 3直流電路的組成和基本定律
  6. 1.67 MB   |  2次下載  |  免費(fèi)
  7. 4丹佛斯2800系列變頻器說明書
  8. 8.00 MB  |  1次下載  |  5 積分
  9. 5PC8011同步開關(guān)型降壓3.5A單節(jié)鋰電池充電管理電路技術(shù)手冊(cè)
  10. 0.74 MB   |  1次下載  |  免費(fèi)
  11. 6ES7243E+ES8311音頻錄制與播放電路資料
  12. 0.06 MB   |  1次下載  |  5 積分
  13. 7SDM02 激光測(cè)距模塊產(chǎn)品手冊(cè)
  14. 0.43 MB   |  1次下載  |  免費(fèi)
  15. 8SDFM 激光測(cè)距模塊模組手冊(cè)
  16. 0.54 MB   |  1次下載  |  免費(fèi)

本月

  1. 1CH341編程器軟件NeoProgrammer_2.2.0.10
  2. 20.47 MB   |  170次下載  |  1 積分
  3. 22025智能家居傳感器市場(chǎng)分析及創(chuàng)新應(yīng)用
  4. 3.11 MB  |  43次下載  |  免費(fèi)
  5. 3RV1126B系列開發(fā)板產(chǎn)品資料
  6. 4.19 MB  |  18次下載  |  免費(fèi)
  7. 4CH341編程軟件下載
  8. 2.50 MB   |  16次下載  |  5 積分
  9. 5全志系列-米爾基于T153核心板開發(fā)板 四核異構(gòu)、3路千兆網(wǎng),賦能多元化工業(yè)場(chǎng)景
  10. 3.05 MB  |  12次下載  |  免費(fèi)
  11. 6【開源】60余套STM32單片機(jī)、嵌入式Linux、物聯(lián)網(wǎng)、人工智能項(xiàng)目案例及入門學(xué)習(xí)資源包
  12. 10.55 MB  |  8次下載  |  免費(fèi)
  13. 7冷柜-電氣控制系統(tǒng)講解
  14. 13.68 MB  |  4次下載  |  10 積分
  15. 8特斯拉MODEL S車載充電機(jī)主電路回路原理圖
  16. 0.81 MB   |  4次下載  |  3 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233094次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費(fèi)下載
  8. 340992  |  191448次下載  |  10 積分
  9. 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  10. 158M  |  183356次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81604次下載  |  10 積分
  13. 7Keil工具M(jìn)DK-Arm免費(fèi)下載
  14. 0.02 MB  |  73824次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分
分宜县| 揭阳市| 历史| 湄潭县| 万宁市| 望都县| 揭东县| 宿松县| 徐水县| 南丹县| 阜城县| 浦北县| 阿城市| 河曲县| 潍坊市| 晋宁县| 永清县| 池州市| 通辽市| 浦江县| 镇远县| 沙雅县| 石景山区| 水富县| 南郑县| 泰顺县| 博白县| 岚皋县| 富宁县| 自治县| 云阳县| 涡阳县| 南皮县| 丹寨县| 长葛市| 新干县| 德格县| 克拉玛依市| 莒南县| 鄂伦春自治旗| 屯昌县|