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