|
STM32 的 ADC 的采樣周期確定
采樣頻率的確定
1.首先確定 ADC 的時(shí)鐘,這里需要看你的 RCC 的設(shè)置。在采用固
件庫(kù)的基礎(chǔ)上,設(shè)定 ADC 的采樣頻率相對(duì)來(lái)說(shuō)是很容易的。
(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í)間和轉(zhuǎn)換時(shí)間
ADC 使用若干個(gè) ADC_CLK 周期對(duì)輸入電壓采樣,采樣周期數(shù)目可以通過
ADC_SMPR1 和 ADC_SMPR2 寄存器中的 SMP[2:0]位而更改。每個(gè)通道可以以不同的時(shí)間采樣。
總轉(zhuǎn)換時(shí)間如下計(jì)算:
TCONV = 采樣時(shí)間+ 12.5 個(gè)周期
例如:
當(dāng) ADCCLK=36MHz 和 239.5 周期的采樣時(shí)間
TCONV = 239.5 + 12.5 = 252 周期 = 7μs
若你采樣的是 1KHz 的正弦波信號(hào),采樣了 10000 個(gè)點(diǎn),則其中就有
70 個(gè)周期。
STM32 ADC 采樣頻率的確定
1. :先看一些資料,確定一下 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è)置來(lái)確定 ADC 時(shí)鐘頻率
00:PCLK2 2 分頻后作為 ADC 時(shí)鐘
01:PCLK2 4 分頻后作為 ADC 時(shí)鐘
10:PCLK2 6 分頻后作為 ADC 時(shí)鐘
11:PCLK2 8 分頻后作為 ADC 時(shí)鐘
我們可對(duì)其進(jìn)行設(shè)置 例如:
RCC_ADCCLKConfig(RCC_PCLK2_Div4);
另外還有 ADC 時(shí)鐘使能設(shè)置
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 |
RCC_APB2Periph_ADC2 |
RCC_APB2Periph_GPIOC, ENABLE);
|
|