STM32 ADC轉換時間


STM32F103XX的ADC的采樣時鍾最快14MHz,最快采樣率為1MHz。

ADC時鍾:

這個ADC時鍾是從哪來的呢。我們看下面這個STM32的時鍾結構圖:

 

 

我們大多使用STM32的最快PCLK2系統時鍾72MHz。

ADCCLK的時鍾由72MHz的6分頻能瞞住14MHz以下的要求 為12MHz。

RCC_ADCCLKConfig(RCC_PCLK2_Div6); //72M/6=12,ADC最大時間不能超過14M

ADC轉換時間:

有如下公式: TCONV = 采樣時間+ 12.5 個周期

其中12.5個周期是采集12位AD時間是固定的,另外一個采樣時間可以取下面幾個參數由SMPx[2:0]寄存器控制,每個通道可以單獨配置。

   000:1.5周期

        100:41.5周期

        001:7.5周期

        101:55.5周期

        010:13.5周期

        110:71.5周期

        011:28.5周期

        111:239.5周期

 

當我們選擇1.5周期時。轉換時間 = 1.5+12.5 = 14周期。

當時鍾配置為12MHz時 轉換時間 = 14/12 = 1.167us.

 

其中有人就有疑問 為什么系統時鍾72MHz 竟然達不到手冊上說的1MHz- 1us的采樣 。

其實我們要了解,真正決定ADC轉換速度的不是系統時鍾72MHz 而是不超過14MHz的 ADCCLK。 當我們配置系統時鍾為72MHz的時候 ADCCLK 最大為12MHz.所以轉換速度稍微慢了。

當我們把系統時鍾設置為56MHz的時候,經過4div正好為14MHz,此時就能達到1us的采樣。但是測試發現如果按照最快速度轉換ADC結果不是很准確。

                            ---------ForeverLongo 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM