基于FPGA的數(shù)據(jù)采集系統(tǒng)設(shè)計
3 系統(tǒng)軟件設(shè)計
3.1 總體方案設(shè)計
FPGA數(shù)據(jù)采集系統(tǒng)的軟件總體方案設(shè)計流程圖如圖4所示。當(dāng)FPGA、ADC以及12864顯示器初始化完畢之后,判斷是否有模擬信號輸入到ADC器件中,如果沒有,則等待信號的輸入;如果有,則ADC開始采集數(shù)據(jù)并轉(zhuǎn)換。轉(zhuǎn)換完成之后,送到FPGA芯片進(jìn)行數(shù)據(jù)處理。然后,傳送到12864顯示器中進(jìn)行波形的顯示。最后,再次判斷有無信號輸入到ADC中,如果有,則繼續(xù)進(jìn)行下次的采集流程;如果沒有,則結(jié)束程序。
3.2 FIFO緩存設(shè)計
由于A/D轉(zhuǎn)換器、FPGA以及12864顯示器之間處理數(shù)據(jù)的速度不同,為了消除不必要的數(shù)據(jù)丟失與毛刺現(xiàn)象或者重復(fù)讀取,可以將處理后的數(shù)據(jù)暫時存入FIFO中。FIFO是一個先入先出的堆棧,利用FPGA內(nèi)部強(qiáng)大的寄存器功能,設(shè)計了一個FIFO的數(shù)據(jù)緩沖器。
如圖5所示,A/D轉(zhuǎn)換器將轉(zhuǎn)換好的數(shù)據(jù)存入FIFO緩存中,F(xiàn)PGA檢測顯示器12864有無讀信號,如果有讀信號,則FIFO輸出信號給顯示器;如果沒有,則數(shù)據(jù)繼續(xù)存儲在FIFO中,等待被取走。
4 結(jié)束語
基于FPGA在高速數(shù)據(jù)采集方面有單片機(jī)和DSP無法比擬的優(yōu)勢,F(xiàn)PGA具有時鐘頻率高,內(nèi)部延時小,全部控制邏輯由硬件完成,速度快,效率高,組成形式靈活等特點。因此,本文研究并開發(fā)了一個基于FPGA的數(shù)據(jù)采集系統(tǒng)。本文中所提出的數(shù)據(jù)采集系統(tǒng)設(shè)計方案,就是利用FPGA作為整個數(shù)據(jù)采集系統(tǒng)的核心來對系統(tǒng)時序和各邏輯模塊進(jìn)行控制。依靠FPGA強(qiáng)大的功能基礎(chǔ),以FPGA作為橋梁合理的連接了ADC、顯示器件以及其他外圍電路,最終實現(xiàn)了課題的要求,達(dá)到了數(shù)據(jù)采集的目的。
評論