<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          STM32 ADC時(shí)鐘配置

          作者: 時(shí)間:2016-11-20 來(lái)源:網(wǎng)絡(luò) 收藏
          STM32 ADC 采樣頻率的確定
          先看一些資料,確定一下STM32 ADC 的時(shí)鐘:
          (1),由時(shí)鐘控制器提供的ADCCLK 時(shí)鐘和PCLK2(APB2 時(shí)鐘)同步。CLK 控制器為ADC 時(shí)鐘提供一個(gè)專(zhuān)用的可編程預(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è)專(zhuān)用的可編程預(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);
          (4)16.7 可編程的通道采樣時(shí)間
          ADC 使用若干個(gè)ADC_CLK 周期對(duì)輸入電壓采樣,采樣周期數(shù)目可以通過(guò)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)我們的輸入信號(hào)是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)接下來(lái)我們要確定系統(tǒng)時(shí)鐘:我們用的是 8M Hz 的外部晶振做時(shí)鐘源(HSE),估計(jì)得 經(jīng)過(guò) PLL倍頻PLL 倍頻系數(shù)分別為2的整數(shù)倍,最大72 MHz。為了 提高數(shù)據(jù)計(jì)算效率,我們把系統(tǒng)時(shí)鐘定為72MHz,(PLL 9倍 頻)。則PCLK2=72MHz,PCLK1=36MHz;
          我們通過(guò)設(shè)置時(shí)鐘配置寄存器(RCC_CFGR) 中 有 為ADC 時(shí)鐘提供一個(gè)專(zhuān)用的可編程預(yù)分器,將PCLK2 8 分頻后作為ADC 的時(shí)鐘,則可 知ADC 時(shí)鐘頻率為 9MHz
          從手冊(cè)可知: ADC 轉(zhuǎn)換時(shí)間:STM32F103xx 增強(qiáng)型產(chǎn)品:ADC 時(shí)鐘為56MHz 時(shí)為1μs(ADC 時(shí)鐘為72MHz 為1.17μs)
          (3)由以上分析可知:不太對(duì)應(yīng),我們重新對(duì)以上中內(nèi)容調(diào)整,提出如下兩套方案:
          方案一:我們的輸入信號(hà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。
          將PCLK2 8 分頻后作為ADC 的時(shí)鐘,則可知ADC 時(shí)鐘頻率為 9MHz
          方案二:我們的輸入信號(hào)是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


          關(guān)鍵詞: STM32ADC時(shí)鐘配

          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();