色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何實現單片機內置ADC實現高分辨率采樣?

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-10 14:25 ? 次閱讀
首發:嵌入式客棧
作者:逸珺

導讀

相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現較高分辨率時,第一時間會想到采用一個較高位數的外置ADC去實現。可是高分辨率外置ADC往往價格都不便宜,這就帶來一對矛盾:高指標與低成本。其實利用單片機片上的ADC利用過采樣技術就能很好的解決這樣一對矛盾體,本文來聊聊這個話題

什么是過采樣?

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

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

其中:

  • 為輸入待采樣信號最高頻率
  • 為奈奎斯特頻率。

如果實際采樣頻率高于奈奎斯特頻率,即為過采樣。那么低于奈奎斯特采樣頻率進行采樣就稱為欠采樣。

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

過采樣提高分辨率

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

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

其中:

  • 為過采樣頻率
  • 產品所需實際采樣頻率
  • W為額外所需增加的分辨率位數

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

因此,如果我們以f對信號進行過采樣,然后在所需的采樣周期內收集足夠的樣本以對它們進行平均,現在可以將16位輸出數據用于16位測量。

具體怎么做呢?

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

注意:用于累積過采樣數據并執行除法抽取數據類型必須具有足夠的字節寬度,以防止溢出和截斷錯誤。比如這里累積和可以采樣32位無符號整型。

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

過采樣提高ADC的信噪比

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

SNR理論情況下極限值的計算方式是數據轉換的有效位數,如下所示:

這個公式沒必要去記,用到的時候參考計算一下即可。從公式中可看出,要提升一個模數轉換器的理論SNR的一種可行方案可以通過提升采樣位數,但是需要注意的是這里的信噪比是度量模數轉換器本身的,就一個真實系統的信噪比還與整個信號鏈相關!

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

到底怎么實現呢?

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

voidinit_adc(void){/*配置ADC的采樣率為過采樣率連續中斷模式*/}voidstart_adc(void){/*控制ADC啟動采樣*/}/*不同的開發平臺中斷函數寫法略有差異,比如51需要指定向量*//*OVERSAMPLE_FACTOR=4^RSHIFT_BITS下面兩個宏一起修改*/#defineRSHIFT_BITS(4)#defineOVERSAMPLE_FACTOR(256)staticunsignedshortadc_result=0U;voidadc_isr(void){staticunsignedshortadc_index=OVERSAMPLE_FACTOR;staticunsignedintaccumulator=0U;/*ADC_REGADC轉換結果寄存器,不同平臺名稱不同*/accumulator+=ADC_REG;adc_index--;if(adc_index==0){/*加和按因子抽取*/adc_result=accumulator>>RSHIFT_BITS;accumulator=0;adc_index=OVERSAMPLE_FACTOR;}}

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

總結一下

在成本受限的情況下,可以通過單片機片內ADC過采樣以及累積抽取的技術來提升采樣分辨率,這種技術的特點:

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

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6035

    文章

    44554

    瀏覽量

    634663
  • adc
    adc
    +關注

    關注

    98

    文章

    6495

    瀏覽量

    544468
  • 高分辨率
    +關注

    關注

    0

    文章

    45

    瀏覽量

    15314
收藏 人收藏

    評論

    相關推薦

    如何利用單片機內置ADC實現高分辨率采樣

    相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現高分辨率時,第一時間會想到采用一個較高位數的外置ADC
    發表于 01-28 07:37

    ADC信噪比要怎么分析?高速高分辨率ADC電路要怎么實現

    在雷達、導航等軍事領域中,由于信號帶寬寬(有時可能高于10MHz),要求ADC采樣率高于30MSPS,分辨率大于10位。目前高速高分辨率ADC
    發表于 04-14 06:16

    如何實現DCP的高分辨率控制?

    實現高分辨率的原理是什么如何使用X9241實現高分辨率
    發表于 04-27 06:54

    單片機內置ADC實現高分辨率采樣的方法

    關注+星標公眾號,不錯過精彩內容轉自 | 嵌入式客棧相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現高分辨率時,第一時間會想到采用一個較高位數的外置
    發表于 12-06 07:25

    單片機內置ADC實現高分辨率采樣的方法

    關注、星標嵌入式客棧,精彩及時送達[導讀] 相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現高分辨率時,第一時間會想到采用一個較高位數的外置
    發表于 12-08 07:03

    請問一下單片機內置ADC是如何去實現高分辨率采樣

    相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現高分辨率時,第一...
    發表于 12-09 07:26

    單片機內置ADC實現高分辨率采樣

    [導讀] 相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現高分辨率時,第一時間會想到采用一個較高位數的外置ADC
    的頭像 發表于 10-14 14:48 ?2725次閱讀
    <b class='flag-5'>單片機內置</b><b class='flag-5'>ADC</b><b class='flag-5'>實現</b><b class='flag-5'>高分辨率</b><b class='flag-5'>采樣</b>?

    利用單片機片內ADC實現高分辨率采樣

    [導讀] 相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現高分辨率時,第一時間會想到采用一個較高位數的外置ADC
    的頭像 發表于 10-19 17:15 ?3340次閱讀
    利用<b class='flag-5'>單片機</b>片內<b class='flag-5'>ADC</b><b class='flag-5'>實現</b>較<b class='flag-5'>高分辨率</b><b class='flag-5'>采樣</b>

    利用單片機內置ADC實現高分辨率采樣

    [導讀] 相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現高分辨率時,第一時間會想到采用一個較高位數的外置ADC
    的頭像 發表于 11-03 09:40 ?2504次閱讀
    利用<b class='flag-5'>單片機內置</b><b class='flag-5'>ADC</b><b class='flag-5'>實現</b><b class='flag-5'>高分辨率</b><b class='flag-5'>采樣</b>

    單片機內置ADC實現高分辨率采樣

    相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現高分辨率時,第一時間會想到采用一個較高位數的外置ADC
    的頭像 發表于 02-09 14:40 ?2221次閱讀
    <b class='flag-5'>單片機內置</b><b class='flag-5'>ADC</b><b class='flag-5'>實現</b><b class='flag-5'>高分辨率</b><b class='flag-5'>采樣</b>

    太秀了!單片機內置ADC實現高分辨率采樣

    相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現高分辨率時,第一時間會想到采用一個較高位數的外置ADC
    發表于 01-25 06:58 ?8次下載
    太秀了!<b class='flag-5'>單片機內置</b><b class='flag-5'>ADC</b><b class='flag-5'>實現</b><b class='flag-5'>高分辨率</b><b class='flag-5'>采樣</b>?

    單片機內置ADC如何實現高分辨率采樣

    關注+星標公眾號,不錯過精彩內容轉自 | 嵌入式客棧相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現高分辨率時,第一時間會想到采用一個較高位數的外置
    發表于 11-23 18:06 ?8次下載
    <b class='flag-5'>單片機內置</b><b class='flag-5'>ADC</b>如何<b class='flag-5'>實現</b><b class='flag-5'>高分辨率</b><b class='flag-5'>采樣</b>?

    太秀了!單片機內置ADC實現高分辨率采樣

    關注、星標嵌入式客棧,精彩及時送達[導讀] 相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現高分辨率時,第一時間會想到采用一個較高位數的外置
    發表于 11-25 11:36 ?13次下載
    太秀了!<b class='flag-5'>單片機內置</b><b class='flag-5'>ADC</b><b class='flag-5'>實現</b><b class='flag-5'>高分辨率</b><b class='flag-5'>采樣</b>?

    太秀了!單片機內置 ADC 實現高分辨率采樣

    作者|逸珺來源 |嵌入式客棧(ID:embInn)頭圖 | CSDN下載自東方IC[導讀] 相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現高分辨率時,第一...
    發表于 11-26 13:51 ?20次下載
    太秀了!<b class='flag-5'>單片機內置</b> <b class='flag-5'>ADC</b> <b class='flag-5'>實現</b><b class='flag-5'>高分辨率</b><b class='flag-5'>采樣</b>?

    太秀了!單片機內置ADC實現高分辨率采樣

    相信ADC的應用或多或少都會用到,在很多場合都有分辨率要求,要實現高分辨率時,第一時間會想到采用一個較高位數的外置ADC
    發表于 01-26 17:35 ?0次下載
    太秀了!<b class='flag-5'>單片機內置</b><b class='flag-5'>ADC</b><b class='flag-5'>實現</b><b class='flag-5'>高分辨率</b><b class='flag-5'>采樣</b>?
    主站蜘蛛池模板: 巨黄的肉辣文np| 夫妻日本换H视频| 中文字幕蜜臀AV熟女人妻| qvod电影网站| 99精品视频在线| 北条麻妃のレズナンパ| YY6080A旧里番在线观看| 成人免费无毒在线观看网站| 高h喷水荡肉爽文总攻| 国产 亚洲 日韩 欧美 在线观看 | 亚洲乱妇88网| 亚洲色视在线观看视频| 伊人热| 与邻居换娶妻子2在线观看| 13小箩利洗澡无码视频APP| 99久久免热在线观看6| 国产精品99久久久久久AV| 国产午夜三级一区二区三| 久久性生大片免费观看性| 男人边吃奶边挵进去呻吟漫画| 欧美日韩北条麻妃一区二区| 使劲别停好大好深好爽动态图| 亚洲精品在线播放视频| 1a级毛片免费观看| 俄罗斯雏妓的BBB孩交| 花蝴蝶在线观看中字| 欧美重口绿帽video| 亚洲AV久久无码高潮喷水| 2020久久精品永久免费| 国产69精品久久久久妇女| 浪潮AV色综合久久天堂| 我不卡影院手机在线观看| 91popny蜜桃臀| 国产麻豆AV伦| 欧美高清另类video| 亚洲色欲色欲WWW在线丝| YELLOW视频在线观看大全| 精品久久久久久久久免费影院 | 69精品人人人人| 国产午夜精品理论片在线| 啪啪漫画无遮挡全彩h网站|