STM32的ADC的采樣時(shí)間及模擬信號(hào)的最大帶寬
請(qǐng)看STM32技術(shù)參考手冊(cè)的16.2節(jié),和STM32F103xx數(shù)據(jù)手冊(cè)的5.3.17節(jié)表44??梢栽赟T的中文網(wǎng)站下載到上述2個(gè)手冊(cè): [url=http://www.stmicroelectronics.com.cn/stonline/mcu/MCU_Pages.htm]http://www.stmicroelectronics.com.cn/stonline/mcu/MCU_Pages.htm[/url]
前面所說(shuō)“STM32的ADC的采樣及轉(zhuǎn)換時(shí)間最小為1us”,實(shí)際上STM32的ADC采樣及轉(zhuǎn)換時(shí)間可以通過(guò)程序編程進(jìn)行調(diào)整,共有8種選擇,按 ADC模塊的驅(qū)動(dòng)時(shí)鐘算分別為:
1.5 ADC時(shí)鐘周期
7.5 ADC時(shí)鐘周期
13.5 ADC時(shí)鐘周期
28.5 ADC時(shí)鐘周期
41.5 ADC時(shí)鐘周期
55.5 ADC時(shí)鐘周期
71.5 ADC時(shí)鐘周期
239.5 ADC時(shí)鐘周期
采樣及轉(zhuǎn)換時(shí)間最小的1us是在CPU時(shí)鐘為56MHz(STM32F101xx為28MHz)時(shí)達(dá)到。
可能提出的問(wèn)題
tS(fADC = 14 MHz)最小 = 0.107?s.實(shí)際上就是 =1.5T/14.還有幾件事:
1.采樣及轉(zhuǎn)換時(shí)間最小的1us是在CPU時(shí)鐘為56MHz(STM32F101xx為28MHz)時(shí)達(dá)到。"這句話出自何處?
我倒是看到fADC的最大值是14MHz.
2.這句話是自身矛盾的。為什么為了達(dá)到1Mhz的采樣率,好芯片要更高的時(shí)鐘?
3.采樣時(shí)間和采樣周期是兩個(gè)概念。采樣時(shí)間是整個(gè)ADC性能的重要參數(shù)。(請(qǐng)參考采樣示波器的“采樣”的概念)
4.您在上面提到的采樣時(shí)間的選擇,AD轉(zhuǎn)換周期(TCONV) = 采樣時(shí)間+ 12.5個(gè)周期。如何選擇?依據(jù)是什么?
5.我上面提到的“模擬信號(hào)的最大帶寬”這個(gè)概念,我在壇上關(guān)注了大半年,發(fā)現(xiàn)大家從未討論過(guò)。而這對(duì)用好ADC是很重要的。
問(wèn)題1:采樣及轉(zhuǎn)換時(shí)間最小的1us是在CPU時(shí)鐘為56MHz(STM32F101xx為28MHz)時(shí)達(dá)到。"這句話出自何處?我倒是看到fADC的最大值是14MHz
答:這句話出自《STM32技術(shù)參考手冊(cè)》第16.2節(jié)
ADC conversion time:
– STM32F103xx performance line devices: 1 us at 56 MHz (1.17 us at 72 MHz)
– STM32F101xx access line devices: 1 us at 28 MHz (1.55 us at 36 MHz)
關(guān)于fADC的最大值是14MHz,請(qǐng)看《STM32F103xx數(shù)據(jù)手冊(cè)》第5.3.5節(jié),表18下面的注釋:
Specific conditions for ADC: fHCLK = 56 MHz, fAPB1 = fHCLK/2, fAPB2 = fHCLK, fADCCLK = fAPB2/4, ADON bit in the ADC_CR2 register is set to 1.
即fADC在fHCLK=fAPB2=56MHz時(shí)達(dá)到14MHz。
2.這句話是自身矛盾的。為什么為了達(dá)到1Mhz的采樣率,好芯片要更高的時(shí)鐘?
103當(dāng)然可以用和101同樣的時(shí)鐘并達(dá)到1Mhz的采樣率。
但因?yàn)?03的APB2可達(dá)72MHz,而101的APB2只可達(dá)36MHz,如果用戶想使用APB2的其他外設(shè),用戶會(huì)不希望為了配合ADC的14M而采用低的時(shí)鐘。所以這句話可以這樣說(shuō):“在不影響ADC最高采樣率的情況下,APB2最高可跑到56M"
3.采樣時(shí)間和采樣周期是兩個(gè)概念。采樣時(shí)間是整個(gè)ADC性能的重要參數(shù)。(請(qǐng)參考采樣示波器的“采樣”的概念)
103的DATASHEET有的,"ADC characteristics"
tS Sampling time, fADC = 14 MHz, 0.107 μs,就是1.5×1/fADC
4.您在上面提到的采樣時(shí)間的選擇,AD轉(zhuǎn)換周期(TCONV) = 采樣時(shí)間+ 12.5個(gè)周期。如何選擇?依據(jù)是什么?
要看外接的等效輸入電阻及電容。103的DATASHEET上有一個(gè)公式
R(AIN) 還有一個(gè)圖表 Ts (cycles) tS (μs) RAIN max (kΩ) 1.5 0.11 1.2 7.5 0.54 10 13.5 0.96 19 28.5 2.04 41 41.5 2.96 60 55.5 3.96 80 71.5 5.11 104 239.5 17.1 350 5.我上面提到的“模擬信號(hào)的最大帶寬”這個(gè)概念,我在壇上關(guān)注了大半年,發(fā)現(xiàn)大家從未討論過(guò)。而這對(duì)用好ADC是很重要的。 同樣拿示波器舉例,示波器前端有運(yùn)放,再接ADC。對(duì)于運(yùn)放,一般才提”模擬信號(hào)的最大帶寬“,但對(duì)于后面的ADC,重要的指標(biāo)是采樣、保持、轉(zhuǎn)換時(shí)間,根據(jù)Nyquist采樣定律,至少2倍采樣率才能重現(xiàn)波形,而通常做法是4~10倍,所以對(duì)于103,一定要提“模擬信號(hào)的最大帶寬”這個(gè)概念的話,有工程意義上的值是1M/4~10 約為250k~100k。 1. STM32F的ADC最高采樣率是1MHz。 2. 原翻譯錯(cuò)了,根據(jù)aes_sea的建議“采樣及轉(zhuǎn)換時(shí)間最小的1us是在CPU時(shí)鐘為56MHz(STM32F101xx為28MHz)時(shí)達(dá)到”應(yīng)改成 “在不影響ADC最高采樣率的情況下,STM32F101xx的APB2最高可跑到56M..." 我的理解是: STM32F10X的ADC的最高工作頻率為14MHz,不能達(dá)到18MHz,(這是ST的無(wú)奈,當(dāng)然已經(jīng)很不錯(cuò)了。)而芯片的fSYSCLK和fADC 又必須保持2N倍的關(guān)系。 所以,若用戶考慮ADC的性能,fADC=14MHz,則選SYSCLK=14*4=56MHz。 若用戶考慮系統(tǒng)的性能,fSYSCLK=72MHzf,則選fADC=72/6=12MHz。 此時(shí),ADC最高采樣率是12/14=0.857MHz。 3. 最小采樣時(shí)間就是1.5個(gè)ADC時(shí)鐘周期。 4. 由于芯片的保持電容<5P,而其模擬開(kāi)關(guān)的導(dǎo)通電阻<1K,本來(lái)要求AD源的輸出阻抗<1.2K,為了方便用戶,簡(jiǎn)化AD源的電路,采樣時(shí)間是可選的。 故上述表格本應(yīng)反過(guò)來(lái):根據(jù)用戶的各個(gè)AD源的輸出阻抗,選擇合適的采樣時(shí)間。 5. “根據(jù)Nyquist采樣定律,至少2倍采樣率才能重現(xiàn)波形”是老的觀念。 否則,采樣示波器的的最高頻率怎么會(huì)遠(yuǎn)高于其ADC的最高頻率。軟件無(wú)線電也不會(huì)出現(xiàn)了。 技術(shù)高手應(yīng)該明白“通帶采樣”的概念。而這又和“最小采樣時(shí)間”關(guān)聯(lián)。 帶寬是相對(duì)于模擬信號(hào)而言的,即能夠采集到的最大的模擬信號(hào)的頻率。采樣率是相對(duì)于數(shù)字信號(hào)而言,即采樣時(shí)間所決定。這兩點(diǎn)在AD轉(zhuǎn)換器上都有體現(xiàn),一般來(lái)講AD的采樣率要大于帶寬,但也有小于帶寬的,這就是將來(lái)高帶寬的示波器的思想,用多個(gè)AD,利用相位差,在一個(gè)時(shí)鐘周期內(nèi)多個(gè)AD完成協(xié)同工作,這樣就可以降低單個(gè)AD的采樣率,是未來(lái)的趨勢(shì)。