大家在使用ADC采樣的時候是否計算過ADC的采樣率,這個問題非常關鍵!
以下為GD32F303系列MCU中有關ADC的參數,其中ADC時鐘最大值為40MHz,12位分辨率下最大采樣率為2.86MSPS.如果ADC時鐘超頻的話,可能會造成ADC采樣異常,因而對于ADC時鐘以及采樣率的計算很重要。
![wKgZomWvFjeAa5o8AATP41gSUTw259.png](https://file1.elecfans.com/web2/M00/BD/DE/wKgZomWvFjeAa5o8AATP41gSUTw259.png)
首先給大家介紹下ADC時鐘如何配置,如下為RCU時鐘樹中有關ADC時鐘的說明,通過ADCPSC控制位可以選擇ADC時鐘來自于AHB還是APB2分頻,若ADCPSC配置為0,ADC時鐘為APB2時鐘2/4/6/8/12/16分頻,若ADCPSC配置為1,ADC時鐘為AHB時鐘5/6/10/20分頻。
![wKgaomWvFjyAH8_tAAG4kTDKDuE747.png](https://file1.elecfans.com/web2/M00/BE/CB/wKgaomWvFjyAH8_tAAG4kTDKDuE747.png)
ADC時鐘配置可通過以下rcu_adc_clock_config函數實現。
/*! \brief configure the ADC prescaler factor \param[in] adc_psc: ADC prescaler factor only one parameter can be selected which is shown as below: \arg RCU_CKADC_CKAPB2_DIV2: ADC prescaler select CK_APB2 / 2 \arg RCU_CKADC_CKAPB2_DIV4: ADC prescaler select CK_APB2 / 4 \arg RCU_CKADC_CKAPB2_DIV6: ADC prescaler select CK_APB2 / 6 \arg RCU_CKADC_CKAPB2_DIV8: ADC prescaler select CK_APB2 / 8 \arg RCU_CKADC_CKAPB2_DIV12: ADC prescaler select CK_APB2 / 12 \arg RCU_CKADC_CKAPB2_DIV16: ADC prescaler select CK_APB2 / 16 \arg RCU_CKADC_CKAHB_DIV5: ADC prescaler select CK_AHB / 5 \arg RCU_CKADC_CKAHB_DIV6: ADC prescaler select CK_AHB / 6 \arg RCU_CKADC_CKAHB_DIV10: ADC prescaler select CK_AHB / 10 \arg RCU_CKADC_CKAHB_DIV20: ADC prescaler select CK_AHB / 20 \param[out] none \retval none */ void rcu_adc_clock_config(uint32_t adc_psc)
ADC時鐘計算好后,根據不同的分辨率就可以計算采樣率了,如下圖所示,不同的分辨率對應的采樣轉換時間是不同的,比如12位分辨率,采樣轉換就需要14個ADCCLK。
![wKgZomWvFkGABnThAALroPXbxCY316.png](https://file1.elecfans.com/web2/M00/BD/DE/wKgZomWvFkGABnThAALroPXbxCY316.png)
綜上舉例:如果系統時鐘AHBCLK為120M,APB2時鐘為60M,如果ADC時鐘配置為rcu_adc_clock_config(RCU_CKADC_CKAPB2_DIV6),那么ADCCLK的時鐘為60M/6=10M,若ADC配置為12位分辨率,則ADC采樣轉換時間為14/10M=1400ns,采樣率為10M/14=714KSPS.
畫兩個重點:1、ADC采樣時鐘一定不要超過手冊標注的最大值;2、若采樣定時觸發ADC采樣的話,定時觸發的周期要大于多通道ADC采樣時間之和。
-
單片機
+關注
關注
6043文章
44622瀏覽量
638523 -
mcu
+關注
關注
146文章
17317瀏覽量
352631 -
嵌入式
+關注
關注
5092文章
19177瀏覽量
307650 -
GD32
+關注
關注
7文章
413瀏覽量
24468
發布評論請先 登錄
相關推薦
![](https://file1.elecfans.com/web2/M00/BF/8E/wKgaomW0XZWARoSLAAsan1uCgfM804.png)
基于GD32F310開發板完成超頻及ADC極限采樣率實驗
STM32 ADC采樣率如何計算
![STM32 <b class='flag-5'>ADC</b><b class='flag-5'>采樣率</b>如何<b class='flag-5'>計算</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
adc采樣率和帶寬的關系
兆易創新GD32 MCU選型手冊,適用于GD32全系列MCU
ad9361 ADC采樣率設置范圍
如何通過GD32 MCU內部ADC參考電壓通道提高采樣精度?
![如何通過<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>內部<b class='flag-5'>ADC</b>參考電壓通道提高<b class='flag-5'>采樣</b>精度?](https://file1.elecfans.com/web2/M00/C1/DD/wKgaomXb5fuAdeoXAAAqpkxPnlg241.png)
【GD32 MCU入門教程】GD32 MCU GPIO 結構與使用注意事項
![【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>入門教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> GPIO 結構與使用注意事項](https://file1.elecfans.com/web2/M00/06/89/wKgaombbu8qAXdJKAAAW--yDqzA279.png)
評論