• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > STM32 ADC的采樣周期確定

    STM32 ADC的采樣周期確定

    作者: 時(shí)間:2012-08-10 來源:網(wǎng)絡(luò) 收藏

    頻率的確定

    本文引用地址:http://www.czjhyjcfj.com/article/185948.htm

    先看一些資料,確定一下 的時(shí)鐘:

    (1),由時(shí)鐘控制器提供的CLK 時(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í)鐘

    我們可對(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ù)目可以通過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)接下來我們要確定系統(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

    從手冊(cè)可知: ADC 轉(zhuǎn)換時(shí)間:F103xx 增強(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

    更多資訊請(qǐng)關(guān)注:21ic模擬頻道



    關(guān)鍵詞: STM ADC 32 采樣

    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 石景山区| 长葛市| 铜山县| 洛扎县| 温州市| 青铜峡市| 兴国县| 兴仁县| 杭锦后旗| 顺平县| 凤翔县| 淮滨县| 湘潭县| 当涂县| 英超| 绥化市| 白银市| 天长市| 灵山县| 富民县| 布尔津县| 三台县| 蒲城县| 宿松县| 桐庐县| 福安市| 咸阳市| 湘潭市| 黎平县| 东乡县| 滦平县| 合山市| 泽州县| 荔波县| 赣州市| 江口县| 湟中县| 鱼台县| 会同县| 锡林浩特市| 宁南县|