邢占春,曹芳菊,黃進(jìn)燕,黃 凱
(1.中國(guó)電子科技集團(tuán)公司第五十四研究所,河北石家莊050081;2.邢臺(tái)職業(yè)技術(shù)學(xué)院,河北邢臺(tái)054000)
CPCI是國(guó)際工業(yè)計(jì)算機(jī)制造者聯(lián)合會(huì)(PCI Industrial Computer Manufacturer’s Group,PICMG)組織于1994年提出的高性能工作計(jì)算機(jī)總線標(biāo)準(zhǔn)。CPCI總線在電氣方面兼容PCI總線,CPCI架構(gòu)的設(shè)備電氣連接性能好、可靠性高、散熱好、兼容性強(qiáng),并且維護(hù)使用非常方便,允許有多個(gè)外圍CPCI插卡需要與CPCI主板進(jìn)行通信,通過分時(shí)復(fù)用共享CPCI總線帶寬。這些特點(diǎn)允許我們?cè)O(shè)計(jì)更為復(fù)雜、靈活的信號(hào)采集平臺(tái)[1,2]。
8路采集板卡主要由變壓器匹配電路、A/D變換器、FPGA(A/D控制邏輯、數(shù)據(jù)濾波及處理)、時(shí)鐘分配模塊、9054 橋芯片、FIFO 和電源等組成[3-5]。8路采集處理單元原理框圖如圖1所示。
圖1 8路采集處理單元原理
設(shè)計(jì)中選用Analog Devices的AD9252主要基于幾方面考慮:
①單通道最高采樣率滿足信號(hào)采集平臺(tái)采樣率的需求。奈奎斯特采樣定理指出了在模數(shù)轉(zhuǎn)換過程中,當(dāng)采集頻率fs.max大于信號(hào)中最高頻率fmax的2倍時(shí)(fs.max≥2fmax),采樣后的數(shù)字信號(hào)完整保留了原始信號(hào)中的信息。一般講采集頻率為信號(hào)最高頻率的3~4倍。本系統(tǒng)要求中頻信號(hào)帶寬為0~2 MHz,則采樣率最高為8 MSPS,而AD9252最高采樣率為50 MSPS,可以保證頻譜不會(huì)發(fā)性混疊。
②SFDR和SNR指標(biāo)。AD9252無雜散動(dòng)態(tài)范圍SFDR為84 dBc(to Nyquist);信噪比(SNR)為73 dB(to Nyquist),滿足系統(tǒng)要求。
③多通道之間同步問題。單個(gè)板卡上實(shí)現(xiàn)8路信號(hào)采集必然涉及到采集同步問題,如果使用多個(gè)芯片實(shí)現(xiàn),還需要考慮芯片間的時(shí)鐘同步問題,增加了PCB設(shè)計(jì)的難度,因此選擇單芯片設(shè)計(jì)是最佳選擇。AD9252就是一款8通道的采集芯片,每個(gè)通道采用Serial LVDS傳輸數(shù)據(jù),實(shí)現(xiàn)簡(jiǎn)單且抗干擾性強(qiáng),并且減小了實(shí)現(xiàn)通道間同步采集的難度,只需要保證各模擬輸入接口到芯片相應(yīng)通道管腳的鏈路間信號(hào)延遲接近即可,不用專門設(shè)計(jì)同步時(shí)鐘電路[7,8]。
在設(shè)計(jì)中選用FPGA完成對(duì)ADC芯片控制和數(shù)據(jù)交互,對(duì)采集數(shù)據(jù)進(jìn)行數(shù)字濾波處理,實(shí)現(xiàn)與PCI9054橋芯片及FIFO的信息交互等功能,根據(jù)設(shè)計(jì)需要可在FPGA內(nèi)實(shí)現(xiàn)更多的數(shù)據(jù)處理和算法功能。
基于以上考慮,選用XILINX公司的Virtex5系列芯片(XC5VSX50T-2FFG665I),該芯片具有8 160個(gè)Virtex-5 Slices、4 752 Kb的 RAM、288 個(gè)DSP48E Slices(其中每一個(gè)DSP48E Slices包含一個(gè)25×18的乘法器、一個(gè)加法器及一個(gè)累加器)以及其他大量資源,設(shè)計(jì)中的8路數(shù)字濾波器耗用資源最多的,基本占用了接近一半的資源。該芯片可以很好地支持多種電平標(biāo)準(zhǔn),方便與其他芯片互聯(lián),硬件上設(shè)計(jì)簡(jiǎn)單。可靠性高、功耗低及環(huán)境適應(yīng)性等方面都滿足設(shè)計(jì)要求[9]。
步話機(jī)里傳來前方斷斷續(xù)續(xù)的聲音:“報(bào)告師長(zhǎng),抓住五連一個(gè)逃兵,其余弟兄全部陣亡。全部陣亡。逃兵怎么處置,請(qǐng)師長(zhǎng)指示?!?/p>
在橋芯片選擇上主要基于以下考慮:
CPCI規(guī)范中規(guī)定 CPCI系統(tǒng)有 33 MHz和66 MHz兩種,數(shù)據(jù)位寬有32 bit和64 bit兩種。4個(gè)采集卡需要同時(shí)工作,通過分時(shí)復(fù)用共享CPCI總線帶寬,所以需要選擇合適的總線頻率和總線位寬才能滿足需求。
為了使8路AD采集卡有更強(qiáng)的適應(yīng)性,設(shè)計(jì)中增加了CPCI接口中的J2作為自定義接口,這樣模擬信號(hào)既可以從前面板輸入,也可以通過自定義底板傳輸?shù)?路AD采集卡中,因此CPCI總線只能選擇32位總線。
根據(jù)系統(tǒng)要求估算每個(gè)采集通道每秒傳輸2 MB數(shù)據(jù),32個(gè)通道每秒傳輸64 MB數(shù)據(jù),因此需要總線帶寬大于64 MB即可。在總線帶寬理論上的簡(jiǎn)單計(jì)算公式是:帶寬=(總線頻率×數(shù)據(jù)位寬)/8,單位是MB/s,因此 33 MHz、32位的總線帶寬極值為132 MB/s,66 MHz、64位的總線帶寬極值為528 MB/s,根據(jù)最終設(shè)計(jì)的單個(gè)采集卡測(cè)試,采用DMA傳輸方式,在保證不丟失數(shù)據(jù)的前提下,可實(shí)現(xiàn)最高90 MB/s的數(shù)據(jù)傳輸率,所以總線選擇32 bit,33 MHz可滿足信號(hào)采集平臺(tái)總線數(shù)據(jù)吞吐率的要求。
該平臺(tái)主要由一個(gè)CPCI主板和4塊采集卡構(gòu)成。之所以采用多塊采集實(shí)現(xiàn)32路采集,基于以下幾點(diǎn)考慮:設(shè)計(jì)單塊采集卡實(shí)現(xiàn)8路信號(hào)采集功能比設(shè)計(jì)單卡直接實(shí)現(xiàn)32路信號(hào)采集功能更容易,尤其是器件選型方面優(yōu)勢(shì)明顯,能夠?qū)慰ㄔO(shè)計(jì)的指標(biāo)更高,總體性能指標(biāo)很好保證,而且由于板卡尺寸的限制,前檔板空間有限,模擬信號(hào)的接插件更容易選擇方便操作和維護(hù)的型號(hào)。并且這種設(shè)計(jì)使得平臺(tái)適應(yīng)性很強(qiáng),通過增加或減少采集卡個(gè)數(shù)滿足模擬通道路數(shù)不同采集應(yīng)用需求,在可靠性和維修等方面優(yōu)勢(shì)也很明顯。
該平臺(tái)主要由4塊8路采集卡、1塊CPCI主板(即單板計(jì)算機(jī))及4U CPCI機(jī)箱組成,可以對(duì)32路模擬信號(hào)同時(shí)進(jìn)行采集和處理,并能通過CPCI總線傳給主板進(jìn)行相關(guān)處理,其原理框圖如圖2所示。
圖2 32路采集平臺(tái)原理
2.2.1 驅(qū)動(dòng)
板卡上采用了PCI9054,同時(shí)PLX提供了PLXMON 軟件(V3.5),9054 的驅(qū)動(dòng)(Pci9054.sys),inf文件(PciSdk.inf),還有庫(kù)函數(shù)。將 PCI9054配制文件導(dǎo)入PLXMON軟件中,根據(jù)需求進(jìn)行修改,設(shè)置LocalDesAdrr為不同值,分別對(duì)應(yīng)于卡1到卡4,并且需要在PciSdk文件中Driver information一項(xiàng)中添加相應(yīng)信息,安裝完成后可以在設(shè)備管理器中看到4個(gè)板卡設(shè)備。
2.2.2 采集軟件設(shè)計(jì)
采集軟件主要是將4塊采集卡的數(shù)據(jù)進(jìn)行錄取、解包、存儲(chǔ)和數(shù)據(jù)分析。PLX公司在提供驅(qū)動(dòng)的同時(shí)還提供了相應(yīng)的庫(kù)函數(shù),通過“封裝”、調(diào)用這些函數(shù)可以實(shí)現(xiàn)與板卡的PCI接口通信,進(jìn)而實(shí)現(xiàn)采集控制和錄取數(shù)據(jù)等功能。通過PCI方式進(jìn)行參數(shù)設(shè)置,簡(jiǎn)單信息交互;通過DMA方式可以進(jìn)行大量數(shù)據(jù)傳輸,實(shí)現(xiàn)錄取數(shù)據(jù)功能。
2.2.3 8路采集卡CPCI接口程序設(shè)計(jì)
FPGA數(shù)據(jù)傳輸程序原理:接收主板計(jì)算機(jī)采集軟件發(fā)送的控制指令,包括選擇采集方式(通過同步脈沖信號(hào)觸發(fā)開始采集或軟件通過上發(fā)指令主動(dòng)開始采集),然后等待外部角觸發(fā)信號(hào)(同步脈沖信號(hào)脈沖或主板發(fā)送的主動(dòng)采集控制命令),信號(hào)到來后,首先發(fā)送低脈沖信號(hào)(MRS_FIFO)清空FIFO,然后將8路采集數(shù)據(jù)按規(guī)則打包,并發(fā)送給FIFO,當(dāng)FIFO半滿時(shí)半滿標(biāo)志(HF_FIFO)被置低,同時(shí)產(chǎn)生DMA中斷信號(hào)(INT),F(xiàn)PGA控制產(chǎn)生DMA讀時(shí)序,主板計(jì)算機(jī)DMA控制器響應(yīng)中斷,產(chǎn)生 LHOLD、ADS#、LW/R#和 LA[31..2]等信號(hào),F(xiàn)PGA控制FIFO將存儲(chǔ)容量一半(即256 KB)的數(shù)據(jù)通過9054傳給主板計(jì)算機(jī)采集軟件。采用同步脈沖信號(hào)觸發(fā)方式的數(shù)據(jù)傳輸控制邏輯時(shí)序圖如圖3所示。采集軟件通過PCI方式下發(fā)控制指令,可隨時(shí)結(jié)束采集過程[10-12]。
圖3 同步脈沖觸發(fā)模式下數(shù)據(jù)傳輸控制邏輯時(shí)序
2.2.4 采集數(shù)據(jù)檢驗(yàn)
為了防止采集數(shù)據(jù)丟失、錯(cuò)誤以及板卡間數(shù)據(jù)錯(cuò)亂,在對(duì)采集數(shù)據(jù)打包過程中加入了標(biāo)志字和校驗(yàn)數(shù)據(jù),與8個(gè)通道采集數(shù)據(jù)組一幀,每幀數(shù)據(jù)內(nèi)容依次是標(biāo)志字、8通道采集數(shù)據(jù)和幀校驗(yàn)數(shù)據(jù)。標(biāo)志字包括板卡代號(hào)信息和簡(jiǎn)單計(jì)數(shù)信息,例如:“A000”表示卡1第1組數(shù)據(jù),“CFFF”表示卡3第4 096組數(shù)據(jù);幀檢驗(yàn)字即對(duì)幀內(nèi)前9個(gè)數(shù)據(jù)按位異或得到的結(jié)果。通過板卡代號(hào)信息可以判別采集軟件采集到的數(shù)據(jù)分別來自哪個(gè)板卡,防止板卡間數(shù)據(jù)錯(cuò)亂;通過計(jì)數(shù)信息可以知道有無丟幀,保證數(shù)據(jù)完整性;通過校驗(yàn)字可以確保數(shù)據(jù)傳輸正確。上述判別功能在采集軟件中實(shí)現(xiàn)。
經(jīng)工程應(yīng)用檢驗(yàn),該方法能很好的確保數(shù)據(jù)正確傳輸,使用過程中沒有卡間錯(cuò)亂和丟幀等問題。
詳細(xì)介紹了32路采集平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn),對(duì)軟硬件設(shè)計(jì)中的若干問題作了說明和分析,并提出了實(shí)現(xiàn)方案,通過平臺(tái)采集軟件可實(shí)現(xiàn)對(duì)采集平臺(tái)具體工作模式的配制,滿足不同的應(yīng)用需求,因此該采集平臺(tái)有較好的適應(yīng)能力,并體現(xiàn)了系統(tǒng)可重構(gòu)的思想,應(yīng)用面廣,較好地滿足了工程應(yīng)用中對(duì)較多路信號(hào)采集的需求。同時(shí)通過Matlab對(duì)錄取的數(shù)據(jù)進(jìn)行綜合分析,該平臺(tái)很好地滿足了工程技術(shù)需求,具有較高噪比,低誤碼率,采集通道間同步性好等特點(diǎn),這些特點(diǎn)在工程應(yīng)用中已經(jīng)得到了體現(xiàn)。
[1] PICMG2.0D3.0 CompactPCI Specification[S],1999.
[2] 孫國(guó)良.基于FPGA的CPCI接口數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[D].北京:北京郵電大學(xué),2009:17 -33.
[3] 張 奕,余海龍,譚劍美.四通道高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2012(9):10-12.
[4] 楊林楠,李紅剛,張麗蓮,等.基于FPGA的高速多路數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].計(jì)算機(jī)工程 ,2007(7):35-37.
[5] 張 博,段哲民.基于 FPGA的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2012(7):86 -88.
[6] 白同云.高速PCB電源完整性研究[J].中國(guó)電子科學(xué)研究院學(xué)報(bào),2006(1):22-30.
[7] 杜建和.基于FPGA的高速信號(hào)采集與處理系統(tǒng)[D].云南:云南大學(xué),2010:16 -17.
[8] 唐玉蓉.基于FPGA的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2012:9-12.
[9] 郭金鵬,王蘊(yùn)珠.大容量FPGA設(shè)計(jì)方法探討[J].無線電工程,2008,38(1):51 -54.
[10]梁九鵬,李永亮,鄭 佳.FPGA器件中PLL的設(shè)計(jì)應(yīng)用[J].無線電工程,2007,37(9):62 -64.
[11]周銀祥.基于U盤和單片機(jī)的FPGA安全配置的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2010:1-4.
[12]齊懷龍.基于多 FPGA邏輯仿真系統(tǒng)的研究[D].重慶:重慶大學(xué),2010:6-8.