單片機(jī)系統(tǒng)中高速數(shù)據(jù)采集的實(shí)現(xiàn)
在單片機(jī)系統(tǒng)中通常要用到高速數(shù)據(jù)采集。雖然目前單片機(jī)的工作頻率不斷提高,但仍然無法滿足如周期信號頻譜分析等需要采用高速數(shù)據(jù)采集的場合。對于速率在l00 kS/s以上的數(shù)據(jù)采集,如果采用一般的中斷查詢法就不易實(shí)現(xiàn),因此可考慮通過存儲器直接存儲轉(zhuǎn)換數(shù)據(jù)來實(shí)現(xiàn)1 MHz以上的高速數(shù)據(jù)采集。
本文引用地址:http://2s4d.com/article/172131.htm1系統(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ù)采集期間,存儲器的寫入地址由可預(yù)置的16位地址發(fā)生器產(chǎn)生,其溢出信號作為數(shù)據(jù)采集結(jié)束控制。
圖1中單片機(jī)采用89C5l;靜態(tài)RAM由2片CYPRESS公司的高速靜態(tài)存儲器CY7Cl9920構(gòu)成64 k的存儲器,典型讀寫時間20 ns;轉(zhuǎn)換器采用MAXIM公司的流水線型高速A/D轉(zhuǎn)換器MAXl426, 采用循環(huán)采集方式;總線切換采用74F245三態(tài)總線收發(fā)器并聯(lián)方式,典型傳輸時間為65 ns;地址發(fā)生器是由4片計數(shù)器74Fl63級聯(lián)組成的可預(yù)置數(shù)的16位二進(jìn)制計數(shù)器,可以預(yù)置16位地址的初值,也就是傳輸數(shù)據(jù)塊的起始地址。一片 74Fl63的典型傳輸時間是65ns,所以地址發(fā)生器的延時時間為26 ns。
2原理與設(shè)計
2.1數(shù)據(jù)采集
數(shù)據(jù)采集控制電路如圖2所示。系統(tǒng)開機(jī)運(yùn)行時或進(jìn)行內(nèi)部數(shù)據(jù)處理時應(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ī)也可以通過對D觸發(fā)器清零強(qiáng)行中斷數(shù)據(jù)采集。當(dāng)采集數(shù)據(jù)寫滿靜態(tài)RAM時,地址發(fā)生器發(fā)出一個溢出脈沖,使D觸發(fā)器清零。D觸發(fā)器的輸出經(jīng)與門使地址發(fā)生器和A/D轉(zhuǎn)換器停止工作,并同時通過結(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ī)對靜態(tài)RAM中的數(shù)據(jù)進(jìn)行運(yùn)算處理。數(shù)據(jù)總線是8根,故需要2片74F245對數(shù)據(jù)線進(jìn)行切換;而地址線有l(wèi)6根,則需要4片74F245對地址線進(jìn)行切換。
2.3數(shù)據(jù)傳輸
時鐘信號的占空比為05,經(jīng)過與門之后輸出到地址發(fā)生器、A/D轉(zhuǎn)換器和靜態(tài)RAM的寫控制端。地址發(fā)生器設(shè)計為上升沿觸發(fā)方式,A/D轉(zhuǎn)換器 MAXl426也是上升沿開始轉(zhuǎn)換。故當(dāng)上升沿到來時,地址發(fā)生器把地址加1形成新的地址。同時,A/D轉(zhuǎn)換器進(jìn)行模數(shù)轉(zhuǎn)換。當(dāng)時鐘下降沿到來時,A/D 轉(zhuǎn)換器的輸出數(shù)據(jù)已穩(wěn)定的放到了數(shù)據(jù)總線上,故下降沿將他寫入到靜態(tài)RAM的新地址中。由于74F245的典型傳輸時間為6.5 ns,故地址發(fā)生器的延時時間是26 ns。而A/D轉(zhuǎn)換器MAX1426的最高時鐘頻率為10 MHz,故從開始轉(zhuǎn)換到數(shù)據(jù)穩(wěn)定輸出的最短時間為50 ns,所以地址發(fā)生器完全能夠滿足要求。
評論