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

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

3天內不再提示

STM32的12位ADC過采樣實現16位分辨率

冬至子 ? 來源:嵌入式技術開發 ? 作者:Mr張工 ? 2023-10-12 10:19 ? 次閱讀

1.什么是過采樣

過采樣技術是一種以犧牲采樣速度來提高ADC分辨率的技術。部分STM32單片機是支持硬件過采樣的,如STM32G0系列。通過過采樣,可以將12位的ADC提升到16位,非常實用。

圖片

根據過采樣技術,每提高1位ADC分辨率,需要增加4倍的采樣率。也就是說1次采樣是12Bit,4次是13Bit,16次是14Bit,64次是15Bit,256次是16Bit,如果要更高分辨率,那么STM32的硬件過采樣就無能為力了。

過采樣主要通過配置ADC_SMPR寄存器的下面幾位即可實現,配置移位位數、過采樣倍數以及使能位。如下:

圖片

最大可配置為256倍過采樣,實現16位分辨率。當采用256倍過采樣時,得到的結果是20位的,但ADC_DR寄存器是16位的,所以此時必須右移4位才行。如下圖:

圖片

2.STM32CubeMX配置

ADC配置如下,使能了一個通道,打開DMA和連續采樣。使能過采樣,右移4位,256倍過采樣。這樣就可以直接當作16位ADC來用了。

圖片

生成代碼后,輸入2.5V的電壓,進行采樣測試,程序如下:

HAL_ADCEx_Calibration_Start(&hadc1);
HAL_Delay(200);
HAL_ADC_Start_DMA(&hadc1,(uint32_t*)ADC_Buf,100);

采樣結果如下,可以看到,有最大4個字的跳動。當然這也跟硬件的布局布線等設計有關系。測試使用的開發板,效果不是特別好,但過采樣對于提升分辨率還是有用的。

圖片

如果再對結果進去求平均值,可以進一步提升分辨率,結果如下,基本上只有1個字的跳動。

圖片

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

    關注

    30

    文章

    5164

    瀏覽量

    118135
  • STM32單片機
    +關注

    關注

    58

    文章

    546

    瀏覽量

    58076
  • ADC采樣
    +關注

    關注

    0

    文章

    134

    瀏覽量

    12737
  • stm32cubemx
    +關注

    關注

    5

    文章

    269

    瀏覽量

    14484
  • 過采樣技術
    +關注

    關注

    0

    文章

    6

    瀏覽量

    2201
收藏 人收藏

    評論

    相關推薦

    LSM303AGR如何在加速度計上獲得12分辨率

    加速度計上獲得12分辨率的技巧是什么?我的注冊設置: - CTRL_REG1_A設置為0x67(ODR 200 Hz,LPen = 0,全部3軸啟用) - CTRL_REG2_A設置為0x00(禁用高
    發表于 09-10 17:18

    LIS3DH:12分辨率和FIFO模式是否可以運行12分辨率的加速度計?

    鑒于LIS3DH FIFO只有10寬,實際上是否可以運行12分辨率的加速度計? #12#l
    發表于 09-26 17:52

    ADC的噪聲、ENOB及有效分辨率

    ?! 「?b class='flag-5'>分辨率  過去,一只12SAR ADC通常就足以測量各種信號與電壓輸入。如果某個應用需要更精細的測量,設計者可以在ADC前加一個
    發表于 11-26 16:48

    ADC分辨率可以通過采樣的方式提高嗎?

    ADC分辨率16,用過采樣的方式將分辨率提高到20
    發表于 11-30 10:33

    請問24分辨率是否是所有ADC的極限?

    眾所周知,Delta-Sigma的ADC是所有類型ADC中位數做得最高的,可以到24,麻煩問下24分辨率是否是所有
    發表于 12-24 14:53

    請問有采樣率250MHz, 分辨率8/12ADC推薦嗎?

    您好, 請問有采樣率250MHz左右 分辨率12,管腳兼容8分辨率
    發表于 02-22 11:53

    如何在Δ∑ADC上達到20分辨率

    我有一些關于CY8C58系列PSoC和模擬性能的問題。數據表要求在Δ∑ADC上達到20分辨率。有沒有真實世界的測試來驗證這一水平的準確性實際上是可以實現的?內部參考為1.024V,在
    發表于 07-19 14:58

    更強的測量信心 — 真正的12ADC和高分辨率模式 新一代示波器

    轉換,這些都是對小幅度信號測量精度要求較高的例子??紤]到所有這些測試場景,全新4系列MSO的核心是12模數轉換器(ADC),它提供的垂直分辨率是傳統8
    發表于 02-13 10:14

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

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

    怎樣通過單片機ADC采樣來提升采樣分辨率

    什么是采樣呢?怎么利用過采樣實現更高的分辨率呢?怎樣通過單片機ADC
    發表于 02-28 09:12

    如何實現STM32 MCU的16ADC分辨率

    STM32 MCU 具有 12 ADC 分辨率,但一些 MCU 聲稱“高達 16
    發表于 12-01 06:11

    S32K344 14ADC分辨率12分辨率之間有什么區別?

    我正在使用 S32K344s ADC。網站上的數據表和規范聲明了 12 分辨率,但 ADC 外設可以在 CALBISTREG 寄存器中設置
    發表于 06-06 09:10

    n76e003關于ADC的1012的問題求解

    N76E003的分辨率12, value= (ADCRH<<4) + ADCRL;//得到ADC轉換值 ADCRH是高8,
    發表于 06-19 06:02

    請問有采樣率250MHz左右、分辨率12,管腳兼容8分辨率adc嗎?

    您好, 請問有采樣率250MHz左右 分辨率12,管腳兼容8分辨率
    發表于 11-21 06:46

    AD2S1210 16分辨率-125rps時值為0x80000,10分辨率時-2500 rps時值為0x3ff這樣對嗎?

    手冊上說:ad2s1210 傳真: ad2s1210在16分辨率,8.192Mhz輸入時鐘,ad2s1210 傳真: ad2s1210的最大跟蹤速率為±125 rps。如果速度為125 分鐘
    發表于 12-07 08:07
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>