国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的中頻采集系統(tǒng)設(shè)計(jì)

2010-04-26 02:32黃建國(guó)
中國(guó)測(cè)試 2010年5期
關(guān)鍵詞:存儲(chǔ)器數(shù)據(jù)流上位

姜 磊,黃建國(guó),李 力

(電子科技大學(xué)自動(dòng)化工程學(xué)院,四川 成都 611731)

1 引 言

目前,數(shù)據(jù)采集系統(tǒng)大多采用DSP作為核心控制芯片,控制ADC、存儲(chǔ)器和其他外圍電路工作。但是DSP的各種功能要靠軟件的運(yùn)行來(lái)實(shí)現(xiàn),執(zhí)行的速度和效率較低,軟件運(yùn)行時(shí)間在整個(gè)采樣時(shí)間中占很大的比例。而FPGA(現(xiàn)場(chǎng)可編程門陣列)有著DSP無(wú)法比擬的優(yōu)勢(shì)。FPGA時(shí)鐘頻率高,內(nèi)部延時(shí)小,全部控制邏輯由硬件完成,速度快,效率高。該文設(shè)計(jì)了一種基于FPGA的中頻數(shù)據(jù)采集系統(tǒng),實(shí)現(xiàn)了FPGA內(nèi)部邏輯設(shè)計(jì)在中頻采集系統(tǒng)中的應(yīng)用。

2 中頻采集系統(tǒng)硬件設(shè)計(jì)

該中頻采集系統(tǒng)用于對(duì)前端下變頻模塊輸出的中頻調(diào)制信號(hào)進(jìn)行高速數(shù)據(jù)采集,同時(shí)實(shí)現(xiàn)數(shù)據(jù)的總線上傳,即將數(shù)據(jù)通過(guò)CPCI總線上傳給計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理與分析。其硬件系統(tǒng)構(gòu)成主要包括信號(hào)調(diào)理通道、模數(shù)轉(zhuǎn)換電路、FPGA控制電路、存儲(chǔ)電路、CPCI接口電路、晶振電路以及電源管理電路等??刂朴?jì)算機(jī)通過(guò)CPCI總線與FPGA進(jìn)行通信,將控制命令發(fā)送給FPGA。FPGA的譯碼控制邏輯收到傳來(lái)的數(shù)據(jù)后,讀取控制數(shù)據(jù),以確定要執(zhí)行的操作,如信號(hào)衰減、信號(hào)放大、開(kāi)始采集等。在FPGA內(nèi)部邏輯的控制下,數(shù)據(jù)存入存儲(chǔ)器,并通過(guò)總線送到上位機(jī)待分析處理。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。

該中頻采集系統(tǒng)采用FPGA作為整個(gè)系統(tǒng)的控制核心。CycloneII EP2C35F672I8是Altera公司生產(chǎn)的一款具有較高性價(jià)比的FPGA芯片,它采用Stratix架構(gòu),使用90 nm工藝生產(chǎn),具有33216個(gè)LE,105個(gè)M4K單元,4個(gè)PLL以及14DQS/DQ8模塊。另外,其I/O管腳可以直接與系統(tǒng)中使用的其他芯片相連而不需要進(jìn)行電平轉(zhuǎn)換。該款FPGA的內(nèi)部資源以及管腳數(shù)量能夠完全滿足此案的設(shè)計(jì)需求,故選用該款FPGA作為主控邏輯芯片。

信號(hào)調(diào)理通道可以實(shí)現(xiàn)對(duì)信號(hào)10 dB、20 dB的衰減和10倍放大,可通過(guò)FPGA進(jìn)行控制,將信號(hào)調(diào)理在ADC轉(zhuǎn)換的電壓范圍內(nèi)。ADC選用ADI公司推出的高速、低功耗的AD9430,采樣時(shí)鐘最高可達(dá)210MHz,分辨率12位,支持差分輸入電壓,范圍為-768~+768 mV。存儲(chǔ)器采用了Micron公司的DDR SDRAM芯片MT46V32M16。MT46V32M16為16位數(shù)據(jù)寬度,存儲(chǔ)容量為512 Mb,差分時(shí)鐘輸入,突發(fā)傳輸長(zhǎng)度可配置為2,4,8,最低工作頻率為75MHz。CPCI接口芯片選用PCI9054。

圖1 中頻采集系統(tǒng)硬件結(jié)構(gòu)示意圖

3 中頻采集系統(tǒng)邏輯設(shè)計(jì)

3.1 總體邏輯設(shè)計(jì)

作為整個(gè)系統(tǒng)的控制核心,F(xiàn)PGA起著前端通道控制、數(shù)據(jù)緩存、數(shù)據(jù)存儲(chǔ)控制、總線接口控制的作用。FPGA通過(guò)CPCI總線接口接收來(lái)自上位機(jī)發(fā)送的命令,控制前端信號(hào)調(diào)理通道,使信號(hào)調(diào)整在ADC檢測(cè)的范圍內(nèi)。上位機(jī)發(fā)送開(kāi)始采集的命令后,F(xiàn)PGA開(kāi)始將ADC采集到的數(shù)據(jù)讀入內(nèi)部,但是由于前端ADC輸出的數(shù)據(jù)流為200MB/s的12位數(shù)據(jù),這與后端的DDR SDRAM存儲(chǔ)器240 MB/s的存儲(chǔ)速率不匹配,不能直接存儲(chǔ),所以先將數(shù)據(jù)在FPGA內(nèi)部FIFO中做緩存,同時(shí)內(nèi)部的DDR SDRAM控制模塊將緩存的數(shù)據(jù)存入外部DDR SDRAM中,一共存儲(chǔ)64MB不間斷的數(shù)據(jù)。當(dāng)外部存儲(chǔ)器存滿后,將發(fā)送滿信號(hào)給上位機(jī),告知上位機(jī)數(shù)據(jù)可以讀取。這時(shí),上位機(jī)就會(huì)發(fā)送讀數(shù)據(jù)命令。同樣,存儲(chǔ)器讀數(shù)據(jù)的速率與CPCI總線40 MHz傳輸?shù)乃俾什黄ヅ?,F(xiàn)PGA也將存儲(chǔ)器中的數(shù)據(jù)分若干次讀進(jìn)內(nèi)部的緩存FIFO中,每次FIFO寫滿后發(fā)中斷給上位機(jī),上位機(jī)接收到中斷后就使用DMA方式將數(shù)據(jù)從FPGA緩存FIFO中讀出數(shù)據(jù),直到將存儲(chǔ)器中的數(shù)據(jù)讀完為止,整個(gè)數(shù)據(jù)采集過(guò)程結(jié)束。FPGA內(nèi)部總體邏輯示意圖如圖2所示。

3.2 譯碼及控制邏輯

上位機(jī)對(duì)硬件電路的操作都是通過(guò)對(duì)PCI9054進(jìn)行地址譯碼實(shí)現(xiàn)的,所以首先要分配地址空間,以區(qū)分對(duì)硬件中不同功能電路的操作。操作人員通過(guò)上位機(jī)把相應(yīng)的操作命令發(fā)下來(lái),經(jīng)過(guò)PCI9054橋接芯片后送給FPGA內(nèi)部的地址譯碼電路,地址譯碼電路將相應(yīng)的操作命令轉(zhuǎn)換為對(duì)應(yīng)的控制信號(hào)送給相應(yīng)的功能電路,實(shí)現(xiàn)對(duì)模塊的控制。設(shè)計(jì)中利用可編程邏輯器件實(shí)現(xiàn)地址譯碼電路的設(shè)計(jì)。

3.3 數(shù)據(jù)緩存

數(shù)據(jù)緩存是數(shù)據(jù)流處理上一個(gè)關(guān)鍵的部分,是實(shí)現(xiàn)數(shù)據(jù)流無(wú)縫存儲(chǔ)的前提。由于前端ADC采集速率達(dá)200MHz,存儲(chǔ)器不能實(shí)時(shí)將數(shù)據(jù)存儲(chǔ),需將數(shù)據(jù)先做緩存處理。該采集系統(tǒng)的數(shù)據(jù)緩存采用“乒乓操作”。乒乓操作是在輸入數(shù)據(jù)流選擇單元和輸出數(shù)據(jù)流選擇單元按節(jié)拍相互配合切換,將經(jīng)過(guò)緩沖的數(shù)據(jù)流沒(méi)有時(shí)間停頓地送到運(yùn)算處理單元,進(jìn)行運(yùn)算和處理。把乒乓操作模塊當(dāng)作一個(gè)整體,站在這個(gè)模塊的兩端看數(shù)據(jù),輸入數(shù)據(jù)流和輸出數(shù)據(jù)流都是連續(xù)不斷的,沒(méi)有任何停頓,因此非常適合對(duì)數(shù)據(jù)流進(jìn)行流水線式處理。

該設(shè)計(jì)中采用異步FIFO作為數(shù)據(jù)緩存單元,來(lái)匹配乒乓操作前后端數(shù)據(jù)流速率不同的問(wèn)題。如圖3所示,實(shí)際電路中將前端ADC采集的200MHz的數(shù)據(jù)流,降頻為兩個(gè)100MHz的數(shù)據(jù)流,每個(gè)100MHz的數(shù)據(jù)流需要兩個(gè)FIFO進(jìn)行乒乓操作,故電路中需要4個(gè)異步FIFO進(jìn)行乒乓操作,其中每個(gè)FIFO的大小設(shè)置為4K×12bit。調(diào)試中需要注意的是數(shù)據(jù)的切換及銜接問(wèn)題,保證數(shù)據(jù)流的連續(xù)性。乒乓操作仿真波形圖如圖4所示。其中為了仿真方便,異步FIFO的大小設(shè)置為32×12 bit,數(shù)據(jù)經(jīng)過(guò)乒乓操作緩沖后輸出是連續(xù)的。

圖2 FPGA邏輯示意圖

圖3 乒乓操作示意圖

圖4 乒乓操作時(shí)序仿真波形圖

3.4 數(shù)據(jù)存儲(chǔ)

數(shù)據(jù)存儲(chǔ)是該設(shè)計(jì)的重點(diǎn)和難點(diǎn),也是數(shù)據(jù)采集的核心部分,F(xiàn)PGA邏輯實(shí)現(xiàn)主要由DDR SDRAM控制器和接口模塊組成。DDR SDRAM控制器的功能是根據(jù)DDR SDRAM的工作原理,控制DDR SDRAM正確的工作,將前端AD采集的數(shù)據(jù)正確的存入DDR SDRAM中,并能夠正確的讀入上位機(jī)進(jìn)行分析。存儲(chǔ)器控制模塊主要包括初始化模塊、外部刷新模塊、主控制模塊、地址產(chǎn)生模塊及命令產(chǎn)生模塊5個(gè)部分。其結(jié)構(gòu)框圖如圖5所示。

圖5 DDR SDRAM控制器組成框圖

初始化操作主要確定DDR SDRAM的CAS潛伏期(CL)、突發(fā)傳輸模式、突發(fā)長(zhǎng)度(BL)等。刷新模塊根據(jù)DDR SDRAM工作時(shí)鐘為120 MHz的情況設(shè)計(jì)為兩種刷新模式,一種是空閑狀態(tài)的短刷新,刷新時(shí)間83μs;另一種為讀寫滿4行的長(zhǎng)刷新,刷新時(shí)間為333μs。這樣的設(shè)計(jì)完全滿足DDR SDRAM手冊(cè)規(guī)定的64ms對(duì)所有行刷新一次的要求。主控模塊主要完成DDR SDRAM的讀寫控制。在對(duì)DDR SDRAM進(jìn)行讀寫操作之前,都要經(jīng)過(guò)激活狀態(tài),然后經(jīng)過(guò)所要求的時(shí)間延遲后轉(zhuǎn)入寫或者讀的狀態(tài),當(dāng)一行讀寫完畢后,進(jìn)入預(yù)充電狀態(tài)。如果沒(méi)有完成預(yù)設(shè)的讀寫深度,則再度重復(fù)進(jìn)入激活狀態(tài),打開(kāi)下一行,重復(fù)這一過(guò)程;如果達(dá)到了預(yù)設(shè)的讀寫深度,則轉(zhuǎn)入長(zhǎng)刷新?tīng)顟B(tài),刷新結(jié)束后,如果外部有讀寫請(qǐng)求,就轉(zhuǎn)入激活狀態(tài),重復(fù)上面的過(guò)程。所不同的是,在對(duì)DDR SDRAM進(jìn)行寫操作時(shí),寫深度為4行,即寫滿4行后進(jìn)行一次長(zhǎng)刷新;對(duì)DDR SDRAM進(jìn)行讀操作時(shí),讀深度為2行。

Altera公司的FPGA內(nèi)部有專門的DDR SDRAM接口電路,并且其開(kāi)發(fā)工具QuartusII軟件也提供了宏功能模塊alt_dq和alt_dqs,用戶只需要正確的設(shè)置參數(shù),就可以生成所需要的接口模塊,并且可以更好地滿足DDR SDRAM的時(shí)序要求。

3.5 總線傳輸

數(shù)據(jù)及控制信號(hào)通過(guò)CPCI總線與上位機(jī)進(jìn)行連接。其中控制信號(hào)與數(shù)據(jù)的傳輸方式有所不同,控制信號(hào)使用CPCI總線的單次寫方式,而采集數(shù)據(jù)由于數(shù)據(jù)量較大,不能采用單次讀的方式,需要使用CPCI總線的DMA數(shù)據(jù)傳輸模式。進(jìn)行DMA數(shù)據(jù)模式傳輸是PCI9054的一大特點(diǎn)。DMA是Direct Memory Access(直接內(nèi)存訪問(wèn))的縮寫,是一種不通過(guò)CPU而直接從內(nèi)存進(jìn)行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)交換模式,可以大大節(jié)省系統(tǒng)資源。

圖6 DMA傳輸時(shí)序圖

圖7 數(shù)據(jù)采集波形

圖8 中頻信號(hào)解調(diào)結(jié)果

當(dāng)數(shù)據(jù)寫滿外部DDR SDRAM存儲(chǔ)器后,數(shù)據(jù)狀態(tài)寄存器置1,通知上位機(jī)數(shù)據(jù)已準(zhǔn)備好,可以讀取上位機(jī)則發(fā)出讀命令給DDR SDRAM控制器。DDR SDRAM控制器接收到讀命令后,從DDR SDRAM存儲(chǔ)器中讀取數(shù)據(jù)寫到FPGA內(nèi)部的緩存FIFO中,緩存FIFO大小設(shè)置為1K×32bit。待緩存FIFO寫滿后發(fā)出中斷給上位機(jī),上位機(jī)接收到FIFO的滿中斷就開(kāi)始以DMA數(shù)據(jù)傳輸模式傳輸數(shù)據(jù),DMA設(shè)置傳輸數(shù)據(jù)大小為1K×32bit,由于是對(duì)FIFO操作,可以忽略地址信號(hào)。當(dāng)數(shù)據(jù)傳輸完畢時(shí),停止DMA傳輸,DDR SDRAM控制器檢測(cè)到FIFO空信號(hào)后又繼續(xù)從DDR SDRAM存儲(chǔ)器中再讀取1K×32bit的數(shù)據(jù)存入FIFO,重復(fù)之前的操作,直到將存儲(chǔ)器中64M×8bit的數(shù)據(jù)全部讀完,上位機(jī)停止讀數(shù)據(jù)的操作。圖6為使用QuartusII中SignalTapII工具采集的DMA傳輸時(shí)序圖。

4 實(shí)驗(yàn)分析

在實(shí)際的實(shí)驗(yàn)中,輸入信號(hào)使用Agilent的E4438C矢量信號(hào)源模擬60 MHz的中頻調(diào)制信號(hào),調(diào)制方式為 ASK 方式,脈寬為 4 μs,周期為 20 μs,信號(hào)功率為10 dB。上層軟件設(shè)置前端固定衰減10 dB,然后發(fā)出采集命令。待底層硬件采集完成后,上層軟件自動(dòng)將數(shù)據(jù)通過(guò)CPCI總線讀入計(jì)算機(jī)的內(nèi)存中并進(jìn)行顯示與分析。圖7是通過(guò)上層軟件顯示的采集到的ASK調(diào)制信號(hào)波形結(jié)果。圖8是上層軟件使用采集數(shù)據(jù)對(duì)中頻信號(hào)解調(diào)的結(jié)果。實(shí)驗(yàn)結(jié)果說(shuō)明,該系統(tǒng)較好地完成了大容量中頻數(shù)據(jù)采集的功能,可以滿足上層軟件分析的需要。

5 結(jié)束語(yǔ)

該設(shè)計(jì)以一片Alatra公司的FPGA芯片EP2C35F672I8為核心,配以外圍的信號(hào)調(diào)理電路、模數(shù)轉(zhuǎn)換電路、存儲(chǔ)電路、CPCI接口電路,實(shí)現(xiàn)了中頻調(diào)制信號(hào)的數(shù)據(jù)采集及存儲(chǔ),并完成了與上位計(jì)算機(jī)的通信。該系統(tǒng)控制邏輯全部在一片F(xiàn)PGA芯片內(nèi)部實(shí)現(xiàn)的,發(fā)揮了FPGA的優(yōu)勢(shì),提高了系統(tǒng)的穩(wěn)定性、集成度,增強(qiáng)了抗干擾能力。利用多片ADC器件流水采樣的方法,完全可以實(shí)現(xiàn)更高速更大容量信號(hào)的數(shù)據(jù)采集,這在高速大容量數(shù)據(jù)處理中具有較大的實(shí)用價(jià)值。

[1] 馮 萍,李秀華.基于FPGA的高速高精度數(shù)據(jù)采集系統(tǒng)的研究[J].中國(guó)科技信息,2008(21):105-106.

[2] 張會(huì)新,吳學(xué)慶,蔣紹鳳,等.基于FPGA的多通道同步數(shù)據(jù)采集存儲(chǔ)系統(tǒng)[J].電子設(shè)計(jì)工程,2009,17(7):68-70.

[3] 王 超.FPGA在實(shí)時(shí)信號(hào)采集系統(tǒng)中的應(yīng)用[J].計(jì)量與測(cè)試技術(shù),2008,35(5):47-49.

[4]王 鈿,卓興旺.基于Verilog HDL的數(shù)字系統(tǒng)應(yīng)用設(shè)計(jì)[M].北京:國(guó)防工業(yè)出版社,2006.

[5] 吳繼華,王 誠(chéng).Altera FPGA/CPLD設(shè)計(jì)(基礎(chǔ)篇)[M].北京:人民郵電出版社,2005.

[6] 吳繼華,王 誠(chéng).Altera FPGA/CPLD設(shè)計(jì)(高級(jí)篇)[M].北京:人民郵電出版社,2005.

[7] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程[M].北京:北京航空航天大學(xué)出版社,2008.

[8] 林 生,金京林.數(shù)字設(shè)計(jì)原理與實(shí)踐[M].北京:機(jī)械工業(yè)出版社,2003.

[9]李廣軍,林水生.微機(jī)系統(tǒng)原理與接口技術(shù)[M].成都:成都電子科技大學(xué)出版社,2005.

[10]馬明建.數(shù)據(jù)采集與處理技術(shù)[M].西安:西安交通大學(xué)出版社,2006.

猜你喜歡
存儲(chǔ)器數(shù)據(jù)流上位
靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
汽車維修數(shù)據(jù)流基礎(chǔ)(上)
汽車維修數(shù)據(jù)流基礎(chǔ)(下)
特斯拉 風(fēng)云之老阿姨上位
“三扶”齊上位 決戰(zhàn)必打贏
基于ZigBee和VC上位機(jī)的教室智能監(jiān)測(cè)管理系統(tǒng)
任意2~k點(diǎn)存儲(chǔ)器結(jié)構(gòu)傅里葉處理器
基于數(shù)據(jù)流的結(jié)構(gòu)化功能安全分析方法
北醫(yī)三院 數(shù)據(jù)流疏通就診量
存儲(chǔ)器——安格爾(墨西哥)▲
巫山县| 兰州市| 利津县| 五家渠市| 萨嘎县| 嘉禾县| 金溪县| 静海县| 松阳县| 桐柏县| 湄潭县| 三穗县| 施甸县| 金塔县| 离岛区| 喀喇| 双江| 玛曲县| 屯门区| 嘉黎县| 大关县| 罗田县| 克东县| 禄丰县| 南昌市| 乌拉特后旗| 大兴区| 丹凤县| 汪清县| 东方市| 三河市| 荔浦县| 桦川县| 惠东县| 阿图什市| 南安市| 石嘴山市| 运城市| 乌什县| 元谋县| 大英县|