ADC採樣時間、採樣週期、採樣頻率計算方法

一、概述

ADC轉換就是輸入模擬的信號量轉換成數字量。讀取數字量必須等轉換完成後,完成一個通道的讀取叫做採樣週期。採樣週期一般來說=轉換時間+讀取時間,而轉換時間=採樣時間+12.5個時鐘週期。採樣時間是你通過寄存器告訴STM32採樣模擬量的時間,設置越長越精確

二、STM32 ADC採樣頻率的確定
ADCCLK通常是由“AHB分頻”->“HCLK(MHz)”->“APB2分頻”->“ADC分頻”得到的,ADC使用若干個ADC_CLK週期對輸入電壓採樣,採樣週期數目可以通過ADC_SMPR1和ADC_SMPR2寄存器中的SMP[2:0]位而更改。每個通道可以以不同的時間採樣,就是設置採樣週期SampleTime。
總轉換時間如下計算:
TCONV(轉換時間) = 採樣時間(設置採樣週期SampleTime)+ 12.5個週期,其中12.5個週期是採集12位AD時間是固定的。
採樣時間週期類型:
000:1.5週期    100:41.5週期
001:7.5週期    101:55.5週期
010:13.5週期    110:71.5週期
011:28.5週期    111:239.5週期

例如:
當ADCCLK=14MHz(週期) 和 1.5週期的採樣時間:
赫茲轉換:1MHZ=1000KHZ=1000000HZ
時間換算:1s(秒)=1000ms(毫秒),1s=10^3ms(毫秒)=10^6us(微秒)=10^9ns(納秒)=10^12ps(皮秒)
週期與頻率的關係:T=1/f,f=1/T(其中f爲頻率,T爲週期)
得出每秒14MHz,那麼1HZ的時間週期爲 1/14000000s
TCONV(轉換時間) = 1.5週期 + 12.5週期 = 14週期 = 14/14000000秒 = 1us(微秒)

三、具體分析如下
(1)我們的輸入信號是50Hz (週期爲20ms),初步定爲1週期200個採樣點,(注:一週期最少採20個點,即採樣率最少爲1k) ,每2個採樣點間隔爲20ms/200=100us,在一個輸入信號週期(20ms)內100us就要採集一次,以下計算都是以一個輸入信號的週期爲單元進行計算。
ADC可編程的通道採樣時間我們選最小的1.5週期,則ADC採樣週期一週期大小爲
根據採集時間間隔來計算採集完200個點需要以什麼樣的頻率才能完成,這個頻率就是ADCCLK,當採樣時間1.5週期:100us/1.5≈66us。 根據f=1/T公式,ADC時鐘頻率爲1/66us=1/0.000066s≈15151.515Hz≈15KHz。
ADC可編程的通道採樣時間我們選71.5 週期,則ADC採樣週期一週期大小爲(100us/71.5)。 100us/71.5≈1.3986us,ADC時鐘頻率爲1/1.3986us=1/0.0000013986s≈0.715MHz。


(2)接下來我們要確定系統時鐘:我們 用的是 8M Hz 的外部晶振做時鐘源(HSE),估計得 經過 PLL倍頻 PLL 倍頻係數分別爲2的整數倍,最大72 MHz。爲了 提高數據 計算效率,我們把系統時鐘定爲72MHz,(PLL 9倍頻)。則PCLK2=72MHz,PCLK1=36MHz;
我們通過設置時鐘配置寄存器(RCC_CFGR) 中 有 爲ADC時鐘提供一個專用的可編程預分器,將PCLK2 8 分頻後作爲ADC 的時鐘,則可知ADC 時鐘頻率爲 9MHz
從手冊可知ADC轉換時間:STM32F103xx增強型產品:ADC時鐘爲56MHz時爲1μs(ADC時鐘爲72MHz爲1.17μs)


(3)由以上分析可知:不太對應,我們重新對以上中 內容調整,提出如下兩套方案:
       方案一:我們的輸入信號是50Hz (週期爲20ms),初步定爲1週期2500個採樣點,(注:一週期最少採20個點,即採樣率最少爲1k) ,每2個 採樣點間隔爲 20ms /2500 = 8 us
ADC可編程的通道採樣時間 我們選71.5週期,則 ADC採樣週期一週期大小爲8us /71.5 。 ADC時鐘頻率約爲 9 MHz。
將PCLK2 8 分頻後作爲ADC 的時鐘,則可知ADC 時鐘頻率爲 9MHz
        方案二:我們的輸入信號是50Hz (週期爲20ms),初步定爲1週期1000個採樣點,(注:一週期最少採20個點,即採樣率最少爲1k) ,每2個 採樣點間隔爲 20ms /1000= 20 us
ADC可編程的通道採樣時間 我們選239.5週期,則 ADC採樣週期一週期大小爲20us /239.5 。 ADC時鐘頻率約爲 12 MHz。
將PCLK2 6 分頻後作爲ADC 的時鐘,則可知ADC 時鐘頻率爲 12MHz

 

 

參考鏈接:https://blog.csdn.net/pursue16/article/details/78853602

這篇文章很多人轉載,但是其中錯誤且沒有人指正出來,如1/1.3986us應該是0.715MHz,好像原作者寫錯了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章