閆 君 王旭柱
(1、中國(guó)海洋大學(xué)信息科學(xué)與工程學(xué)院信號(hào)與信息處理,山東 青島 266100 2、中國(guó)海洋大學(xué)信息科學(xué)與工程學(xué)院電子系,山東 青島 266100)
伴隨著科技的發(fā)展和數(shù)據(jù)采集系統(tǒng)的應(yīng)用,對(duì)數(shù)據(jù)采集與信號(hào)采集系統(tǒng)的各項(xiàng)指標(biāo)提出了越來(lái)越多的要求,它廣泛應(yīng)用于雷達(dá)、通信、遙測(cè)遙感等領(lǐng)域。傳統(tǒng)方法通常采用單片機(jī)或者DSP作為核心芯片,由于單片機(jī)的時(shí)鐘頻率相對(duì)較低,運(yùn)行軟件的時(shí)間占采用時(shí)間很大的比例,很難適應(yīng)高速采集系統(tǒng)的要求。DSP運(yùn)行速度雖然快,但是不能夠完成外圍的硬件邏輯控制。FPGA時(shí)鐘頻率相對(duì)比較高,延時(shí)小,F(xiàn)PGA采用IP內(nèi)核技術(shù),可以集成外圍控制和接口電路。該系統(tǒng)主要應(yīng)用于基于激發(fā)熒光和激光多普勒技術(shù)的浮游植物粒徑分布現(xiàn)場(chǎng)在線(xiàn)監(jiān)測(cè)系統(tǒng)中的數(shù)據(jù)采集部分,具有較強(qiáng)信號(hào)處理能力和較大數(shù)據(jù)吞吐量 ,在信號(hào)捕獲,測(cè)量,分析系統(tǒng)中具有廣泛實(shí)用性。
FPGA芯片采用Xilinx公司的Spartan3E系列中的XC3S1200EFG320,為實(shí)現(xiàn)高速雙通道采用采用了TI公司的具有 Ref引腳和偽雙極全差動(dòng)輸入的 16位 2MSPS并行ADS8412。該系統(tǒng)大體分為數(shù)據(jù)采集單元,數(shù)據(jù)處理單元,邏輯時(shí)序控制單元,主機(jī)通信單元,以及電源模塊。系統(tǒng)總體結(jié)構(gòu)框圖如下:
該系統(tǒng)可完成兩路中頻信號(hào)的采樣處理,單路信號(hào)加入到到模數(shù)轉(zhuǎn)換器中,ADS1605將模擬信號(hào)轉(zhuǎn)換為16bit的數(shù)字信號(hào)。通過(guò)FPGA的地址譯碼分時(shí)選通AD1和AD2實(shí)現(xiàn)雙通道的由AD到FPGA內(nèi)部RAM和FIFO模塊的。相應(yīng)的信號(hào)處理算法在FPGA內(nèi)部模塊中實(shí)現(xiàn)。系統(tǒng)總體結(jié)構(gòu)框圖如下:

ADS8412是德州儀器公司推出的一款2Msps采樣速率的16位逐次逼近(SAR)模數(shù)轉(zhuǎn)換器(ADC)。采用P8/P16并行輸出,帶有內(nèi)部時(shí)鐘和基準(zhǔn)電壓源,無(wú)丟失碼,2MHz采樣頻率時(shí)的功耗為 175mW,SNR為 90dB。ADS8412是單極單端輸入范圍,有16位和8位可選擇接口,零等待時(shí)間,高速并行接口,8位/16位總線(xiàn)傳輸,48引腳TQFP封裝,轉(zhuǎn)換時(shí)鐘由芯片內(nèi)部產(chǎn)生,360ms的轉(zhuǎn)換時(shí)間可保護(hù)2MHz的數(shù)據(jù)吞吐,模擬輸入信號(hào)由+IN和-I兩個(gè)引腳提供,本設(shè)計(jì)采用16位的總線(xiàn)輸出
Spartan-3E型FPGA,是Xilinx在SP3基礎(chǔ)上,針對(duì)用戶(hù)針對(duì)用戶(hù)對(duì)更低成本的需要推出的低成本優(yōu)化FPGA,主要滿(mǎn)足要求有效邏輯和大量資源的邏輯集成、DSP協(xié)處理器和嵌入式控制等應(yīng)用。該系統(tǒng)大約需要500K空間的存儲(chǔ),因此選擇XC3S1200E這一款的芯片,芯片的各個(gè)內(nèi)核時(shí)鐘信號(hào)均是利用DCM來(lái)實(shí)現(xiàn)的配置方式采用主并行配置方式,F(xiàn)PGA驅(qū)動(dòng)PROM CLK,這種配置方式需要分別設(shè)置FPGA 中 M0、M1、M2 管腳為“0”、“1”、“0”,采用128Mbit的NOR型的并行Flash,配置方式通過(guò)CPLD XC2C64控制來(lái)實(shí)現(xiàn)的。

PCI接口接口電路可以采用PCI專(zhuān)用的接口芯片,也可利用PCI軟核,該系統(tǒng)利用Xilinx提供的PCI core來(lái)完成PCI總線(xiàn)控制器的設(shè)計(jì)。這樣不需要考慮PCI控制器的內(nèi)部時(shí)序,縮短設(shè)計(jì)周期。

由于本系統(tǒng)應(yīng)用中要求對(duì)兩個(gè)通道中的數(shù)據(jù)采取不同處理方式。AD1采集熒光信號(hào),AD2采集多普勒信號(hào)。當(dāng)系統(tǒng)啟動(dòng)后兩個(gè)通道都開(kāi)始采樣進(jìn)行2K的數(shù)據(jù)循環(huán)采樣,于此同時(shí)對(duì)一通道中的數(shù)據(jù)進(jìn)行50個(gè)數(shù)據(jù)累加檢測(cè),當(dāng)發(fā)現(xiàn)50個(gè)數(shù)據(jù)的和大于事先計(jì)算好的觸發(fā)門(mén)限時(shí),兩個(gè)通道都開(kāi)始進(jìn)行6K的采樣,由于保存了觸發(fā)前的兩個(gè)通道的2K數(shù)據(jù),所以最后兩個(gè)通道中的數(shù)據(jù)都為8K,最后對(duì)一通道的8K采樣信號(hào)求最大值和最小值,計(jì)算出中間值,通過(guò)對(duì)一通道中的數(shù)據(jù)進(jìn)行搜索,與中間值進(jìn)行比較得到其下標(biāo)地址,從而得出脈沖的兩個(gè)中值之間的寬度。 在第二個(gè)通道中對(duì)采集的8K數(shù)據(jù)進(jìn)行快速傅里葉變換得到第二通道的頻譜,最后將以上計(jì)算后得到的數(shù)據(jù)上傳到主機(jī)進(jìn)行顯示。

本文主要介紹了基于芯片F(xiàn)PGA XC3S1 200E的數(shù)據(jù)采集PCI卡,通過(guò)了以上工作開(kāi)發(fā)了適用于中頻速度的具有廣泛適應(yīng)性的數(shù)據(jù)采集卡。本文的創(chuàng)新點(diǎn)在于利用FPGA內(nèi)部模塊來(lái)實(shí)現(xiàn)數(shù)據(jù)處理的設(shè)計(jì),采用Verilog生成的狀態(tài)機(jī)分別控制各個(gè)模塊有序的連接,在實(shí)際應(yīng)用中根據(jù)執(zhí)行任務(wù)不同可以隨時(shí)更換軟核模塊,增強(qiáng)了系統(tǒng)的靈活性。
[1]朱冰蓮,劉學(xué)剛.FPGA實(shí)現(xiàn)流水線(xiàn)結(jié)構(gòu)的FFT 處理器,重慶大學(xué)學(xué)報(bào)。2004(9):33-36
[2]Fast Fourier Transform Data Sheet.Xilinx.Inc.2003.
[3]吳德鳴,陸達(dá).高速通信中基于FPGA的PCI總線(xiàn)接口研究與設(shè)計(jì),計(jì)算機(jī)應(yīng)用。2005.7.
[4]周俊容.高速數(shù)據(jù)采集系統(tǒng),電子工程師2005.5.
[5]連冰,宮豐奎,張力等.基于FPGA的快速傅里葉變換,國(guó)外電子元器件,2003(12):26-28.
[6]薛小剛,葛毅敏.Xilinx ISE 9.X FPGA/CPLD設(shè)計(jì)指南。人民郵電出版社。2007年8月.