STM32F103ZET6 之 ADC 采樣率的確定
1、STM32 ADC 介紹
STM32 ADC 是一個12 位精度、 一種逐次逼近型模擬數(shù)字轉(zhuǎn)換器。它有多達(dá)18個通道,可測量16個外部和2個內(nèi)部信號源。各通道的A/D轉(zhuǎn)換可以單次、連續(xù)、掃描或間斷模
式執(zhí)行。 ADC的結(jié)果可以左對齊或右對齊方式存儲在16位數(shù)據(jù)寄存器中。
ADC的輸入時鐘不得超過14MHz,它是由PCLK2經(jīng)分頻產(chǎn)生。轉(zhuǎn)換時最快為1us,當(dāng)ADC的輸入時鐘超過14MHz 時其會損失一些精度。當(dāng)然如果可以達(dá)到我們的精度,輸入時鐘
高點(diǎn)也沒事。
在網(wǎng)上看到一回答ADC不超過14MHz 的答案:資料上的都是推薦,事實(shí)上很多芯片的設(shè)計(jì)都是有超額余量的,很多人都會超額的利用這些資源,并且很好的工作。
若所看的程序頻率是超過14M,也沒有錯,可能作者的目的在于快速而寧愿損失一些精度,ADC的分辨率是12位,若是超過這個頻率也是工作的,只不過采樣到的精度可能僅到10
位,若這個已到 作者的要求,也無錯誤之說了。
2、看參考手冊,確定ADC 的時鐘以及通道采樣時間:
1)ADC 時鐘 ADC 接在APB2 上,APB2的時鐘為72MHz,通過分頻的方式給ADC 提供時鐘,預(yù)分頻主要有2、4、6、8 四種分頻方式。
2)通道采樣時間 通道采樣時間會影響采樣的精度。
3、轉(zhuǎn)換時間
公式:TCONV = 采樣時間+ 12.5 個周期
例如:當(dāng)
ADCCLK=14MHz
和
1.5
周期的采樣時間
TCONV=1.5+12.5=14
周期
=
1
μ
s
例如:當(dāng)ADCCLK=14MHz 和1.5 周期的采樣時間 TCONV = 1.5 + 12.5 = 14 周期 = 1μs
1)一般情況,如果是軟件啟動,那么轉(zhuǎn)換時間即是采樣周期。
2)若通過定時器進(jìn)行觸發(fā)啟動ADC,則還需要加上定時器的相關(guān)時間。
4、確定采樣率
1)如果我們的輸入信號是 20KHz (周期為 50us),若要將它恢復(fù)出來,一個周期最少采樣20個點(diǎn),此時采樣率要達(dá)到400KHz,所以ADC的采樣率必須在400KHz 以上。為
了達(dá)到最好的精度,我們選取ADC時鐘為12MHz,即6分頻。在12MHz 以及保證采樣率的情況下,采樣時間越長其,準(zhǔn)確性就越好。
可以計(jì)算 2.5us = (12.5 + 采樣時間)/ 12MHz ,可以求得采樣時間為17.5;所以采樣時間的選擇必須小于等于17.5個周期,才能保證采樣率在400KHz 以上。所以我們可以選
擇1.5、7.5、13.5,為獲得更高的精準(zhǔn)度,我們可以選擇13.5個周期。
切記采樣點(diǎn)數(shù)必須達(dá)到要求。