一STM32ADC采樣頻率的確定1.:
本文引用地址:http://cafeforensic.com/article/201611/322486.htm先看一些資料,確定一下ADC的 時(shí)鐘:
(1),由 時(shí)鐘控制器提供的ADCCLK時(shí)鐘和PCLK2(APB2時(shí)鐘)同步。CLK控制器為ADC時(shí)鐘提供一個(gè)專用的可編程預(yù)分頻器。
(2) 一般情況下在程序 中將 PCLK2 時(shí)鐘設(shè)為 與系統(tǒng)時(shí)鐘 相同
RCC_HCLKConfig(RCC_SYSCLK_Div1);
RCC_PCLK2Config(RCC_HCLK_Div1);
RCC_PCLK1Config(RCC_HCLK_Div2);
(3)在時(shí)鐘配置寄存器(RCC_CFGR)中有為ADC時(shí)鐘提供一個(gè)專用的可編程預(yù)分器
位15:14 ADCPRE:ADC預(yù)分頻
由軟件設(shè)置來確定ADC時(shí)鐘頻率
00:PCLK2 2分頻后作為ADC時(shí)鐘
01:PCLK2 4分頻后作為ADC時(shí)鐘
10:PCLK2 6分頻后作為ADC時(shí)鐘
11:PCLK2 8分頻后作為ADC時(shí)鐘
我們可對其進(jìn)行設(shè)置 例如:
RCC_ADCCLKConfig(RCC_PCLK2_Div4);
另外 還有ADC時(shí)鐘使能設(shè)置
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_ADC2 |
RCC_APB2Periph_GPIOC, ENABLE);
(4)16.7可編程的通道采樣時(shí)間
ADC使用若干個(gè)ADC_CLK周期對輸入電壓采樣,采樣周期數(shù)目可以通過
ADC_SMPR1和ADC_SMPR2寄存器中的SMP[2:0]位而更改。每個(gè)通道可以以
不同的時(shí)間采 樣。
總轉(zhuǎn)換時(shí)間如下 計(jì)算:
TCONV=采樣時(shí)間+ 12.5個(gè)周期
例如:
當(dāng)ADCCLK=14MHz和1.5周期的采樣時(shí)間
TCONV=1.5 + 12.5 = 14周期= 1μs
SMPx[2:0]:選擇通道x的采樣時(shí)間
這些位用于獨(dú)立地選擇每個(gè) 通道的采樣時(shí)間。在采樣周期中通道選擇位必須保持不變。
000:1.5周期100:41.5周期
001:7.5周期101:55.5周期
010:13.5周期110:71.5周期
011:28.5周期111:239.5周期
注:
– ADC1的模擬輸入通道16和通道17在芯片內(nèi)部分別連到了溫度傳感器和VREFINT。
– ADC2的模擬輸入通道16和通道17在芯片內(nèi)部連到了VSS。
2.具體分析如下:
(1)我們的輸入信號是50Hz(周期為20ms),初步定為1周期200個(gè)采樣點(diǎn),(注:一周期最少采20個(gè)點(diǎn),即采樣率最少為1k) ,每2個(gè) 采樣點(diǎn)間隔為20ms /200 = 100 us
ADC可編程的通道采樣時(shí)間 我們選最小的1.5周期,則ADC采樣周期一周期大小為
100us /1.5=66us。ADC時(shí)鐘頻率為1/66us =15 KHz。
ADC可編程的通道采樣時(shí)間 我們選71.5周期,則ADC采樣周期一周期大小為
(100us /71.5) 。ADC時(shí)鐘頻率為7.15MHz。
(2)接下來我們要確定系統(tǒng)時(shí)鐘:我們 用的是8M Hz的外部晶振做時(shí)鐘源(HSE),估計(jì)得 經(jīng)過PLL倍頻PLL倍頻系數(shù)分別為2的整數(shù)倍,最大72 MHz。為了 提高數(shù)據(jù) 計(jì)算效率,我們把系統(tǒng)時(shí)鐘定 為72MHz,(PLL 9倍 頻)。則PCLK2=72MHz,PCLK1=36MHz;
我們通過設(shè)置時(shí)鐘配置寄存器(RCC_CFGR)中有為ADC時(shí)鐘提供一個(gè)專用的可編程預(yù)分器,將PCLK2 8分頻后作為ADC的時(shí)鐘,則可 知ADC時(shí)鐘頻率為9MHz
從手冊可知:ADC轉(zhuǎn)換時(shí)間:
STM32F103xx增強(qiáng)型產(chǎn)品:ADC時(shí)鐘為56MHz時(shí)為1μs(ADC時(shí)鐘為72MHz為1.17μs)
(3)由 以上分析可知:不太對應(yīng),我們重新對以上中 內(nèi)容調(diào)整,提出如下兩套方案:
方案一:我們的輸入信號是50Hz(周期為20ms),初步定為1周期2500個(gè)采樣點(diǎn), (注:一周期最少采20個(gè)點(diǎn),即采樣率最少為1k) ,每2個(gè) 采樣點(diǎn)間隔為20ms /2500 = 8 us
ADC可編程的通道采樣時(shí)間 我們選71.5周期,則ADC采樣周期一周期大小為
8us /71.5。ADC時(shí)鐘頻率約為9 MHz。
將PCLK28分 頻后作為ADC的時(shí)鐘,則可知ADC時(shí)鐘頻率為9MHz
方案二:我們的輸入信號是50Hz(周期為20ms),初步定為1周期1000個(gè)采樣點(diǎn), (注:一周期最少采20個(gè)點(diǎn),即采樣率最少為1k) ,每2個(gè) 采樣點(diǎn)間隔為20ms /1000= 20 us
ADC可編程的通道采樣時(shí)間 我們選239.5周期,則ADC采樣周期一周期大小為
20us /239.5。ADC時(shí)鐘頻率約為12 MHz。
將PCLK2 6分頻后作為ADC的時(shí)鐘,則可 知ADC時(shí)鐘頻率為12MHz
評論