劉 華
(中國民用航空西北地區(qū)空中交通管理局通信網(wǎng)絡(luò)中心,陜西西安 710075)
多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
劉 華
(中國民用航空西北地區(qū)空中交通管理局通信網(wǎng)絡(luò)中心,陜西西安 710075)
介紹了一種基于FPGA+DSP的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案,描述了系統(tǒng)的硬件設(shè)計(jì)方案和硬件電路,闡述了信息采集過程以及外圍通訊接口及軟件設(shè)計(jì)。通過Quartus II8.0及CCS 2進(jìn)行系統(tǒng)仿真,證明了系統(tǒng)設(shè)計(jì)方案的可行性。
數(shù)據(jù)采集系統(tǒng);FPGA;DSP;FIFO
在以往數(shù)據(jù)采集系統(tǒng)中,單片機(jī)、DSP常被選作主控制器,但隨著FPGA性能的不斷提高,具有時(shí)鐘域高、內(nèi)部延時(shí)小、速度快、全部邏輯由硬件完成等優(yōu)點(diǎn),因此在高速數(shù)據(jù)采集方面FPGA有著較大優(yōu)勢(shì),但也存在難于實(shí)現(xiàn)復(fù)雜算法的缺點(diǎn)。而DSP適合于高速算法的處理,系統(tǒng)采用FPGA+DSP方案,彌補(bǔ)了系統(tǒng)的不足。系統(tǒng)數(shù)據(jù)采集的控制、緩存及外圍通訊部分,用FPGA硬件實(shí)現(xiàn)。算法處理由DSP完成。在線采集的數(shù)據(jù)存放在DSP外掛的SRAM中。
設(shè)計(jì)采用DE2、THDB-ADA平臺(tái)進(jìn)行開發(fā)。DE2平臺(tái)選用FPGA EP2C35F672。THDB-ADA是針對(duì)DE2開發(fā)板設(shè)計(jì)的一款子開發(fā)板,由FPGA實(shí)現(xiàn)對(duì)A/D的控制。在系統(tǒng)中只用到了模塊的A/D轉(zhuǎn)換部分。其中芯片AD9248是一款雙通道模數(shù)轉(zhuǎn)換器。另外DSP選用TI推出的TMS320UC5402。
數(shù)據(jù)采集系統(tǒng)硬件原理如圖1所示,由圖1知DSP收到上位機(jī)發(fā)送的命令完成系統(tǒng)工作參數(shù)的配置,然后向FPGA發(fā)送指令,F(xiàn)PGA收到指令后一是對(duì)多路模擬開關(guān)進(jìn)行選通讓選通信號(hào)通過信號(hào)調(diào)理電路實(shí)現(xiàn)電平調(diào)整,并進(jìn)行A/D轉(zhuǎn)換的時(shí)序控制,二是把轉(zhuǎn)換好的數(shù)據(jù)進(jìn)行數(shù)據(jù)緩存,當(dāng)FIFO滿時(shí)并產(chǎn)生DSP能識(shí)別的外部中斷信號(hào)及標(biāo)識(shí)信號(hào),通知DSP采集數(shù)據(jù),最后DSP對(duì)采集到的數(shù)據(jù)進(jìn)行濾波處理、變換、譜分析。
圖1 系統(tǒng)硬件原理圖
系統(tǒng)采用16通道ADG506模擬開關(guān)進(jìn)行各通道的切換。并具有開關(guān)速度快、泄漏小等特點(diǎn)。主要有A0~A3,S1~S8,D,EN 端口。其中 A0~A3是二進(jìn)制地址信號(hào)輸入端,譯碼結(jié)果用于選擇有效的輸出通道;S1~S16是16路信號(hào)的輸入端,在此可根據(jù)需要選擇通道數(shù)。D是被選擇通道的信號(hào)輸出端;EN是選擇開關(guān)使能控制端,高電平為有效。FPGA通過數(shù)據(jù)幀來進(jìn)行通道選擇,每次只選擇一路,經(jīng) A/D轉(zhuǎn)換后送入FIFO。
圖2 幀結(jié)構(gòu)的數(shù)據(jù)格式
圖中,A0~A5表示所選擇通道,其中 A4,A5恒為0。D0~D1表示幀結(jié)構(gòu)數(shù)據(jù)起止標(biāo)識(shí)位。
信號(hào)調(diào)理電路對(duì)模擬信號(hào)進(jìn)行一定的放大/衰減,使信號(hào)的幅度滿足A/D芯片要求。前向調(diào)理電路采用高速低噪聲的模擬開關(guān)MAX4545去選擇不同的反饋電阻,同模擬運(yùn)算放大器MAX817構(gòu)成標(biāo)準(zhǔn)的反相運(yùn)算放大器來實(shí)現(xiàn)前向調(diào)理。MAX817的單位增益3 dB,截止頻率高達(dá)50 MHz,滿足帶寬的要求。MAX4545的4根控制線由FPGA設(shè)計(jì)控制電路去控制,具體是由復(fù)位按鈕進(jìn)行邊沿觸發(fā),使4位輸出電平在0001,0010,0100,1000之間輪流切換,將輸出電平去控制MAX4545的4根控制線,這就實(shí)現(xiàn)了不同的放大倍數(shù)之間切換,控制信號(hào)與放大倍數(shù)的對(duì)應(yīng)關(guān)系,如圖3所示。
圖3 控制信號(hào)與放大倍數(shù)的對(duì)應(yīng)表
系統(tǒng)接收到的模擬信號(hào)總是混有噪聲成分,為達(dá)到奈奎斯特采樣定理所要求信號(hào)的頻率范圍,需要利用低通濾波器除去干擾信號(hào)及抑制混疊現(xiàn)象,即進(jìn)行衰減與濾除。設(shè)計(jì)選用二階巴特沃斯低通濾波電路來濾除信號(hào)中的高頻分量,其特點(diǎn)是通頻帶內(nèi)的響應(yīng)曲線最大限度平坦,無起伏,而在阻頻帶逐漸衰減為0.2階的巴特沃斯低通濾波器幅頻。
FPGA作為接口電路主芯片,充當(dāng)DSP的前端接口元件,將各種信號(hào)轉(zhuǎn)換為DSP能讀取的并行格式數(shù)據(jù)。
FPGA的開發(fā)采用自頂向下的設(shè)計(jì)方法,即指將一個(gè)系統(tǒng)按功能劃分為不同的模塊,而模塊再根據(jù)需要?jiǎng)澐譃槎?jí)模塊,依此直到模塊易被實(shí)現(xiàn)為止。通過Verilog編程FPGA即可生成雙口SRAM模塊、ADC接口模塊、調(diào)理電路放大倍數(shù)控制模塊、數(shù)據(jù)接收模塊等,以實(shí)現(xiàn)對(duì)輸入信號(hào)的采集、存儲(chǔ)、處理和輸出。
在數(shù)據(jù)采集過程中,采集的數(shù)據(jù)緩存在FPGA內(nèi)部構(gòu)建的FIFO中在線采集時(shí),通過FPGA與DSP接口將FIFO中的數(shù)據(jù)轉(zhuǎn)存到DSP外掛的SRAM內(nèi),當(dāng)需要分析數(shù)據(jù)時(shí)再從存儲(chǔ)器中取出。DSP外掛Flash存放程序及配置信息。
數(shù)據(jù)在傳入FPGA后,直接采用數(shù)據(jù)在傳入FPGA后,可利用SRAM來設(shè)計(jì)的同步FIFO來緩存采樣數(shù)據(jù)如圖4所示。將FIFO抽象為環(huán)形數(shù)組,并用讀或?qū)懼羔榿砜刂茖?duì)環(huán)形數(shù)組的讀寫。該FIFO提供讀使能fiford和寫使能fifowr輸入控制信號(hào),并指示FIFO的狀態(tài)非空nempty,非滿nfull。未完成一次讀寫操作地址加1。隨著地址的增加,采樣數(shù)據(jù)被依次存入雙口SRAM中,當(dāng)存完數(shù)據(jù)后向DSP發(fā)出信號(hào)。
圖4 FIFO管腳圖
ADC接口模塊主要由分頻器、通道選擇模塊及ADC控制模塊組成。分頻器一方面產(chǎn)生ADC控制模塊的工作時(shí)鐘,另一方面提供采集啟動(dòng)信號(hào)以觸發(fā)通道選擇模塊。通道選擇控制模塊,輸出地址信號(hào)到多路開關(guān),用來選擇采集對(duì)應(yīng)通道的數(shù)據(jù)信息。該模塊由分頻器產(chǎn)生的采集信號(hào)觸發(fā)啟動(dòng)。ADC控制模塊,主要完成模數(shù)轉(zhuǎn)換器的配置與讀取。根據(jù)通道選擇模塊發(fā)出的A/D啟動(dòng)信號(hào),按照配置信息對(duì)選擇的通道進(jìn)行A/D轉(zhuǎn)換。該模塊的數(shù)據(jù)接收觸發(fā)信號(hào)在一次A/D轉(zhuǎn)換結(jié)束后該信號(hào)有效,表示開始接收轉(zhuǎn)換結(jié)果。為提高準(zhǔn)確性,采取平均值濾波的方法,隨后將結(jié)果輸出至寄存器陣列,同時(shí)向通道選擇模塊輸出數(shù)據(jù)有效信號(hào),表示該通道數(shù)據(jù)采集結(jié)束數(shù)據(jù)有效。
DSP軟件設(shè)計(jì)包括模塊化編程,其中包括初始化模塊、數(shù)據(jù)采集模塊、通訊模塊、FFT功能模塊等。
初始化模塊涉及鎖相環(huán)的初始化,F(xiàn)lash的初始化、SRAM的初始化等。鎖相環(huán)的初始化,系統(tǒng)中PLL輸入時(shí)鐘為50 MHz的晶振,輸出時(shí)鐘為兩個(gè),一是DSP內(nèi)部時(shí)SYSCLK1,二是EMIF3。為得到這兩個(gè)時(shí)鐘而進(jìn)行初始化。Flash的初始化,EMIF接口對(duì)于異步器件的控制通過A1CR來實(shí)現(xiàn),主要根據(jù)Flash參數(shù)設(shè)置數(shù)據(jù)位寬、讀寫建立時(shí)間、讀寫選通時(shí)間以及讀寫保持時(shí)間。SRAM的初始化,即完成對(duì)EMIF內(nèi)部關(guān)于SRAM參數(shù)寄存器的初始化。
DSP對(duì)數(shù)據(jù)采集控制主要通過查詢與中斷兩種方式進(jìn)行。該系統(tǒng)是通過中斷方式進(jìn)行,即指當(dāng)FIFO滿時(shí)產(chǎn)生一個(gè)高電平中斷。其主要流程由系統(tǒng)初始化和開啟中斷組成。
初始化程序完成對(duì)所有變量及DSP相應(yīng)寄存器的初始化工作,同時(shí)復(fù)位SRAM,并完成采集通道及量程的設(shè)置,隨后開啟中斷,進(jìn)入等待中斷狀態(tài)。當(dāng)檢測(cè)到中斷時(shí)進(jìn)入中斷服務(wù)程序,并查詢FPGA相關(guān)寄存器確定是哪一通道的中斷,并將數(shù)據(jù)存于SRAM中。
UART在FPGA內(nèi)部實(shí)現(xiàn),但接收數(shù)據(jù)的是DSP。DSP接收數(shù)據(jù)時(shí)UART采用中斷方式,即由UART接收FIFO滿產(chǎn)生中斷通知DSP讀取信息。
DSP對(duì)采集到的數(shù)據(jù)進(jìn)行濾波處理、變換、譜分析,下面以FFT為例對(duì)信號(hào)進(jìn)行譜分析。FFT算法基本可分為兩大類時(shí)域抽取法FFT和頻域抽取法FFT。在設(shè)計(jì)中選擇簡(jiǎn)單實(shí)用的時(shí)域抽取基二FFT算法。并采用基二的突發(fā)輸入輸出結(jié)構(gòu)。如圖5為采樣信號(hào)經(jīng)過采樣點(diǎn)為512的信號(hào)頻譜圖。
圖5 信號(hào)頻譜圖
FPGA與DSP兩者之間的通信,可分為DSP到FPGA為寫操作,F(xiàn)PGA到DSP為讀操作。DSP發(fā)給FPGA的配置信息為通道切換電路的選通信號(hào),各通道數(shù)據(jù)采集使能信號(hào)及清零信號(hào),UART的數(shù)據(jù)格式及中斷源設(shè)置等。FPGA返回給DSP的信息主要有數(shù)據(jù)采集存儲(chǔ)的空滿標(biāo)志,實(shí)際采集的數(shù)據(jù),UART的中斷信息等。
提出了一種基于FPGA+DSP的高速多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)方案,將FPGA及DSP的優(yōu)勢(shì)充分結(jié)合,并針對(duì)間歇性數(shù)據(jù)傳輸特征,設(shè)計(jì)以FIFO作數(shù)據(jù)過渡。該系統(tǒng)經(jīng)過測(cè)試,工作穩(wěn)定,滿足采集速度及A/D轉(zhuǎn)換精度的要求。
[1]徐海東,葉衛(wèi)東.FPGA在高性能數(shù)據(jù)采集系統(tǒng)中的應(yīng)用[J].計(jì)算機(jī)技術(shù)與應(yīng)用,2005,25(1):40 -43.
[2]劉軍,岳興蓮,何國國,等.基于FPGA的數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].硬件縱橫,2009(19):13-15.
[3]林灶生.Verilog FPGA芯片設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2006.
[4]周林.數(shù)據(jù)采集與分析技術(shù)[M].西安:西安電子科技大學(xué)出版社,2005.
[5]李念強(qiáng).數(shù)據(jù)采集與系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2009.
Design of a Multichannel Data Gathering System
LIU Hua
(Communication Net Center,Northwest Regional Air Traffic Management Bureau of Civil Aviation of China,Xi'an 710075,China)
The paper introduces the design of a multichannel data gathering system based on FPGA and DS with its hardware design and circuit explained.It also presents the external communication interface and the process of data acquisition.Simulation results by Quartus II8.0 and CCS 2 show that the design of the system is feasible.
data acquisition system;FPGA;DSP;FIFO
TP274+.2
A
1007-7820(2012)06-024-03
2012-02-11
劉華(1973—),女,助理工程師。研究方向:通信工程。