⑴ PIC18單片機的AD采樣頻率是怎麼計算的(要具體)
AD的采樣總時間為採集時間+轉換時間:
每位的A/D轉換時間定義為TAD。
最小採集時間TACQ為1.4us,但與你在ADCON2中的ACQT2:ACQT0有關:
ACQT2:ACQT0
111=20個TAD
110=16個TAD
101=12個TAD
100=8個TAD
011=6個TAD
010=4個TAD
001=2個TAD
000=0個TAD,這個是手動采樣,
TAD的最小時間為0.7us,TAD由ADCON2的ADCS2:ADCS0設置:
ADCS2:ADCS0:A/D轉換時鍾選擇位
111=FRC(時鍾來自A/D模塊RC振盪器)
110=FOSC/64
101=FOSC/16
100=FOSC/4
011=FRC(時鍾來自A/D模塊RC振盪器)
010=FOSC/32
001=FOSC/8
000=FOSC/2
這個還是有點復雜,用一個圖來說明采樣的時間過程,圖中假設採集時間TACQ=4TAD
⑵ 單片機最高采樣頻率
這個問題不能泛泛回答,你問的問題沒有答案,你要加限定條件,什麼單片機,什麼型號,多大晶振,甚至可以設置晶振分頻的單片機多少分頻,這樣才能確定單片機的采樣頻率,比如你用最簡單最原始的51,12MHz晶振,12分頻的話就是1MHz,但是如果你用STM32實現,那IO的時鍾你都可以設置到50MHz東西不一樣屬性就不一樣
⑶ 需要用51單片機做一個數據採集系統,但是要求采樣頻率達到至少每秒2000次以上,請問51單片機可以做到么
肯定要速度快的單片機,比如帶ADC的STC12單片機,用定時器設置好每秒中斷2000次,每次啟動ADC轉換一次,這樣就得到數據了。
當然要存儲2000個數據還是問題,如果是8bit的結果,那需要2000位元組,12bit結果要4000位元組。所以要求單片機本身有很大的RAM或者要擴展RAM才行。但STC12內部才1024位元組的RAM,肯定不夠用,所以這時要用STC90C58AD了,4096位元組的RAM。
如果用C8051F單片機,那更簡單。比如C8051F的ADC0是100ksps,就是說連續轉換時每秒能采樣100000個數據,轉換2000個是小菜一碟,只要設置好定時器以0.5毫秒觸發一次ADC轉換,再設置好ADC中斷,這樣1秒採集2000個數據沒問題。
⑷ 單片機怎樣進行頻率采樣
如果被測信號頻率遠大於單片機工作頻率(機器周期),可以通過外部可編程分頻器降到單片機可以接受的頻率范圍。
如果被測信號頻率稍低於單片機工作頻率,可以採用單片機定時器從計數引腳輸入信號,程序設定計數門限時間的方法來測量頻率。
如果被測信號頻率遠低於單片機工作頻率,那麼可以採用信號輸入外部中斷引腳作為單片機定時器的計數門限時間,定時器以工作頻率計數來測量頻率。
⑸ 單片機A/D采樣
假設一個系統使用12位的ADC,每秒輸出一個溫度值(1Hz)。為了將測量解析度增加到16位,我們按下式計算過采樣頻率:
因此,如果我們以fs=256Hz的采樣頻率對溫度感測器進行過采樣,我們將在所要求的采樣周期內採集到足夠的樣本,對這些樣本求均值便可得到16位的輸出數據。為此,我們先累加(將256個連續樣本加在一起),然後將總和除以16(或將總和右移4位)。這樣的過程通常被稱為抽取。這樣得到的結果是16位的有用數據,所做的操作被稱為累加和抽取。一旦我們計算得到由256個樣本(對本例而言)所產生的結果,我們將對數據進行保存或處理,然後開始為下一個輸出字採集樣本。
註:用於累加過采樣數據和進行除法運算的存儲器單元所佔的位元組數必須足夠多,以免發生溢出或產生截斷錯誤。