單片機(jī)系統(tǒng)中高速數(shù)據(jù)采集的實(shí)現(xiàn)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在單片機(jī)系統(tǒng)中通常要用到高速數(shù)據(jù)采集。雖然目前單片機(jī)的工作頻率不斷提高,但仍然無法滿足如周期信號(hào)頻譜分析等需要采用高速數(shù)據(jù)采集的場(chǎng)合。對(duì)于速率在l00 kS/s以上的數(shù)據(jù)采集,如果采用一般的中斷查詢法就不易實(shí)現(xiàn),因此可考慮通過存儲(chǔ)器直接存儲(chǔ)轉(zhuǎn)換數(shù)據(jù)來實(shí)現(xiàn)1 MHz以上的高速數(shù)據(jù)采集。
1系統(tǒng)結(jié)構(gòu)
系統(tǒng)由單片機(jī)、高速A/D轉(zhuǎn)換器、高速靜態(tài)RAM及切換控制電路等部分組成,如圖1所示。靜態(tài)RAM用作單片機(jī)與A/D轉(zhuǎn)換器之間的數(shù)據(jù)緩沖。
RAM的數(shù)據(jù)線和地址線由總線切換電路來控制,選擇連接單片機(jī)總線或連接到A/D轉(zhuǎn)換器的數(shù)據(jù)輸出和地址發(fā)生器輸出地址。RAM的讀寫由讀寫控制電路實(shí)現(xiàn)。
在數(shù)據(jù)采集期間,存儲(chǔ)器的寫入地址由可預(yù)置的16位地址發(fā)生器產(chǎn)生,其溢出信號(hào)作為數(shù)據(jù)采集結(jié)束控制。
圖1中單片機(jī)采用89C5l;靜態(tài)RAM由2片CYPRESS公司的高速靜態(tài)存儲(chǔ)器CY7Cl9920構(gòu)成64 k的存儲(chǔ)器,典型讀寫時(shí)間20 ns;轉(zhuǎn)換器采用MAXIM公司的流水線型高速A/D轉(zhuǎn)換器MAXl426, 采用循環(huán)采集方式;總線切換采用74F245三態(tài)總線收發(fā)器并聯(lián)方式,典型傳輸時(shí)間為6?5 ns;地址發(fā)生器是由4片計(jì)數(shù)器74Fl63級(jí)聯(lián)組成的可預(yù)置數(shù)的16位二進(jìn)制計(jì)數(shù)器,可以預(yù)置16位地址的初值,也就是傳輸數(shù)據(jù)塊的起始地址。一片 74Fl63的典型傳輸時(shí)間是6?5ns,所以地址發(fā)生器的延時(shí)時(shí)間為26 ns。
2原理與設(shè)計(jì)
2.1數(shù)據(jù)采集
數(shù)據(jù)采集控制電路如圖2所示。系統(tǒng)開機(jī)運(yùn)行時(shí)或進(jìn)行內(nèi)部數(shù)據(jù)處理時(shí)應(yīng)把D觸發(fā)器清零,使數(shù)據(jù)采集電路處于禁止?fàn)顟B(tài)。當(dāng)單片機(jī)完成初始化或準(zhǔn)備就緒后,首先向地址發(fā)生器寫入數(shù)據(jù)塊的起始地址,并把總線切換控制線置位,把RAM的控制權(quán)交給采集電路。置位D觸發(fā)器開始數(shù)據(jù)采集,然后等待數(shù)據(jù)采集結(jié)束。在數(shù)據(jù)采集過程中,單片機(jī)也可以通過對(duì)D觸發(fā)器清零強(qiáng)行中斷數(shù)據(jù)采集。當(dāng)采集數(shù)據(jù)寫滿靜態(tài)RAM時(shí),地址發(fā)生器發(fā)出一個(gè)溢出脈沖,使D觸發(fā)器清零。D觸發(fā)器的輸出經(jīng)與門使地址發(fā)生器和A/D轉(zhuǎn)換器停止工作,并同時(shí)通過結(jié)束標(biāo)志通知單片機(jī)。
2.2總線控制
總線的選擇控制是由2組74F245三態(tài)總線收發(fā)器完成。2組總線收發(fā)器一端接至靜態(tài)RAM的地址總線和數(shù)據(jù)總線,另一端則分別接單片機(jī)總線和地址發(fā)生器的地址輸出與A/D轉(zhuǎn)換器的數(shù)據(jù)輸出構(gòu)成的外部總線。在數(shù)據(jù)采集期間,選通外部總線,由A/D轉(zhuǎn)換器把采集到的數(shù)據(jù)直按寫入到靜態(tài)RAM中保存。當(dāng)數(shù)據(jù)采集結(jié)束后,選通單片機(jī)系統(tǒng)總線,由單片機(jī)對(duì)靜態(tài)RAM中的數(shù)據(jù)進(jìn)行運(yùn)算處理。數(shù)據(jù)總線是8根,故需要2片74F245對(duì)數(shù)據(jù)線進(jìn)行切換;而地址線有l(wèi)6根,則需要4片74F245對(duì)地址線進(jìn)行切換。
2.3數(shù)據(jù)傳輸
時(shí)鐘信號(hào)的占空比為0?5,經(jīng)過與門之后輸出到地址發(fā)生器、A/D轉(zhuǎn)換器和靜態(tài)RAM的寫控制端。地址發(fā)生器設(shè)計(jì)為上升沿觸發(fā)方式,A/D轉(zhuǎn)換器 MAXl426也是上升沿開始轉(zhuǎn)換。故當(dāng)上升沿到來時(shí),地址發(fā)生器把地址加1形成新的地址。同時(shí),A/D轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換。當(dāng)時(shí)鐘下降沿到來時(shí),A/D 轉(zhuǎn)換器的輸出數(shù)據(jù)已穩(wěn)定的放到了數(shù)據(jù)總線上,故下降沿將他寫入到靜態(tài)RAM的新地址中。由于74F245的典型傳輸時(shí)間為6.5 ns,故地址發(fā)生器的延時(shí)時(shí)間是26 ns。而A/D轉(zhuǎn)換器MAX1426的最高時(shí)鐘頻率為10 MHz,?故從開始轉(zhuǎn)換到數(shù)據(jù)穩(wěn)定輸出的最短時(shí)間為50 ns,所以地址發(fā)生器完全能夠滿足要求。
3模數(shù)轉(zhuǎn)換器
MAXIM公司的流水線型高速A/D轉(zhuǎn)換器MAX1426,轉(zhuǎn)換精度10 bits(在使用過程中僅取高8位)、并行輸出、最大采集頻率l0 MHz,內(nèi)置T/H,采用循環(huán)采集方式。MAXl426采用了十級(jí)流水線結(jié)構(gòu),如圖3所示。
每一級(jí)流水線包括1個(gè)采樣/保持放大器、1個(gè)低分辨率ADC和DAC及1個(gè)求和電路,其中求和電路還可提供固定的增益。在進(jìn)行數(shù)據(jù)采集時(shí),第一級(jí)流水線的采樣/保持放大器對(duì)輸入信號(hào)取樣后先由第一級(jí)的ADC對(duì)輸入進(jìn)行量化,接著用DAC產(chǎn)生一個(gè)對(duì)應(yīng)于量化結(jié)果的模擬電平送至求和電路,求和電路從輸入信號(hào)中扣除此模擬電平,并將差值精確放大(固定增益)后送至下一級(jí)電路處理。
一個(gè)采樣點(diǎn)通過每一級(jí)流水線需要0?5個(gè)時(shí)鐘周期,再加上輸出延時(shí),一次采樣共需要5.5個(gè)時(shí)鐘周期。又由于MAXl426的每一級(jí)流水線具有獨(dú)立的采?樣/?保持放大器,當(dāng)本次采樣進(jìn)入到后一級(jí)流水線以后,前一級(jí)流水線的采樣/保持放大器就可以釋放出來用于下一次采樣。
因此允許流水線各級(jí)同時(shí)對(duì)多個(gè)采樣進(jìn)行處理,從而提高了信號(hào)的處理速度,使MAXl426能夠每個(gè)時(shí)鐘周期進(jìn)行一次采樣。其工作時(shí)序如圖4所示。
參考文獻(xiàn)
[1]陸坤,等?電子設(shè)計(jì)技術(shù)[M]?成都:電子科技大學(xué)出版社,l997
[2]劉先昆,等?基于單片機(jī)系統(tǒng)采用DMA塊傳輸方式[J]?電子技術(shù)應(yīng)用,2000(7)
[3]何立民,等?單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M]?北京:北京航空航天大學(xué)出版社,l990