多通道數(shù)據(jù)采集系統(tǒng)設(shè)計
2.5 DSP硬件電路設(shè)計
在數(shù)據(jù)采集過程中,采集的數(shù)據(jù)緩存在FPGA內(nèi)部構(gòu)建的FIFO中在線采集時,通過FPGA與DSP接口將FIFO中的數(shù)據(jù)轉(zhuǎn)存到DSP外掛的SRAM內(nèi),當(dāng)需要分析數(shù)據(jù)時再從存儲器中取出。DSP外掛Flash存放程序及配置信息。
3 軟件設(shè)計
3.1 FPGA軟件設(shè)計
數(shù)據(jù)在傳入FPGA后,直接采用數(shù)據(jù)在傳入FPGA后,可利用SRAM來設(shè)計的同步FIFO來緩存采樣數(shù)據(jù)如圖4所示:將FIFO抽象為環(huán)形數(shù)組,并用讀或?qū)懼羔榿砜刂茖Νh(huán)形數(shù)組的讀寫。該FIFO提供讀使能fiford和寫使能fifowr輸入控制信號,并指示FIFO的狀態(tài)非空nempty,非滿nfull。未完成一次讀寫操作地址加1。隨著地址的增加,采樣數(shù)據(jù)被依次存入雙口SRAM中,當(dāng)存完數(shù)據(jù)后向DSP發(fā)出信號。本文引用地址:http://2s4d.com/article/193418.htm
ADC接口模塊主要由分頻器、通道選擇模塊及ADC控制模塊組成。分頻器一方面產(chǎn)牛ADC控制模塊的工作時鐘,另一方面提供采集啟動信號以觸發(fā)通道選擇模塊。通道選擇控制模塊,輸出地址信號到多路開關(guān),用來選擇采集對應(yīng)通道的數(shù)據(jù)信息。該模塊由分頻器產(chǎn)生的采集信號觸發(fā)啟動。ADC控制模塊,主要完成模數(shù)轉(zhuǎn)換器的配置與瀆取。根據(jù)通道選擇模塊發(fā)出的A/D啟動信號,按照配置信息對選擇的通道進行A/D轉(zhuǎn)換。該模塊的數(shù)據(jù)接收觸發(fā)信號在一次A/D轉(zhuǎn)換結(jié)束后該信號有效,表示開始接收轉(zhuǎn)換結(jié)果。為提高準確性,采取平均值濾波的方法,隨后將結(jié)果輸出至寄存器陣列,同時向通道選擇模塊輸出數(shù)據(jù)有效信號,表示該通道數(shù)據(jù)采集結(jié)束數(shù)據(jù)有效。
3.2 DSP軟件設(shè)計
DSP軟件設(shè)計包括模塊化編程,其中包括初始化模塊、數(shù)據(jù)采集模塊、通訊模塊、FFT功能模塊等。
初始化模塊涉及鎖相環(huán)的初始化,F(xiàn)lash的初始化、SRAM的初始化等一鎖相環(huán)的初始化,系統(tǒng)中PLL輸入時鐘為50 MHz的晶振,輸出時鐘為兩個,一是DSP內(nèi)部時SYSCLK1二是EMIF3。為得到這兩個時鐘而進行初始化。Flash的初始化,EMIF接口對于異步器件的控制通過A1CR來實現(xiàn),主要根據(jù)Flash參數(shù)設(shè)置數(shù)據(jù)位寬、讀寫建立時間、讀寫選通時間以及讀寫保持時間。SRAM的初始化,即完成對EMIF內(nèi)部關(guān)于SRAM參數(shù)寄存器的初始化。
DSP對數(shù)據(jù)采集控制主要通過查詢與中斷兩種方式進行。該系統(tǒng)是通過巾斷方式進行,即指當(dāng)FIFO滿時產(chǎn)生一個高電平中斷。其主要流程由系統(tǒng)初始化和開啟中斷組成。
初始化程序完成對所有變量及DSP相應(yīng)寄存器的初始化工作,同時復(fù)位SRAM,并完成采集通道及量程的設(shè)置,隨后開啟中斷,進入等待中斷狀態(tài)。當(dāng)檢測到中斷時進入中斷服務(wù)程序,并查詢FPGA相關(guān)寄存器確定是哪一通道的中斷,并將數(shù)據(jù)存于SRAM中。
UART在FPGA內(nèi)部實現(xiàn),但接收數(shù)據(jù)的是DSP。DSP接收數(shù)據(jù)時UART采用中斷方式,即由UART接收FIFO滿產(chǎn)生中斷通知DSP讀取信息。
DSP對采集到的數(shù)據(jù)進行濾波處理、變換、譜分析,下面以FFT為例對信號進行譜分析。FFT算法基本可分為兩大類時域捕取法FFT和頻域抽取法FFT。在設(shè)計中選擇簡單實用的時域抽取基二FFT算法。并采用基二的突發(fā)輸入輸出結(jié)構(gòu)。如圖5為采樣信號經(jīng)過采樣點為512的信號頻譜圖。
3.3 FPGA與DSP的接口設(shè)計
FPGA與DSP兩者之間的通信,可分為DSP到FPCA為寫操作,F(xiàn)PGA到DSP為讀操作。DSP發(fā)給FPGA的配置信息為通道切換電路的選通信號,各通道數(shù)據(jù)采集使能信號及清零信號,UART的數(shù)據(jù)格式及中斷源設(shè)置等。FPGA返回給DSP的信息主要有數(shù)據(jù)采集存儲的窄滿標(biāo)志,實際采集的數(shù)據(jù),UART的中斷信息等。
4 結(jié)束語
提出了一種基于FPGA+DSP的高速多通道數(shù)據(jù)采集系統(tǒng)設(shè)計方案,將FPGA及DSP的優(yōu)勢充分結(jié)合,并針對間歇性數(shù)據(jù)傳輸特征,設(shè)計以FIFO作數(shù)據(jù)過渡。該系統(tǒng)經(jīng)過測試,工作穩(wěn)定,滿足采集速度及A/D轉(zhuǎn)換精度的要求。
評論