STM32的ADC採樣頻率及相應時間的確定

2021-01-08 電子發燒友
  STM32 ADC 介紹

  STM32 ADC 是一個12 位精度、 一種逐次逼近型模擬數字轉換器。它有多達18個通道,可測量16個外部和2個內部信號源。各通道的A/D轉換可以單次、連續、掃描或間斷模式執行。 ADC的結果可以左對齊或右對齊方式存儲在16位數據寄存器中。

  ADC的輸入時鐘不得超過14MHz,它是由PCLK2經分頻產生。轉換時最快為1us,當ADC的輸入時鐘超過14MHz 時其會損失一些精度。當然如果可以達到我們的精度,輸入時鐘高點也沒事。

  在網上看到一回答ADC不超過14MHz 的答案:資料上的都是推薦,事實上很多晶片的設計都是有超額餘量的,很多人都會超額的利用這些資源,並且很好的工作。

  若所看的程序頻率是超過14M,也沒有錯,可能作者的目的在於快速而寧願損失一些精度,ADC的解析度是12位,若是超過這個頻率也是工作的,只不過採樣到的精度可能僅到10位,若這個已到 作者的要求,也無錯誤之說了。

  2、看參考手冊,確定ADC 的時鐘以及通道採樣時間:

  1)ADC 時鐘 ADC 接在APB2 上,APB2的時鐘為72MHz,通過分頻的方式給ADC 提供時鐘,預分頻主要有2、4、6、8 四種分頻方式。

  2)通道採樣時間 通道採樣時間會影響採樣的精度。

  3、轉換時間

  公式:TCONV = 採樣時間+ 12.5 個周期

  例如:當

  ADCCLK=14MHz和1.5周期的採樣時間

  TCONV = 1.5 + 12.5 = 14

  周期=1μs

  例如:當ADCCLK=14MHz 和1.5 周期的採樣時間 TCONV = 1.5 + 12.5 = 14 周期 = 1μs

  1)一般情況,如果是軟體啟動,那麼轉換時間即是採樣周期。

  2)若通過定時器進行觸發啟動ADC,則還需要加上定時器的相關時間。

  4、確定採樣率

  1)如果我們的輸入信號是 20KHz (周期為 50us),若要將它恢復出來,一個周期最少採樣20個點,此時採樣率要達到400KHz,所以ADC的採樣率必須在400KHz 以上。為

  了達到最好的精度,我們選取ADC時鐘為12MHz,即6分頻。在12MHz 以及保證採樣率的情況下,採樣時間越長其,準確性就越好。

  可以計算 2.5us = (12.5 + 採樣時間)/ 12MHz ,可以求得採樣時間為17.5;所以採樣時間的選擇必須小於等於17.5個周期,才能保證採樣率在400KHz 以上。所以我們可以選

  擇1.5、7.5、13.5,為獲得更高的精準度,我們可以選擇13.5個周期。

  切記採樣點數必須達到要求。

  採樣頻率的確定

  1.首先確定ADC 的時鐘,這裡需要看你的RCC的設置。在採用固件庫的基礎上,設定ADC的採樣頻率相對來說是很容易的。

  (1)由時鐘控制器提供的ADCCLK 時鐘和PCLK2(APB2 時鐘)同步。CLK 控制器為ADC 時鐘提供一個專用的可編程預分頻器。

  (2) 一般情況下在程序 中將 PCLK2 時鐘設為 與系統時鐘 相同

  RCC_HCLKConfig(RCC_SYSCLK_Div1);

  RCC_PCLK2Config(RCC_HCLK_Div1);

  RCC_PCLK1Config(RCC_HCLK_Div2);

  (3)在時鐘配置寄存器(RCC_CFGR) 中 有 為ADC 時鐘提供一個專用的可編程預分器

  位15:14 ADCPRE:ADC預分頻

  由軟體設置來確定ADC時鐘頻率

  00:PCLK2 2分頻後作為ADC時鐘

  01:PCLK2 4分頻後作為ADC時鐘

  10:PCLK2 6分頻後作為ADC時鐘

  11:PCLK2 8分頻後作為ADC時鐘

  我們可對其進行設置 例如:

  RCC_ADCCLKConfig(RCC_PCLK2_Div4);

  另外 還有 ADC 時鐘使能設置

  RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_ADC2 |

  RCC_APB2Periph_GPIOC, ENABLE);

  (4)採樣時間和轉換時間

  ADC 使用若干個ADC_CLK 周期對輸入電壓採樣,採樣周期數目可以通過

  ADC_SMPR1 和ADC_SMPR2 寄存器中的SMP[2:0]位而更改。每個通道可以以

  不同的時間採樣。

  總轉換時間如下計算:

  TCONV = 採樣時間+ 12.5 個周期

  例如:

  當ADCCLK=36MHz 和239.5 周期的採樣時間

  TCONV = 239.5 + 12.5 = 252周期 = 7μs

  若你採樣的是1KHz的正弦波信號,採樣了10000個點,則其中就有70個周期。

打開APP閱讀更多精彩內容

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

相關焦點

  • STM32單片機的定時器和ADC的應用方法介紹
    _timer_stop(tim_num); TIM_TimeBaseStructure.TIM_Period = tim_us; //設置在下一個更新事件裝入活動的自動重裝載寄存器周期的值計數到5000為500ms TIM_TimeBaseStructure.TIM_Prescaler =(72-1); //設置用來作為TIMx時鐘頻率除數的預分頻值 10Khz的計數頻率
  • adc0809ccn引腳圖_封裝及數據採集
    簡介 8路模擬信號的分時採集,片內有8路模擬選通開關,以及相應的通道抵制鎖存用解碼電路,其轉換時間為100μs左右。   adc0809ccn封裝      adc0809ccn數據採集   把連續變化量變成離散量的過程稱為量化,也可理解為信號的採樣。
  • adc0809引腳圖及功能詳解,adc0809與51單片機連接電路分析
    adc0809是採樣頻率為8位的、以逐次逼近原理進行模—數轉換的器件。其內部有一個8通道多路開關,它可以根據地址碼鎖存解碼後的信號,只選通8路模擬輸入信號中的一個進行A/D轉換。   1.主要特性   1)8路8位A/D轉換器,即解析度8位。   2)具有轉換起停控制端。
  • STM32CubeMx-ADC
    其Date Alignment設置為數據右對齊; 採樣時間 239.5周期。對於每個要轉換的通道,採樣時間建議儘量長一點,以獲得較高的準確度,但是這樣會降低 ADC 的轉換速率。ADC 的轉換時間可以由以下公式計算:Tcovn=採樣時間+12.5 個周期其中: Tcovn 為總轉換時間,採樣時間是根據每個通道的 SMP 位的設置來決定的。
  • 合理選擇高速ADC實現欠採樣
    對於 Nyquist 和 Shannon 定理的檢驗將證明:ADC 採樣頻率的選擇與最大輸入信號頻率對輸入信號帶寬的比率有很強的相關性。   原理分析   Nyquist 定理被表達成各種各樣的形式,它的原意是:如果要從相等時間間隔取得的採樣點中,毫無失真地重建模擬信號波形,則採樣頻率必須大於或等於模擬信號中最高頻率成份的兩倍。
  • STM32關於GPIO的問題
    問:stm32中GPIO口的最大輸出速度如何理解?答:1、是這樣的,2M、10M和50M是指GPIO口的採樣頻率。不知這樣理解對不對,我就是這樣做的。 2、我通過PB6採集80KBPS/S的方波,通過中斷計採集,完全勝任。9、STM32 GPIO 弱上拉能做輸入輸出嗎問:STM32 GPIO 弱上拉能做輸入輸出嗎?答:32隻有上拉輸入,用在外部連接的是下路輸出的,這樣才能正確讀取。
  • Keil MDK下學習STM32注意事項
    其間,遇到了許多問題,其中不少問題花費了我相當多得時間才得以解決,現將這些問題和解決方法列出。其中也有一些是學習過程中我覺得需要記下的注意事項。然後是配置外圍設備的相關屬性,視具體設備而定,如果設備需要使用中斷方式,必須使能相應設備的中斷,之後需要使能相關設備。最後如果設備使用了中斷功能,則還需要填寫相應的中斷服務程序,在服務程序中進行相應操作。
  • 什麼是採樣頻率,量化比特數和時鐘?
    它們是「採樣頻率」和「量化比特數」。 考慮到這一點,了解CD上的「時鐘」也將幫助您理解。■採樣頻率和位數是多少?已經多次提及,在CD上以「 44.1kHz的採樣頻率和16位的量化比特數」記錄的數字音頻是什麼? 是的,沒錯。 但這是第一次從基礎上進行詳細說明。先,讓我們從圖像開始。採樣,量化和深奧的感覺都與信號的「垂直切割」和「交叉切割」有關。想想切蘿蔔。
  • 過採樣技術原理介紹
    假定環境條件:10位ADC最小分辨電壓1LSB為1mv 假定沒有噪聲引入的時候,ADC採樣上的電壓真實反映輸入的電壓,那麼小於1mv的話,如ADC在0.5mv是數據輸出為0 我們現在用4倍過採樣來,提高1位的解析度, 當我們引入較大幅值的白噪聲
  • 採樣時鐘抖動的原因及其對ADC信噪比的影響與抖動時鐘電路設計
    (b)AD9245實測信噪比  圖1 不同時鐘抖動情形下12位ADC的信噪比示意圖  時鐘抖動對ADC信噪比的影響  採樣時鐘的抖動是一個短期的、非積累性變量,表示數位訊號的實際定時位置與其理想位置的時間偏差
  • Stellaris系列微控制器的ADC過採樣技術(二)
    本小節將描述如何使用下面的兩種方法:在過採樣頻率下運行的多個採樣定序器和一個定時器來解決這個問題。例2:使用多個採樣定序器的16x過採樣採樣定序器的靈活性允許對其進行多種配置。將採樣定序器0-2累積起來可獲得16個採樣(8+4+4),因此使用採樣定序器0-2可實現16倍過採樣。
  • STM32——PWM輸出總結
    學習後發現stm32的定時器功能確實很強大,小總結一下方便以後使用的時候做參考。所以這樣算下來stm32一共可以生成4*5+7*2=30路pwm信號。接下來還有功能上的區別:通用定時器的pwm信號比較簡單,就是普通的調節佔空比調節頻率(別的不常用到的沒去深究);高級定時器的還帶有互補輸出功能,同時互補信號可以插入死區,也可以使能剎車功能,從這些看來高級定時器的pwm天生就是用來控制電機的。
  • 關於ADC的採樣率混疊等關鍵指標的判斷技巧
    模擬信號在時域上是連續的,因此可以將它轉換為時間上連續的一系列數位訊號。這樣就要求定義一個參數來表示新的數位訊號採樣自模擬信號速率。這個速率稱為轉換器的採樣率(sampling rate)或採樣頻率(sampling frequency)。 可以採集連續變化、帶寬受限的信號(即每隔一時間測量並存儲一個信號值),然後可以通過插值將轉換後的離散信號還原為原始信號。
  • 單片機(STM32)使用ADC,對鋰電池採集思路分析
    同時有些電子產品的使用要求,還需要極低功耗,以確保長時間使用。電池採集的思路整理:比如stm32單片機,內部集成了12位ADC,其分壓級數位4096級,參考電壓3.3V供電的情況下,每一級的電壓是 3300mV/4096=0.8mV/級,如果STM32採集到的電池電壓數據是 A,假設分壓比列1:1,則電池電壓就P=A*0.8*2,計算出來單位是mV
  • adc0808引腳圖與引腳功能
    打開APP adc0808引腳圖與引腳功能 發表於 2017-11-21 11:50:46   ADC0808是採樣解析度為8
  • ADI公司AD7380系列SAR ADC的片內過採樣
    Σ-Δ ADC的每次轉換結果都是較小但更頻繁的採樣事件所產生的。SAR ADC利用逐次逼近來確定結果。SAR ADC通過逐步方法來確定數字表示的每個比特在單個採樣瞬間是什麼。SAR採樣電荷再分配電容和數模轉換器(DAC)陣列。採樣數據與每個二進位加權電容陣列進行比較。二進位加權電容的總數決定了SAR ADC的位數或解析度。
  • 數據降採樣
    反饋控制通常使用單片機的程序進行離散時間控制,控制時間周期通常小於系統主要慣性環節的時間常數,一般小於10ms.在IMU中,常常可以通過寄存器配置設置傳感器數據更新速度(ODR)。顯然IMU的ODR應該大於反饋控制程序的執行頻率。否則就會造成車模姿態測量數據的延遲,從而影響控制效果。具體的相應分析在這裡就不再展開了。
  • 如何有效地測量LED燈的啟動,運行時間和閃爍頻率!
    光源閃爍直接表現為光通量波動,光源由交流電流和脈衝直流電流驅動,光通量,照度或亮度隨電流幅度的變化而相應變化。通常,根據人眼的感覺,閃爍分為可見閃爍和隱形閃爍。當頻率超過100Hz時,人眼感覺不到閃爍,但會引起眼睛疲勞,頭痛等,這就是閃光效果,一般認為閃爍效應存在於500Hz以內。
  • 利用過採樣增加SAR ADC的動態範圍
    本技術文章重點討論高吞吐速率、5 MSPS、18/16位精密SAR轉換器的過採樣,利用直觀的ADC樣本求均值,提升動態範圍性能。過採樣描述 過採樣是一種 高性價比的過程,以大幅高於奈奎斯特頻率的速率對輸入信號進行採樣,提升SNR和解析度 (ENOB),同時還能降低抗混疊濾波器的要求。
  • LabVIEW 8.2中的採樣定理
    在進行數據採集之前,需要確定在一段固定時間內採集多少個數據點,即確定採樣頻率。採樣頻率是一個很重要的參數,要確定適當的採樣頻率,需要綜合考慮信號的最高頻率成分、系統所要達到的精度、系統噪聲、數據採集卡的性能等因素。