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